From e834e09d46707a123e831fdce6f642d41910eab3 Mon Sep 17 00:00:00 2001 From: Hyyan Abo Fakher Date: Thu, 18 Jul 2019 13:19:36 +0200 Subject: [PATCH] perf: reduce response sizes sent from the client --- BBjGridExWidget.bbj | 2 +- BBjGridExWidgetClientJsonFactory.bbj | 20 +++++++++---------- client/dist/bbj-grid-widget.js | 29 ++++++++++++++++------------ client/dist/bbj-grid-widget.min.js | 6 +++--- client/dist/report.html | 2 +- client/src/api/menus.js | 2 +- client/src/api/rows.js | 2 +- client/src/events/utilities.js | 12 ++++++------ 8 files changed, 40 insertions(+), 35 deletions(-) diff --git a/BBjGridExWidget.bbj b/BBjGridExWidget.bbj index e9851ac2..c22ecd46 100644 --- a/BBjGridExWidget.bbj +++ b/BBjGridExWidget.bbj @@ -3219,7 +3219,7 @@ class public BBjGridExWidget extends BBjWidget implements BBjGridExWidgetColumns cell! = #getClientJsonFactory().getCell(parsedCell!) event! = new BBjGridExWidgetClientEventsContextMenu() event!.setCell(cell!) - #fireEvent(parsedCell!.get("id").getAsInt(),event!) + #fireEvent(parsedCell!.get("i").getAsInt(),event!) methodend rem /** rem * On cell Event. handles cell clicking and editing events diff --git a/BBjGridExWidgetClientJsonFactory.bbj b/BBjGridExWidgetClientJsonFactory.bbj index 7a074559..2591e8b7 100644 --- a/BBjGridExWidgetClientJsonFactory.bbj +++ b/BBjGridExWidgetClientJsonFactory.bbj @@ -55,11 +55,11 @@ class public BBjGridExWidgetClientJsonFactory declare BBjGridExWidgetClientRowModel row! row! = new BBjGridExWidgetClientRowModel(#getWidget()) - row!.setId(json!.get("id").getAsString(),err=*next) - row!.setChildIndex(json!.get("childIndex").getAsInt(),err=*next) - row!.setIndex(json!.get("index").getAsString(),err=*next) - row!.setParentKey(json!.get("parentKey").getAsString(),err=*next) - row!.setIsSelected(iff(json!.get("selected").getAsString() = "true" , 1 , 0) , err=*next) + row!.setId(json!.get("i").getAsString(),err=*next) + row!.setIndex(json!.get("x").getAsString(),err=*next) + row!.setChildIndex(json!.get("c").getAsInt(),err=*next) + row!.setParentKey(json!.get("p").getAsString(),err=*next) + row!.setIsSelected(iff(json!.get("s").getAsString() = "true" , 1 , 0) , err=*next) methodret row! methodend rem /** @@ -95,9 +95,9 @@ class public BBjGridExWidgetClientJsonFactory rem */ method public BBjGridExWidgetClientCellModel getCell(JsonObject json!) cell! = new BBjGridExWidgetClientCellModel() - cell!.setColumn(#getColumn(json!.get("column").getAsString())) - cell!.setRow(#getRow(json!.get("row").getAsJsonObject())) - cell!.setValue(json!.get("value").getAsString()) + cell!.setColumn(#getColumn(json!.get("c").getAsString())) + cell!.setRow(#getRow(json!.get("r").getAsJsonObject())) + cell!.setValue(json!.get("v").getAsString()) methodret cell! methodend rem /** @@ -125,14 +125,14 @@ class public BBjGridExWidgetClientJsonFactory rem a model which describes the range object rangeModel! = new BBjGridExWidgetClientRangeSelectionModel() rem loop over the range columns and create a column model for each one - columns! = json!.get("columns").getAsJsonArray() + columns! = json!.get("c").getAsJsonArray() columnsIterator! = columns!.iterator() while(columnsIterator!.hasNext()) rem create a column model and add it to the range rangeModel!.getColumns().add(#getColumn(columnsIterator!.next().getAsString())) wend rem loop over the range rows and create a row model for each one - rows! = json!.get("rows").getAsJsonArray() + rows! = json!.get("r").getAsJsonArray() rowsIterator! = rows!.iterator() while(rowsIterator!.hasNext()) rem create a row model and add it to the range diff --git a/client/dist/bbj-grid-widget.js b/client/dist/bbj-grid-widget.js index 1f4306b9..9af0cef2 100644 --- a/client/dist/bbj-grid-widget.js +++ b/client/dist/bbj-grid-widget.js @@ -11477,10 +11477,10 @@ function gw_getContextMenu(gridId, params) { (0, _utilities2.gw_sendEvent)((0, _utilities.gw_getGrid)(gridId).options.context, { 'type': 'gw.contextmenu', 'detail': JSON.stringify({ - row: node, - column: colId, - value: value, - id: id + r: node, + c: colId, + v: value, + i: id }) }, id); }; @@ -11845,8 +11845,8 @@ function gw_getRangeSelections(id) { if (rows.length && columns.length) { result.push({ - rows: rows, - columns: columns + r: rows, + c: columns }); } //} @@ -12643,11 +12643,16 @@ function gw_parseNode(node, context) { var rowNodeId = context.hasOwnProperty('getRowNodeId') && node.data[context.getRowNodeId] ? node.data[context.getRowNodeId] : ''; return { - id: rowNodeId ? rowNodeId : node.id, - index: rowNodeId, - parentKey: node.hasOwnProperty('parent') && node.parent.hasOwnProperty('key') ? node.parent.key : '', - childIndex: node.childIndex, - selected: Boolean(node.selected) + i: rowNodeId ? rowNodeId : node.id, + // id + x: rowNodeId, + // index + p: node.hasOwnProperty('parent') && node.parent.hasOwnProperty('key') ? node.parent.key : '', + // parent key + c: node.childIndex, + //childIndex + s: Boolean(node.selected) // selected + }; } /** @@ -12820,4 +12825,4 @@ module.exports = __webpack_require__(/*! ./src/index.js */"./src/index.js"); /***/ }) /******/ }))); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzP2I0MzYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcz9jZGMxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzP2I5MzAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzPzA5NTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3M/M2Y1NiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3M/OGM0ZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzPzdkMDAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcz8xMWFlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2Zvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL251bWJlci9pcy1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL3N0cmluZy9zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmljdC1tZXRob2QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWxlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZWVwLXBhcnNlLWpzb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tcG9uZW50cy9kaXN0L2FnYy1iYXNpYy5idW5kbGUuanMtZXhwb3NlZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanNzL2pzcy5qcy1leHBvc2VkIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qc3MvanNzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcHBseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcnJheUxpa2VLZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2FycmF5TWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VBc3NpZ25WYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlR2V0VGFnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VJc0FyZ3VtZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlSXNOYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VQcm9wZXJ0eU9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VSZXN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VTZXRUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVGltZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VVbmFyeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVmFsdWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvcHlPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY29yZUpzRGF0YS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jdXN0b21EZWZhdWx0c0Fzc2lnbkluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2RlZmluZVByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZUh0bWxDaGFyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZVN0cmluZ0NoYXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZnJlZUdsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXROYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0UHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2dldFJhd1RhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXRWYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc0luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzSXRlcmF0ZWVDYWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzTWFza2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzUHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25hdGl2ZUtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fbmF0aXZlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25vZGVVdGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX29iamVjdFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX292ZXJBcmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fb3ZlclJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFc2NhcGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFdmFsdWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19yZUludGVycG9sYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3Jvb3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2V0VG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2hvcnRPdXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fdG9Tb3VyY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hc3NpZ25JbldpdGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hdHRlbXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvY29uc3RhbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9lcS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2VzY2FwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lkZW50aXR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0FycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcnJheUxpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0J1ZmZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzRXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0Z1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNMZW5ndGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc09iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzT2JqZWN0TGlrZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzUGxhaW5PYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2tleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9rZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9zdHViRmFsc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90ZW1wbGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL3RlbXBsYXRlU2V0dGluZ3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90b1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc3R5bGUvY2xhc3Nlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL3VybHMuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY2VsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jb2x1bW5zLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY29udGV4dC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvaW5pdC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2pzcy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL21lbnVzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvb3ZlcmxheXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9yb3dzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9zdGF0dXNiYXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS90b29scGFuZWwuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9jb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9lZGl0aW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9zZWxlY3Rpb25zLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9wb2x5ZmlsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlL2NsYXNzZXMuY3NzP2I3MzgiXSwibmFtZXMiOlsiZGVlcFBhcnNlSnNvbiIsImpzb25TdHJpbmciLCJKU09OIiwicGFyc2UiLCJlcnIiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWwiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwib2JqIiwia2V5IiwibW9kdWxlIiwiZXhwb3J0cyIsImd3X3N0YXJ0RWRpdGluZ0NlbGwiLCJpZCIsInJvdyIsImNvbEtleSIsImNoYXIiLCJvcHRpb25zIiwiYXBpIiwic2V0Rm9jdXNlZENlbGwiLCJOdW1iZXIiLCJzdGFydEVkaXRpbmdDZWxsIiwicm93SW5kZXgiLCJrZXlQcmVzcyIsImNoYXJQcmVzcyIsImd3X3N0b3BFZGl0aW5nIiwiY2FuY2VsIiwic3RvcEVkaXRpbmciLCJnd19lZGl0TmV4dENlbGwiLCJ0YWJUb05leHRDZWxsIiwiZ3dfZWRpdFByZXZpb3VzQ2VsbCIsInRhYlRvUHJldmlvdXNDZWxsIiwiZ3dfc2V0Rm9jdXNlZENlbGwiLCJjb2x1bW4iLCJyIiwiaXNJbnRlZ2VyIiwiZ2V0Um93Tm9kZSIsImMiLCJjb2x1bW5BcGkiLCJnZXRBbGxHcmlkQ29sdW1ucyIsImNvbElkIiwicmVxdWlyZSIsImd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zIiwiZGVmaW5pdGlvbnMiLCJpIiwiZGVmIiwiY2hlY2tib3hTZWxlY3Rpb24iLCJnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveCIsImhlYWRlckNoZWNrYm94U2VsZWN0aW9uIiwiZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbiIsImd3X3NldENvbHVtbkRlZmluaXRpb25zIiwiZ3JpZCIsImRlZXBQYXJzZWREZWZpbml0aW9ucyIsInN0cmluZ2lmeSIsInNldENvbHVtbkRlZnMiLCJjb2x1bW5EZWZzIiwiZ3dfc2l6ZUNvbHVtbnNUb0ZpdCIsInNpemVDb2x1bW5zVG9GaXQiLCJnd19zZXRWaXNpYmxlQ29sdW1uIiwiY29sdW1uSWQiLCJlbnN1cmVDb2x1bW5WaXNpYmxlIiwiZ3dfc2V0Q29sdW1uV2lkdGgiLCJ3aWR0aCIsInNldENvbHVtbldpZHRoIiwiZ3dfcGluQ29sdW1uIiwicGluIiwic2V0Q29sdW1uUGlubmVkIiwiZ3dfbW92ZUNvbHVtbiIsInRvSW5kZXgiLCJtb3ZlQ29sdW1uIiwicGFyYW0iLCJjb250ZXh0Iiwic2hvd1NlbGVjdGlvbkNoZWNrYm94IiwiY29sdW1ucyIsImdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zIiwiY29sRGVmIiwiZmllbGQiLCJncmlkT3B0aW9uc1dyYXBwZXIiLCJncmlkT3B0aW9ucyIsInNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveCIsImd3X2FkZFJvd0dyb3VwQ29sdW1uIiwic2V0Iiwic3BsaXQiLCJ0cmltIiwiZ3dfcmVtb3ZlUm93R3JvdXBDb2x1bW4iLCJyZW1vdmVSb3dHcm91cENvbHVtbnMiLCJnd19nZXRQaXZvdE1vZGUiLCJpc1Bpdm90TW9kZSIsImd3X3NldFBpdm90TW9kZSIsIm1vZGUiLCJzZXRQaXZvdE1vZGUiLCJnd19hZGRQaXZvdENvbHVtbnMiLCJnd19yZW1vdmVQaXZvdENvbHVtbnMiLCJyZW1vdmVQaXZvdENvbHVtbnMiLCJnd19hZGRWYWx1ZUNvbHVtbnMiLCJhZGRWYWx1ZUNvbHVtbnMiLCJnd19yZW1vdmVWYWx1ZUNvbHVtbnMiLCJyZW1vdmVWYWx1ZUNvbHVtbnMiLCJnd191cGRhdGVDb250ZXh0IiwidmFsdWUiLCJ0ZW1wbGF0ZSIsImd3X2luaXQiLCJsaWNlbnNlIiwiZGF0YSIsImFnR3JpZCIsIkxpY2Vuc2VNYW5hZ2VyIiwic2V0TGljZW5zZUtleSIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwiaW5uZXJIVE1MIiwicGFyc2VkT3B0aW9ucyIsImd3X3BhcnNlT3B0aW9ucyIsInJvd0RhdGEiLCJpbnN0YW5jZSIsIkdyaWQiLCJjb25zb2xlIiwibG9nIiwiZGVlcFBhcnNlZE9wdGlvbnMiLCJnZXREYXRhUGF0aFRlbXBsYXRlIiwiZ2V0RGF0YVBhdGgiLCJkZWJvdW5jZUR1cmF0aW9uIiwiZmluYWxPcHRpb25zIiwiZ2V0RG9jdW1lbnQiLCJvbkNlbGxFZGl0aW5nU3RhcnRlZCIsImUiLCJvbkNlbGxFZGl0aW5nU3RvcHBlZCIsIm9uQ2VsbFZhbHVlQ2hhbmdlZCIsIm9uUm93RWRpdGluZ1N0YXJ0ZWQiLCJvblJvd0VkaXRpbmdTdG9wcGVkIiwib25Sb3dWYWx1ZUNoYW5nZWQiLCJvbkNlbGxDbGlja2VkIiwib25DZWxsRG91YmxlQ2xpY2tlZCIsIm9uR3JpZFJlYWR5IiwiZ2V0Um93Tm9kZUlkIiwiZ3dfZ2V0Um93Tm9kZUlkIiwiZ2V0Q29udGV4dE1lbnVJdGVtcyIsInBhcmFtcyIsImJvZHkiLCJnd19vblJvd0RvdWJsZUNsaWNrZWQiLCJnd19vblNlbGVjdGlvbkNoYW5nZWQiLCJnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCIsIkJhc2lzIiwiQWdHcmlkQ29tcG9uZW50cyIsIkJhc2ljQm9vbGVhbnNSZW5kZXJlciIsIkJhc2ljQm9vbGVhbnNFZGl0b3IiLCJCYXNpY0Jvb2xlYW5zRmlsdGVyIiwiQmFzaWNOdW1iZXJzRWRpdG9yIiwiQmFzaWNEYXRlVGltZXNFZGl0b3IiLCJCYXNpY0RhdGVUaW1lc0ZpbHRlciIsIkJhc2ljSW1hZ2VzUmVuZGVyZXIiLCJjb21waWxlZCIsIl9fVEVNUExBVEVfXyIsImhhc093blByb3BlcnR5IiwibmF2aWdhdGVUb05leHRDZWxsIiwidHJlZURhdGEiLCJnZXREYXRhUGF0aFRlbXBsYXRlQ29tcGxpZWQiLCJmb3JtYXRTZWxlY3RvciIsInNlbGVjdG9yIiwic3RhcnRzV2l0aCIsImd3X3NldFN0eWxlIiwicnVsZXMiLCJqc3MiLCJmb3JEb2N1bWVudCIsImd3X3JlbW92ZVN0eWxlIiwicmVtb3ZlIiwiZ3dfZ2V0Q29udGV4dE1lbnUiLCJncmlkSWQiLCJidWlsZENvbnRleHRNZW51QWN0aW9uIiwibm9kZSIsInBhcnNlTWVudSIsIm1lbnUiLCJmb3JFYWNoIiwiaXRlbSIsImNvbnRleHRNZW51IiwiZ3dfc2hvd0xvYWRpbmdPdmVybGF5Iiwic2hvd0xvYWRpbmdPdmVybGF5IiwiZ3dfc2hvd05vUm93c092ZXJsYXkiLCJzaG93Tm9Sb3dzT3ZlcmxheSIsImd3X2hpZGVPdmVybGF5IiwiaGlkZU92ZXJsYXkiLCJnd19zZXRRdWlja0ZpbHRlciIsImZpbHRlciIsInNldFF1aWNrRmlsdGVyIiwiZ3dfZXhwYW5kQWxsIiwiZXhwYW5kQWxsIiwiZ3dfY29sbGFwc2VBbGwiLCJjb2xsYXBzZUFsbCIsImd3X3NldFZpc2libGVSb3ciLCJpbmRleCIsInBvc2l0aW9uIiwiZW5zdXJlSW5kZXhWaXNpYmxlIiwiZ3dfbmF2aWdhdGVUb05leHRSb3ciLCJwcmV2aW91c0NlbGwiLCJwcmV2aW91c0NlbGxQb3NpdGlvbiIsInN1Z2dlc3RlZE5leHRDZWxsIiwibmV4dENlbGxQb3NpdGlvbiIsIktFWV9VUCIsIktFWV9ET1dOIiwiS0VZX0xFRlQiLCJLRVlfUklHSFQiLCJmb3JFYWNoTm9kZSIsInNldFNlbGVjdGVkIiwiRXJyb3IiLCJnd19zZXRSb3dzRGF0YSIsImpzb24iLCJzZXRSb3dEYXRhIiwicmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCIsImd3X3NldFJvd0RhdGEiLCJ1cGRhdGVSb3dEYXRhIiwidXBkYXRlIiwiZ3dfcmVtb3ZlUm93cyIsImluZGV4ZXMiLCJpdGVtcyIsInB1c2giLCJnd19hZGRSb3dzIiwicm93cyIsImFkZCIsImFkZEluZGV4IiwiZ3dfc2V0Um93c0hlaWdodCIsImhlaWdodCIsInNldFJvd0hlaWdodCIsIm9uUm93SGVpZ2h0Q2hhbmdlZCIsImd3X3NldFJvd0hlaWdodCIsImdldERpc3BsYXllZFJvd0F0SW5kZXgiLCJ3YXJuIiwiZ3dfc2V0U2VsZWN0ZWRSb3dzIiwiZm9yRWFjaE5vZGVBZnRlckZpbHRlckFuZFNvcnQiLCJpbmRleE9mIiwiZXhwYW5kZWQiLCJvbkdyb3VwRXhwYW5kZWRPckNvbGxhcHNlZCIsImd3X3NlbGVjdEFsbCIsImZpbHRlcmVkIiwic2VsZWN0QWxsRmlsdGVyZWQiLCJzZWxlY3RBbGwiLCJnd19kZXNlbGVjdEFsbCIsImRlc2VsZWN0QWxsRmlsdGVyZWQiLCJkZXNlbGVjdEFsbCIsImd3X2dldFNlbGVjdGVkUm93cyIsIm5vZGVzIiwiZ2V0U2VsZWN0ZWROb2RlcyIsInBhcnNlZCIsImd3X2dldFNlbGVjdGVkUm93IiwibGVuZ3RoIiwiZ3dfZ2V0UmFuZ2VTZWxlY3Rpb25zIiwicmFuZ2VzIiwiZ2V0Q2VsbFJhbmdlcyIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJyZXN1bHQiLCJyYW5nZSIsImFjY3VtdWxhdG9yIiwiY3VycmVudCIsIkJvb2xlYW4iLCJzdGFySW5kZXgiLCJNYXRoIiwibWluIiwic3RhcnRSb3ciLCJlbmRSb3ciLCJlbmRJbmRleCIsIm1heCIsImdldFJvdyIsInBhcnNlZE5vZGUiLCJnd19hZGRDZWxsUmFuZ2UiLCJwciIsInN0YXJ0IiwiZW5kIiwiYWRkQ2VsbFJhbmdlIiwicm93U3RhcnRJbmRleCIsImFicyIsInJvd0VuZEluZGV4IiwiZ3dfY2xlYXJSYW5nZVNlbGVjdGlvbiIsImNsZWFyUmFuZ2VTZWxlY3Rpb24iLCJnd19zZXRTdGF0ZSIsInN0YXRlIiwic2V0Q29sdW1uU3RhdGUiLCJzZXRDb2x1bW5Hcm91cFN0YXRlIiwiZ3JvdXBzIiwic2V0U29ydE1vZGVsIiwic29ydCIsInNldEZpbHRlck1vZGVsIiwiZmlsdGVycyIsImd3X2dldFN0YXRlIiwiZ2V0Q29sdW1uU3RhdGUiLCJnZXRDb2x1bW5Hcm91cFN0YXRlIiwiZ2V0U29ydE1vZGVsIiwiZ2V0RmlsdGVyTW9kZWwiLCJnd19zZXRTdGF0dXNiYXJDb21wb25lbnRWaXNpYmlsaXR5IiwidmlzaWJpbGl0eSIsImdldFN0YXR1c1BhbmVsIiwic2V0VmlzaWJsZSIsImd3X3NldFNpZGVCYXJWaXNpYmxlIiwic2V0U2lkZUJhclZpc2libGUiLCJnd19vcGVuVG9vbHBhbmVsIiwidG9vbHBhbmVsSWQiLCJvcGVuVG9vbFBhbmVsIiwiZ3dfY2xvc2VUb29scGFuZWwiLCJjbG9zZVRvb2xQYW5lbCIsImd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5IiwicmVhZG9ubHkiLCJzZXRGdW5jdGlvbnNSZWFkT25seSIsImd3X2dldERvY3VtZW50IiwiJGRvYyIsImRvY3VtZW50IiwiZ3dfZ2V0V2luZG93IiwiJHdpbiIsIndpbmRvdyIsImd3X2VzY2FwZSIsInVuZGVmaW5lZCIsImd3X2dldEdyaWQiLCJCQmpHcmlkRXhXaWRnZXQiLCJyZWdpc3RlcmVkR3JpZHMiLCJUeXBlRXJyb3IiLCJnd19hZGRHcmlkIiwiR1dfRVZFTlRfUk9XX0NMSUNLIiwiR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQiLCJHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQiLCJHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCIsIkdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFIiwiR1dfRVZFTlRfUkFOR0VfU0VMRUNUSU9OX0NIQU5HRUQiLCJDRUxMX0VESVRJTkdfRVZFTlRTX01BUCIsIlJPV19FRElUSU5HX0VWRU5UU19NQVAiLCJnd19vbkNlbGxFZGl0aW5nRXZlbnQiLCJuZXdWYWx1ZSIsIm9sZFZhbHVlIiwidHlwZSIsImd3X29uUm93RWRpdGluZ0V2ZW50IiwiQ0VMTF9DTElDS0lOR19FVkVOVFNfTUFQIiwiZ3dfb25DZWxsQ2xpY2tFdmVudCIsImd3X29uUmVhZHlFdmVudCIsInN0YXRlRGVib3VuY2UiLCJjaGFuZ2VFdmVudCIsImd3X29uU3RhdGVDaGFuZ2VkIiwiZXZlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiZ3dfZGVib3VuY2UiLCJmdW5jIiwid2FpdCIsImltbWVkaWF0ZSIsInRpbWVvdXQiLCJhcmdzIiwiYXJndW1lbnRzIiwibGF0ZXIiLCJhcHBseSIsImNhbGxOb3ciLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiZ3dfc2VuZEV2ZW50IiwicGF5bG9hZCIsImV2ZW50SWQiLCJyZWdpc3RlcmVkSW50ZXJlc3RzIiwiaW50ZXJlc3RzIiwiaW5jbHVkZXMiLCJkaXYiLCJDdXN0b21FdmVudCIsImRpc3BhdGNoRXZlbnQiLCJnd19wYXJzZU5vZGUiLCJncm91cCIsInJvd05vZGVJZCIsInBhcmVudEtleSIsInBhcmVudCIsImNoaWxkSW5kZXgiLCJzZWxlY3RlZCIsImd3X3BhcnNlTm9kZUZyb21FdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwiZGV0YWlsIiwiZXZ0IiwiY3JlYXRlRXZlbnQiLCJpbml0Q3VzdG9tRXZlbnQiLCJwcm90b3R5cGUiLCJFdmVudCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQTBDLGdDQUFnQztBQUMxRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdFQUF3RCxrQkFBa0I7QUFDMUU7QUFDQSx5REFBaUQsY0FBYztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQXlDLGlDQUFpQztBQUMxRSx3SEFBZ0gsbUJBQW1CLEVBQUU7QUFDckk7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBMkIsMEJBQTBCLEVBQUU7QUFDdkQseUNBQWlDLGVBQWU7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOERBQXNELCtEQUErRDs7QUFFckg7QUFD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QXNCO0FBQ3hFO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFFBQVE7QUFDdkI7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxFQUFFO0FBQ2pCOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQjs7QUFFQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxLQUFLO0FBQ3BCLGVBQWUsT0FBTztBQUN0QixlQUFlLFVBQVU7QUFDekI7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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Q1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQ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RUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RjtBQUM3RjtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7O0FBRVg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0pBQWdKO0FBQ2hKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsZ0NBQWdDLGVBQWU7QUFDL0M7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxlQUFlO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0RBQW9ELGVBQWU7QUFDbkU7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxvRUFBb0U7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsY0FBYyw0QkFBNEI7QUFDMUM7QUFDQTs7QUFFQSwyQkFBMkIsMEJBQTBCO0FBQ3JEO0FBQ0E7O0FBRUEsMENBQTBDLHFGQUFxRjtBQUMvSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUIsNEJBQTRCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMsS0FBSztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHVHQUF1Rzs7QUFFdkcsNENBQTRDLEtBQUs7QUFDakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDRDQUE0QyxLQUFLO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseUJBQXlCLDhCQUE4QjtBQUN2RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCLCtCQUErQjtBQUN0RDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFD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QUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFB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QkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJB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MEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxz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QUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFB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QTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDRCQUE0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bUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9E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QixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHVDQUF1Qyw0QkFBNEIsNkJBQTZCLEVBQUUsZ0ZBQWdGLHNCQUFzQixFQUFFLDhGQUE4RixrQkFBa0Is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QXVELHlCQUF5QixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSwwQ0FBMEMsNEJBQTRCLDZCQUE2QixFQUFFLHNGQUFz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QTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEOztBQUVBLDZCQUE2QixtQkFBbUI7O0FBRWhEOztBQUVBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUN0WEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLFdBQVcsRUFBRTtBQUNyRCx3Q0FBd0MsV0FBVyxFQUFFOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLHNDQUFzQztBQUN0QyxHQUFHO0FBQ0g7QUFDQSw4REFBOEQ7QUFDOUQ7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUN4RkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDOzs7Ozs7Ozs7Ozs7QUNuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNiQTs7QUFSQTs7Ozs7Ozs7QUFVQTs7Ozs7Ozs7O0FBU08sU0FBU2dCLG1CQUFULENBQTZCQyxFQUE3QixFQUFpQ0MsR0FBakMsRUFBc0NDLE1BQXRDLEVBQThDTixHQUE5QyxFQUFtRE8sSUFBbkQsRUFBeUQ7QUFDOUQsTUFBTUMsT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBRUFBLFNBQU8sQ0FBQ0MsR0FBUixDQUFZQyxjQUFaLENBQTJCQyxNQUFNLENBQUNOLEdBQUQsQ0FBakMsRUFBd0NDLE1BQXhDO0FBQ0FFLFNBQU8sQ0FBQ0MsR0FBUixDQUFZRyxnQkFBWixDQUE2QjtBQUMzQkMsWUFBUSxFQUFFRixNQUFNLENBQUNOLEdBQUQsQ0FEVztBQUUzQkMsVUFBTSxFQUFFQSxNQUZtQjtBQUczQlEsWUFBUSxFQUFFSCxNQUFNLENBQUNYLEdBQUQsQ0FIVztBQUkzQmUsYUFBUyxFQUFFUjtBQUpnQixHQUE3QjtBQU1EO0FBRUQ7Ozs7Ozs7O0FBTU8sU0FBU1MsY0FBVCxDQUF3QlosRUFBeEIsRUFBNEJhLE1BQTVCLEVBQW9DO0FBQ3pDLDZCQUFXYixFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHUyxXQUhILENBR2VELE1BSGY7QUFJRDs7QUFFTSxTQUFTRSxlQUFULENBQXlCZixFQUF6QixFQUE2QjtBQUNsQyw2QkFBV0EsRUFBWCxFQUNHSSxPQURILENBRUdDLEdBRkgsQ0FHR1csYUFISDtBQUlEOztBQUFBOztBQUVNLFNBQVNDLG1CQUFULENBQTZCakIsRUFBN0IsRUFBaUM7QUFDdEMsNkJBQVdBLEVBQVgsRUFDR0ksT0FESCxDQUVHQyxHQUZILENBR0dhLGlCQUhIO0FBSUQ7QUFFRDs7Ozs7Ozs7O0FBT08sU0FBU0MsaUJBQVQsQ0FBMkJuQixFQUEzQixFQUErQkMsR0FBL0IsRUFBb0NtQixNQUFwQyxFQUE0QztBQUNqRCxNQUFNaEIsT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBQ0EsTUFBTWlCLENBQUMsR0FBRyxDQUFDcEIsR0FBRCxHQUFPLENBQVAsR0FBWU0sTUFBTSxDQUFDZSxTQUFQLENBQWlCLENBQUNyQixHQUFsQixJQUF5QixDQUFDQSxHQUExQixHQUFnQ0csT0FBTyxDQUFDQyxHQUFSLENBQVlrQixVQUFaLENBQXVCdEIsR0FBdkIsRUFBNEJRLFFBQWxGO0FBQ0EsTUFBTWUsQ0FBQyxHQUFHSixNQUFNLEdBQUdBLE1BQUgsR0FBWWhCLE9BQU8sQ0FBQ3FCLFNBQVIsQ0FBa0JDLGlCQUFsQixHQUFzQyxDQUF0QyxFQUF5Q0MsS0FBckU7QUFDQSw2QkFBVzNCLEVBQVgsRUFDR0ksT0FESCxDQUVHQyxHQUZILENBR0dDLGNBSEgsQ0FHa0JlLENBSGxCLEVBR3FCRyxDQUhyQjtBQUlELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDakVEOztBQVJBOzs7Ozs7O2VBUzBCSSxtQkFBTyxDQUFDLGdFQUFELEM7SUFBekI3QyxhLFlBQUFBLGE7QUFFUjs7Ozs7Ozs7OztBQVFPLFNBQVM4QywwQkFBVCxDQUFvQ0MsV0FBcEMsRUFBaUQ7QUFFdEQsT0FBSyxJQUFJQyxDQUFULElBQWNELFdBQWQsRUFBMkI7QUFDekIsUUFBTUUsR0FBRyxHQUFHRixXQUFXLENBQUNDLENBQUQsQ0FBdkI7QUFFQUMsT0FBRyxDQUFDQyxpQkFBSixHQUF3QkQsR0FBRyxDQUFDQyxpQkFBSixJQUF5QkMsMEJBQWpEO0FBQ0FGLE9BQUcsQ0FBQ0csdUJBQUosR0FBOEJILEdBQUcsQ0FBQ0csdUJBQUosSUFBK0JDLDRCQUE3RDtBQUNEO0FBQ0Y7QUFFRDs7Ozs7Ozs7QUFNTyxTQUFTQyx1QkFBVCxDQUFpQ3JDLEVBQWpDLEVBQXFDOEIsV0FBckMsRUFBa0Q7QUFDdkQsTUFBTVEsSUFBSSxHQUFHLDJCQUFXdEMsRUFBWCxDQUFiO0FBQ0EsTUFBTXVDLHFCQUFxQixHQUFHeEQsYUFBYSxDQUFDRSxJQUFJLENBQUN1RCxTQUFMLENBQWVWLFdBQWYsQ0FBRCxDQUEzQztBQUVBRCw0QkFBMEIsQ0FBQ1UscUJBQUQsQ0FBMUI7QUFFQUQsTUFBSSxDQUFDbEMsT0FBTCxDQUFhQyxHQUFiLENBQWlCb0MsYUFBakIsQ0FBK0JGLHFCQUEvQjtBQUNBRCxNQUFJLENBQUNsQyxPQUFMLENBQWFzQyxVQUFiLEdBQTBCSCxxQkFBMUI7QUFDRDs7QUFFTSxTQUFTSSxtQkFBVCxDQUE2QjNDLEVBQTdCLEVBQWlDO0FBQ3RDLDZCQUFXQSxFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHdUMsZ0JBSEg7QUFJRDs7QUFFTSxTQUFTQyxtQkFBVCxDQUE2QjdDLEVBQTdCLEVBQWlDOEMsUUFBakMsRUFBMkM7QUFDaEQsNkJBQVc5QyxFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHMEMsbUJBSEgsQ0FHdUJELFFBSHZCO0FBSUQ7QUFFRDs7Ozs7Ozs7O0FBT08sU0FBU0UsaUJBQVQsQ0FBMkJoRCxFQUEzQixFQUErQjhDLFFBQS9CLEVBQXlDRyxLQUF6QyxFQUFnRDtBQUNyRCw2QkFBV2pELEVBQVgsRUFDR0ksT0FESCxDQUVHcUIsU0FGSCxDQUdHeUIsY0FISCxDQUdrQkosUUFIbEIsRUFHNEJ2QyxNQUFNLENBQUMwQyxLQUFELENBSGxDO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7QUFTTyxTQUFTRSxZQUFULENBQXNCbkQsRUFBdEIsRUFBMEI4QyxRQUExQixFQUFvQ00sR0FBcEMsRUFBeUM7QUFDOUMsNkJBQVdwRCxFQUFYLEVBQ0dJLE9BREgsQ0FFR3FCLFNBRkgsQ0FHRzRCLGVBSEgsQ0FHbUJQLFFBSG5CLEVBRzZCTSxHQUg3QjtBQUlEO0FBRUQ7Ozs7Ozs7Ozs7O0FBU08sU0FBU0UsYUFBVCxDQUF1QnRELEVBQXZCLEVBQTJCOEMsUUFBM0IsRUFBcUNTLE9BQXJDLEVBQThDO0FBQ25ELDZCQUFXdkQsRUFBWCxFQUNHSSxPQURILENBRUdxQixTQUZILENBR0crQixVQUhILENBR2NWLFFBSGQsRUFHd0JTLE9BSHhCO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7OztBQVdPLFNBQVNyQiwwQkFBVCxDQUFvQ3VCLEtBQXBDLEVBQTJDO0FBQ2hELE1BQUksQ0FBQ0EsS0FBSyxDQUFDQyxPQUFOLENBQWNDLHFCQUFuQixFQUEwQyxPQUFPLEtBQVA7QUFFMUMsTUFBTUMsT0FBTyxHQUFHSCxLQUFLLENBQUNoQyxTQUFOLENBQWdCb0MsNkJBQWhCLEVBQWhCO0FBRUEsU0FBT0QsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXRSxNQUFYLENBQWtCQyxLQUFsQixLQUE0Qk4sS0FBSyxDQUFDSyxNQUFOLENBQWFDLEtBQWhEO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7OztBQVdPLFNBQVMzQiw0QkFBVCxDQUFzQ3FCLEtBQXRDLEVBQTZDO0FBQ2xELE1BQU1DLE9BQU8sR0FBR0QsS0FBSyxDQUFDcEQsR0FBTixDQUFVMkQsa0JBQVYsQ0FBNkJDLFdBQTdCLENBQXlDUCxPQUF6RDtBQUVBLE1BQUksQ0FBQ0EsT0FBTyxDQUFDUSwyQkFBYixFQUEwQyxPQUFPLEtBQVA7QUFFMUMsTUFBTU4sT0FBTyxHQUFHSCxLQUFLLENBQUNoQyxTQUFOLENBQWdCb0MsNkJBQWhCLEVBQWhCO0FBRUEsU0FBT0QsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXRSxNQUFYLENBQWtCQyxLQUFsQixLQUE0Qk4sS0FBSyxDQUFDSyxNQUFOLENBQWFDLEtBQWhEO0FBQ0Q7QUFFRDs7Ozs7Ozs7O0FBT08sU0FBU0ksb0JBQVQsQ0FBOEJuRSxFQUE5QixFQUFrQzRELE9BQWxDLEVBQTJDUSxHQUEzQyxFQUFnRDtBQUNyRCw2QkFBV3BFLEVBQVgsRUFDR0ksT0FESCxDQUVHcUIsU0FGSCxDQUVhMkMsR0FBRyxHQUFHLG9CQUFILEdBQTBCLG9CQUYxQyxFQUdJUixPQUFPLENBQUNTLEtBQVIsQ0FBYyxHQUFkLEVBQW1CL0UsR0FBbkIsQ0FBdUIsVUFBQXlDLENBQUM7QUFBQSxXQUFJQSxDQUFDLENBQUN1QyxJQUFGLEVBQUo7QUFBQSxHQUF4QixDQUhKO0FBS0Q7QUFFRDs7Ozs7Ozs7QUFNTyxTQUFTQyx1QkFBVCxDQUFpQ3ZFLEVBQWpDLEVBQXFDNEQsT0FBckMsRUFBOEM7QUFDbkQsNkJBQVc1RCxFQUFYLEVBQ0dJLE9BREgsQ0FFR3FCLFNBRkgsQ0FHRytDLHFCQUhILENBSUlaLE9BQU8sQ0FBQ1MsS0FBUixDQUFjLEdBQWQsRUFBbUIvRSxHQUFuQixDQUF1QixVQUFBeUMsQ0FBQztBQUFBLFdBQUlBLENBQUMsQ0FBQ3VDLElBQUYsRUFBSjtBQUFBLEdBQXhCLENBSko7QUFNRDs7QUFFTSxTQUFTRyxlQUFULENBQXlCekUsRUFBekIsRUFBNkI7QUFDbEMsU0FBTywyQkFBV0EsRUFBWCxFQUNKSSxPQURJLENBRUpxQixTQUZJLENBR0ppRCxXQUhJLEVBQVA7QUFJRDtBQUVEOzs7Ozs7OztBQU1PLFNBQVNDLGVBQVQsQ0FBeUIzRSxFQUF6QixFQUE2QjRFLElBQTdCLEVBQW1DO0FBQ3hDLDZCQUFXNUUsRUFBWCxFQUNHSSxPQURILENBRUdxQixTQUZILENBR0dvRCxZQUhILENBR2dCLENBQUMsQ0FBQ3RFLE1BQU0sQ0FBQ3FFLElBQUQsQ0FIeEI7QUFJRDtBQUVEOzs7Ozs7Ozs7QUFPTyxTQUFTRSxrQkFBVCxDQUE0QjlFLEVBQTVCLEVBQWdDNEQsT0FBaEMsRUFBeUNRLEdBQXpDLEVBQThDO0FBQ25ELDZCQUFXcEUsRUFBWCxFQUNHSSxPQURILENBRUdxQixTQUZILENBRWEyQyxHQUFHLEdBQUcsaUJBQUgsR0FBdUIsaUJBRnZDLEVBR0lSLE9BQU8sQ0FBQ1MsS0FBUixDQUFjLEdBQWQsRUFBbUIvRSxHQUFuQixDQUF1QixVQUFBeUMsQ0FBQztBQUFBLFdBQUlBLENBQUMsQ0FBQ3VDLElBQUYsRUFBSjtBQUFBLEdBQXhCLENBSEo7QUFLRDtBQUVEOzs7Ozs7OztBQU1PLFNBQVNTLHFCQUFULENBQStCL0UsRUFBL0IsRUFBbUM0RCxPQUFuQyxFQUE0QztBQUNqRCw2QkFBVzVELEVBQVgsRUFDR0ksT0FESCxDQUVHcUIsU0FGSCxDQUdHdUQsa0JBSEgsQ0FJSXBCLE9BQU8sQ0FBQ1MsS0FBUixDQUFjLEdBQWQsRUFBbUIvRSxHQUFuQixDQUF1QixVQUFBeUMsQ0FBQztBQUFBLFdBQUlBLENBQUMsQ0FBQ3VDLElBQUYsRUFBSjtBQUFBLEdBQXhCLENBSko7QUFNRDtBQUVEOzs7Ozs7OztBQU1PLFNBQVNXLGtCQUFULENBQTRCakYsRUFBNUIsRUFBZ0M0RCxPQUFoQyxFQUF5Q1EsR0FBekMsRUFBOEM7QUFDbkQsNkJBQVdwRSxFQUFYLEVBQ0dJLE9BREgsQ0FFR3FCLFNBRkgsQ0FHR3lELGVBSEgsQ0FJSXRCLE9BQU8sQ0FBQ1MsS0FBUixDQUFjLEdBQWQsRUFBbUIvRSxHQUFuQixDQUF1QixVQUFBeUMsQ0FBQztBQUFBLFdBQUlBLENBQUMsQ0FBQ3VDLElBQUYsRUFBSjtBQUFBLEdBQXhCLENBSko7QUFNRDtBQUVEOzs7Ozs7OztBQU1PLFNBQVNhLHFCQUFULENBQStCbkYsRUFBL0IsRUFBbUM0RCxPQUFuQyxFQUE0QztBQUNqRCw2QkFBVzVELEVBQVgsRUFDR0ksT0FESCxDQUVHcUIsU0FGSCxDQUdHMkQsa0JBSEgsQ0FJSXhCLE9BQU8sQ0FBQ1MsS0FBUixDQUFjLEdBQWQsRUFBbUIvRSxHQUFuQixDQUF1QixVQUFBeUMsQ0FBQztBQUFBLFdBQUlBLENBQUMsQ0FBQ3VDLElBQUYsRUFBSjtBQUFBLEdBQXhCLENBSko7QUFNRCxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDclBEOztBQVJBOzs7Ozs7OztBQVVBOzs7Ozs7O0FBT08sU0FBU2UsZ0JBQVQsQ0FBMEJyRixFQUExQixFQUE4QkosR0FBOUIsRUFBbUMwRixLQUFuQyxFQUEwQztBQUNoRCw2QkFBV3RGLEVBQVgsRUFDRUksT0FERixDQUVFc0QsT0FGRixDQUVVOUQsR0FGVixJQUVpQlgsSUFBSSxDQUFDQyxLQUFMLENBQVdvRyxLQUFYLENBRmpCO0FBR0EsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDYkQ7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNUQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O2VBVzBCMUQsbUJBQU8sQ0FBQyxnRUFBRCxDO0lBQXpCN0MsYSxZQUFBQSxhOztBQUNSLElBQU13RyxRQUFRLEdBQVkzRCxtQkFBTyxDQUFDLDBEQUFELENBQWpDOztBQUVPLFNBQVM0RCxPQUFULENBQWlCcEYsT0FBakIsRUFBMEJxRixPQUExQixFQUFvQ0MsSUFBcEMsRUFBMEM7QUFFL0M7QUFDQSxNQUFJQyxNQUFNLENBQUNDLGNBQVAsSUFBeUJILE9BQTdCLEVBQ0VFLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsYUFBdEIsQ0FBb0NKLE9BQXBDO0FBRUYsTUFBTXpGLEVBQUUsR0FBZ0JJLE9BQU8sQ0FBQ3NELE9BQVIsQ0FBZ0IxRCxFQUF4QztBQUNBLE1BQU04RixTQUFTLEdBQVMsaUNBQWlCQyxjQUFqQixDQUFnQy9GLEVBQWhDLENBQXhCLENBUCtDLENBUS9DOztBQUNBLE1BQU1zQyxJQUFJLEdBQWMsMkJBQVd0QyxFQUFYLEVBQWU7QUFDckM4RixhQUFTLEVBQVRBLFNBRHFDO0FBRXJDMUYsV0FBTyxFQUFQQTtBQUZxQyxHQUFmLENBQXhCLENBVCtDLENBYy9DOztBQUNBMEYsV0FBUyxDQUFDRSxTQUFWLEdBQXdCLEVBQXhCO0FBRUEsTUFBTUMsYUFBYSxHQUFLQyxlQUFlLENBQUM5RixPQUFELENBQXZDO0FBQ0E2RixlQUFhLENBQUNFLE9BQWQsR0FBd0JULElBQXhCO0FBRUEsTUFBTVUsUUFBUSxHQUFVLElBQUlULE1BQU0sQ0FBQ1UsSUFBWCxDQUFnQlAsU0FBaEIsRUFBMkJHLGFBQTNCLENBQXhCO0FBQ0EzRCxNQUFJLENBQUM4RCxRQUFMLEdBQWdCQSxRQUFoQjtBQUNBOUQsTUFBSSxDQUFDbEMsT0FBTCxHQUFnQjZGLGFBQWhCO0FBRUFLLFNBQU8sQ0FBQ0MsR0FBUixvQkFDY3ZHLEVBRGQsb0JBRUksa0NBRkosRUFHSWlHLGFBSEo7QUFLRDtBQUVEOzs7Ozs7Ozs7Ozs7QUFVQSxTQUFTQyxlQUFULENBQXlCOUYsT0FBekIsRUFBa0M7QUFDaEMsTUFBTW9HLGlCQUFpQixHQUFPekgsYUFBYSxDQUFDRSxJQUFJLENBQUN1RCxTQUFMLENBQWVwQyxPQUFmLENBQUQsQ0FBM0M7QUFDQSxNQUFNSixFQUFFLEdBQXNCd0csaUJBQWlCLENBQUM5QyxPQUFsQixDQUEwQjFELEVBQXhEO0FBQ0EsTUFBTXlHLG1CQUFtQixHQUFLRCxpQkFBaUIsQ0FBQzlDLE9BQWxCLENBQTBCZ0QsV0FBMUIsSUFBeUMsRUFBdkUsQ0FIZ0MsQ0FJaEM7O0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQVEsR0FBOUI7O0FBQ0EsTUFBTUMsWUFBWSxxQkFDYkosaUJBRGEsRUFFYjtBQUNESyxlQUFXLEVBQWE7QUFBQSxhQUFZLGdDQUFaO0FBQUEsS0FEdkI7QUFFREMsd0JBQW9CLEVBQUksOEJBQUFDLENBQUMsRUFBUztBQUFFLHlDQUFzQi9HLEVBQXRCLEVBQTBCK0csQ0FBMUI7QUFBOEIsS0FGakU7QUFHREMsd0JBQW9CLEVBQUksOEJBQUFELENBQUMsRUFBUztBQUFFLHlDQUFzQi9HLEVBQXRCLEVBQTBCK0csQ0FBMUI7QUFBOEIsS0FIakU7QUFJREUsc0JBQWtCLEVBQU0sNEJBQUFGLENBQUMsRUFBUztBQUFFLHlDQUFzQi9HLEVBQXRCLEVBQTBCK0csQ0FBMUI7QUFBOEIsS0FKakU7QUFLREcsdUJBQW1CLEVBQUssNkJBQUFILENBQUMsRUFBUztBQUFFLHdDQUFxQi9HLEVBQXJCLEVBQXlCK0csQ0FBekI7QUFBOEIsS0FMakU7QUFNREksdUJBQW1CLEVBQUssNkJBQUFKLENBQUMsRUFBUztBQUFFLHdDQUFxQi9HLEVBQXJCLEVBQXlCK0csQ0FBekI7QUFBOEIsS0FOakU7QUFPREsscUJBQWlCLEVBQU8sMkJBQUFMLENBQUMsRUFBUztBQUFFLHdDQUFxQi9HLEVBQXJCLEVBQXlCK0csQ0FBekI7QUFBOEIsS0FQakU7QUFRRE0saUJBQWEsRUFBVyx1QkFBQU4sQ0FBQyxFQUFTO0FBQUUsdUNBQW9CL0csRUFBcEIsRUFBd0IrRyxDQUF4QjtBQUE4QixLQVJqRTtBQVNETyx1QkFBbUIsRUFBSyw2QkFBQVAsQ0FBQyxFQUFTO0FBQUUsdUNBQW9CL0csRUFBcEIsRUFBd0IrRyxDQUF4QjtBQUE4QixLQVRqRTtBQVVEUSxlQUFXLEVBQWEscUJBQUFSLENBQUMsRUFBUztBQUFFLG1DQUFnQi9HLEVBQWhCLEVBQW9CK0csQ0FBcEI7QUFBOEIsS0FWakU7QUFXRFMsZ0JBQVksRUFBWSxzQkFBQTlCLElBQUk7QUFBQSxhQUFRK0IsZUFBZSxDQUFDekgsRUFBRCxFQUFLMEYsSUFBTCxDQUF2QjtBQUFBLEtBWDNCO0FBWURnQyx1QkFBbUIsRUFBSyw2QkFBQUMsTUFBTTtBQUFBLGFBQU0sOEJBQWtCM0gsRUFBbEIsRUFBc0IySCxNQUF0QixDQUFOO0FBQUEsS0FaN0I7QUFhRCxtQkFBb0MsaUNBQWlCQyxJQWJwRDtBQWNELDBCQUFvQyx5QkFBWUMsNkJBQVosRUFBbUNsQixnQkFBbkMsQ0FkbkM7QUFlRCwwQkFBb0MseUJBQVltQiw2QkFBWixFQUFtQ25CLGdCQUFuQyxDQWZuQztBQWdCRCwrQkFBb0MseUJBQVlvQixrQ0FBWixFQUF5Q3BCLGdCQUF6QyxDQWhCbkM7QUFpQkQsa0JBQWM7QUFDWiwrQkFBZ0NxQixLQUFLLENBQUNDLGdCQUFOLENBQXVCQyxxQkFEM0M7QUFFWiw2QkFBZ0NGLEtBQUssQ0FBQ0MsZ0JBQU4sQ0FBdUJFLG1CQUYzQztBQUdaLDZCQUFnQ0gsS0FBSyxDQUFDQyxnQkFBTixDQUF1QkcsbUJBSDNDO0FBSVosNEJBQWdDSixLQUFLLENBQUNDLGdCQUFOLENBQXVCSSxrQkFKM0M7QUFLWiw4QkFBZ0NMLEtBQUssQ0FBQ0MsZ0JBQU4sQ0FBdUJLLG9CQUwzQztBQU1aLDhCQUFnQ04sS0FBSyxDQUFDQyxnQkFBTixDQUF1Qk0sb0JBTjNDO0FBT1osNkJBQWdDUCxLQUFLLENBQUNDLGdCQUFOLENBQXVCTyxtQkFQM0M7QUFRWjtBQUNBLHNDQUFnQyxzQ0FBQWIsTUFBTSxFQUFJO0FBQ3hDLFlBQU1jLFFBQVEsR0FBR2xELFFBQVEsQ0FBQ29DLE1BQU0sQ0FBQ2UsWUFBUixDQUF6QjtBQUNBLGVBQU9ELFFBQVEsQ0FBQztBQUFFZCxnQkFBTSxFQUFFQTtBQUFWLFNBQUQsQ0FBZjtBQUNEO0FBWlc7QUFqQmIsR0FGYSxDQUFsQjs7QUFvQ0EsTUFDRWYsWUFBWSxDQUFDbEQsT0FBYixDQUFxQmlGLGNBQXJCLENBQW9DLG9CQUFwQyxLQUNBL0IsWUFBWSxDQUFDbEQsT0FBYixDQUFxQmtGLGtCQUZ2QixFQUdFO0FBQ0FoQyxnQkFBWSxDQUFDZ0Msa0JBQWIsR0FBa0MsVUFBQWpCLE1BQU0sRUFBSTtBQUFFLGFBQU8sZ0NBQXFCM0gsRUFBckIsRUFBeUIySCxNQUF6QixDQUFQO0FBQXlDLEtBQXZGO0FBQ0Q7O0FBRUQsTUFBSWxCLG1CQUFtQixJQUFJRyxZQUFZLENBQUNpQyxRQUF4QyxFQUFrRDtBQUNoRCxRQUFNQywyQkFBMkIsR0FBR3ZELFFBQVEsQ0FBQ2tCLG1CQUFELENBQTVDOztBQUNBRyxnQkFBWSxDQUFDRixXQUFiLEdBQTJCLFVBQUFoQixJQUFJO0FBQUEsYUFBSW9ELDJCQUEyQixDQUFDO0FBQUVwRCxZQUFJLEVBQUVBO0FBQVIsT0FBRCxDQUEvQjtBQUFBLEtBQS9CO0FBQ0QsR0FwRCtCLENBc0RoQzs7O0FBQ0EsMkNBQTJCa0IsWUFBWSxDQUFDbEUsVUFBeEM7QUFFQSxTQUFPa0UsWUFBUDtBQUNELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDckhEOztBQUNBOztBQVRBOzs7Ozs7OztBQVdBOzs7Ozs7OztBQVFBLFNBQVNtQyxjQUFULENBQXdCQyxRQUF4QixFQUFpQztBQUMvQixTQUFPQSxRQUFRLENBQUNDLFVBQVQsQ0FBb0IsR0FBcEIsSUFBMkJELFFBQTNCLGNBQTBDQSxRQUExQyxDQUFQO0FBQ0Q7QUFFRDs7Ozs7Ozs7OztBQVFPLFNBQVNFLFdBQVQsQ0FBcUJGLFFBQXJCLEVBQStCRyxLQUEvQixFQUFzQztBQUMzQ0MsS0FBRyxDQUFDQyxXQUFKLENBQWdCLGdDQUFoQixFQUFrQ2pGLEdBQWxDLENBQXNDMkUsY0FBYyxDQUFDQyxRQUFELENBQXBELEVBQWdFL0osSUFBSSxDQUFDQyxLQUFMLENBQVdpSyxLQUFYLENBQWhFO0FBQ0Q7QUFFRDs7Ozs7Ozs7O0FBT08sU0FBU0csY0FBVCxDQUF3Qk4sUUFBeEIsRUFBa0M7QUFDdkNJLEtBQUcsQ0FBQ0MsV0FBSixDQUFnQixnQ0FBaEIsRUFBa0NFLE1BQWxDLENBQXlDUixjQUFjLENBQUNDLFFBQUQsQ0FBdkQ7QUFDRCxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDcENEOztBQUNBOztBQVRBOzs7Ozs7O0FBY08sU0FBU1EsaUJBQVQsQ0FBMkJDLE1BQTNCLEVBQW1DOUIsTUFBbkMsRUFBMkM7QUFFaEQsTUFBTStCLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBeUIsQ0FBQy9CLE1BQUQsRUFBUzNILEVBQVQsRUFBZ0I7QUFFN0MsV0FBTyxZQUFNO0FBRVgsVUFBTTJKLElBQUksR0FBRyx1Q0FBc0JoQyxNQUF0QixDQUFiO0FBQ0EsVUFBTWhHLEtBQUssR0FBR2dHLE1BQU0sQ0FBQ3ZHLE1BQVAsQ0FBY08sS0FBNUI7QUFDQSxVQUFNMkQsS0FBSyxHQUFHcUMsTUFBTSxDQUFDckMsS0FBckI7QUFFQSxvQ0FBYSwyQkFBV21FLE1BQVgsRUFBbUJySixPQUFuQixDQUEyQnNELE9BQXhDLEVBQWlEO0FBQy9DLGdCQUFRLGdCQUR1QztBQUUvQyxrQkFBVXpFLElBQUksQ0FBQ3VELFNBQUwsQ0FBZTtBQUFFdkMsYUFBRyxFQUFFMEosSUFBUDtBQUFhdkksZ0JBQU0sRUFBRU8sS0FBckI7QUFBNEIyRCxlQUFLLEVBQUxBLEtBQTVCO0FBQW1DdEYsWUFBRSxFQUFGQTtBQUFuQyxTQUFmO0FBRnFDLE9BQWpELEVBR0dBLEVBSEg7QUFJRCxLQVZEO0FBV0QsR0FiRDs7QUFlQSxNQUFNNEosU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsSUFBRCxFQUFVO0FBQzFCQSxRQUFJLENBQUNDLE9BQUwsQ0FBYSxVQUFBQyxJQUFJLEVBQUk7QUFFbkIsVUFBSSxPQUFPQSxJQUFQLEtBQWdCLFFBQXBCLEVBQThCO0FBRTlCQSxVQUFJLENBQUMsUUFBRCxDQUFKLEdBQWlCTCxzQkFBc0IsQ0FBQy9CLE1BQUQsRUFBU29DLElBQUksQ0FBQy9KLEVBQWQsQ0FBdkM7QUFFQSxVQUFJK0osSUFBSSxDQUFDLFlBQUQsQ0FBSixJQUFzQixDQUFDM0ssS0FBSyxDQUFDQyxPQUFOLENBQWMwSyxJQUFJLENBQUMsWUFBRCxDQUFsQixDQUEzQixFQUNFQSxJQUFJLENBQUMsWUFBRCxDQUFKLEdBQXFCQSxJQUFJLENBQUMsWUFBRCxDQUFKLENBQW1CMUYsS0FBbkIsQ0FBeUIsR0FBekIsQ0FBckI7QUFFRixVQUFJMEYsSUFBSSxDQUFDLFNBQUQsQ0FBUixFQUFxQkEsSUFBSSxDQUFDLFNBQUQsQ0FBSixHQUFrQkgsU0FBUyxDQUFDRyxJQUFJLENBQUMsU0FBRCxDQUFMLENBQTNCO0FBQ3RCLEtBVkQ7QUFZQSxXQUFPRixJQUFQO0FBQ0QsR0FkRDs7QUFnQkEsU0FBT0QsU0FBUyxDQUFDLDJCQUFXSCxNQUFYLEVBQW1CckosT0FBbkIsQ0FBMkJzRCxPQUEzQixDQUFtQ3NHLFdBQXBDLENBQWhCO0FBQ0QsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDeENEOztBQVJBOzs7Ozs7OztBQVVBOzs7OztBQUtPLFNBQVNDLHFCQUFULENBQStCakssRUFBL0IsRUFBbUM7QUFDeEMsNkJBQVdBLEVBQVgsRUFDR0ksT0FESCxDQUVHQyxHQUZILENBR0c2SixrQkFISDtBQUlEO0FBRUQ7Ozs7Ozs7QUFLTyxTQUFTQyxvQkFBVCxDQUE4Qm5LLEVBQTlCLEVBQWtDO0FBQ3ZDLDZCQUFXQSxFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHK0osaUJBSEg7QUFJRDtBQUVEOzs7Ozs7O0FBS08sU0FBU0MsY0FBVCxDQUF3QnJLLEVBQXhCLEVBQTRCO0FBQ2pDLDZCQUFXQSxFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHaUssV0FISDtBQUlELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDcENEOztBQUNBOztBQVRBOzs7Ozs7O2VBVzBCMUksbUJBQU8sQ0FBQyxnRUFBRCxDO0lBQXpCN0MsYSxZQUFBQSxhOztBQUVELFNBQVN3TCxpQkFBVCxDQUEyQnZLLEVBQTNCLEVBQStCd0ssTUFBL0IsRUFBdUM7QUFDNUMsNkJBQVd4SyxFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHb0ssY0FISCxDQUdrQkQsTUFIbEI7QUFJRDs7QUFFTSxTQUFTRSxZQUFULENBQXNCMUssRUFBdEIsRUFBMEI7QUFDL0IsNkJBQVdBLEVBQVgsRUFDR0ksT0FESCxDQUVHQyxHQUZILENBR0dzSyxTQUhIO0FBSUQ7O0FBRU0sU0FBU0MsY0FBVCxDQUF3QjVLLEVBQXhCLEVBQTRCO0FBQ2pDLDZCQUFXQSxFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHd0ssV0FISDtBQUlEOztBQUVNLFNBQVNDLGdCQUFULENBQTBCOUssRUFBMUIsRUFBOEIrSyxLQUE5QixFQUFxQ0MsUUFBckMsRUFBK0M7QUFDcEQsNkJBQVdoTCxFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHNEssa0JBSEgsQ0FHc0JGLEtBSHRCLEVBRzZCQyxRQUg3QjtBQUlEOztBQUVNLFNBQVNFLG9CQUFULENBQThCbEwsRUFBOUIsRUFBa0MySCxNQUFsQyxFQUEwQztBQUUvQyxNQUFNdkgsT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBQ0EsTUFBSStLLFlBQVksR0FBR3hELE1BQU0sQ0FBQ3lELG9CQUExQjtBQUNBLE1BQUlDLGlCQUFpQixHQUFHMUQsTUFBTSxDQUFDMkQsZ0JBQS9CO0FBRUEsTUFBTUMsTUFBTSxHQUFHLEVBQWY7QUFDQSxNQUFNQyxRQUFRLEdBQUcsRUFBakI7QUFDQSxNQUFNQyxRQUFRLEdBQUcsRUFBakI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsRUFBbEI7O0FBRUEsVUFBUS9ELE1BQU0sQ0FBQy9ILEdBQWY7QUFDRSxTQUFLNEwsUUFBTDtBQUNFO0FBQ0FwTCxhQUFPLENBQUNDLEdBQVIsQ0FBWXNMLFdBQVosQ0FBd0IsVUFBQ2hDLElBQUQsRUFBVTtBQUNoQyxZQUFJd0IsWUFBWSxDQUFDMUssUUFBYixHQUF3QixDQUF4QixLQUE4QmtKLElBQUksQ0FBQ2xKLFFBQXZDLEVBQWlEO0FBQy9Da0osY0FBSSxDQUFDaUMsV0FBTCxDQUFpQixJQUFqQjtBQUNEO0FBQ0YsT0FKRDtBQUtBLGFBQU9QLGlCQUFQOztBQUNGLFNBQUtFLE1BQUw7QUFDRTtBQUNBbkwsYUFBTyxDQUFDQyxHQUFSLENBQVlzTCxXQUFaLENBQXdCLFVBQUNoQyxJQUFELEVBQVU7QUFDaEMsWUFBSXdCLFlBQVksQ0FBQzFLLFFBQWIsR0FBd0IsQ0FBeEIsS0FBOEJrSixJQUFJLENBQUNsSixRQUF2QyxFQUFpRDtBQUMvQ2tKLGNBQUksQ0FBQ2lDLFdBQUwsQ0FBaUIsSUFBakI7QUFDRDtBQUNGLE9BSkQ7QUFLQSxhQUFPUCxpQkFBUDs7QUFDRixTQUFLSSxRQUFMO0FBQ0EsU0FBS0MsU0FBTDtBQUNFLGFBQU9MLGlCQUFQOztBQUNGO0FBQ0UsWUFBTSxJQUFJUSxLQUFKLENBQVUsaUNBQVYsQ0FBTjtBQXJCSjtBQXVCRDs7QUFFTSxTQUFTcEUsZUFBVCxDQUF5QnpILEVBQXpCLEVBQTZCMEYsSUFBN0IsRUFBbUM7QUFDeEMsU0FBT0EsSUFBSSxDQUFDLDJCQUFXMUYsRUFBWCxFQUFlSSxPQUFmLENBQXVCc0QsT0FBdkIsQ0FBK0I4RCxZQUFoQyxDQUFYO0FBQ0Q7O0FBRU0sU0FBU3NFLGNBQVQsQ0FBd0I5TCxFQUF4QixFQUE0QitMLElBQTVCLEVBQWtDO0FBQ3ZDLE1BQU0zTCxPQUFPLEdBQUcsMkJBQVdKLEVBQVgsRUFBZUksT0FBL0I7QUFFQUEsU0FBTyxDQUFDQyxHQUFSLENBQVkyTCxVQUFaLENBQXVCRCxJQUF2QjtBQUNBM0wsU0FBTyxDQUFDK0YsT0FBUixHQUFrQjRGLElBQWxCO0FBQ0EzTCxTQUFPLENBQUNDLEdBQVIsQ0FBWTRMLHlCQUFaLENBQXNDLE9BQXRDO0FBQ0Q7O0FBRU0sU0FBU0MsYUFBVCxDQUF1QmxNLEVBQXZCLEVBQTJCQyxHQUEzQixFQUFnQztBQUNyQyxNQUFNRyxPQUFPLEdBQUcsMkJBQVdKLEVBQVgsRUFBZUksT0FBL0I7QUFFQUEsU0FBTyxDQUFDQyxHQUFSLENBQVk4TCxhQUFaLENBQTBCO0FBQUVDLFVBQU0sRUFBRSxDQUFDbk0sR0FBRDtBQUFWLEdBQTFCO0FBQ0FHLFNBQU8sQ0FBQ0MsR0FBUixDQUFZNEwseUJBQVosQ0FBc0MsT0FBdEM7QUFDRDs7QUFFTSxTQUFTSSxhQUFULENBQXVCck0sRUFBdkIsRUFBMkJzTSxPQUEzQixFQUFvQztBQUN6QyxNQUFNbE0sT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBQ0EsTUFBSW1NLEtBQUssR0FBRyxFQUFaO0FBRUFELFNBQU8sQ0FBQ3hDLE9BQVIsQ0FBZ0IsVUFBQWlCLEtBQUssRUFBSTtBQUN2QndCLFNBQUssQ0FBQ0MsSUFBTixDQUFXcE0sT0FBTyxDQUFDQyxHQUFSLENBQVlrQixVQUFaLENBQXVCd0osS0FBdkIsRUFBOEJyRixJQUF6QztBQUNELEdBRkQ7QUFJQXRGLFNBQU8sQ0FBQ0MsR0FBUixDQUFZOEwsYUFBWixDQUEwQjtBQUFFNUMsVUFBTSxFQUFFZ0Q7QUFBVixHQUExQjtBQUNBbk0sU0FBTyxDQUFDQyxHQUFSLENBQVk0TCx5QkFBWixDQUFzQyxPQUF0QztBQUNEOztBQUVNLFNBQVNRLFVBQVQsQ0FBb0J6TSxFQUFwQixFQUF3QitLLEtBQXhCLEVBQStCMkIsSUFBL0IsRUFBcUM7QUFDMUMsTUFBTXRNLE9BQU8sR0FBRywyQkFBV0osRUFBWCxFQUFlSSxPQUEvQjtBQUVBQSxTQUFPLENBQUNDLEdBQVIsQ0FBWThMLGFBQVosQ0FBMEI7QUFBRVEsT0FBRyxFQUFFRCxJQUFQO0FBQWFFLFlBQVEsRUFBRTdCO0FBQXZCLEdBQTFCO0FBQ0EzSyxTQUFPLENBQUNDLEdBQVIsQ0FBWTRMLHlCQUFaLENBQXNDLE9BQXRDO0FBQ0Q7QUFFRDs7Ozs7Ozs7QUFNTyxTQUFTWSxnQkFBVCxDQUEwQjdNLEVBQTFCLEVBQThCOE0sTUFBOUIsRUFBc0M7QUFDM0MsTUFBTTFNLE9BQU8sR0FBRywyQkFBV0osRUFBWCxFQUFlSSxPQUEvQjtBQUVBQSxTQUFPLENBQUNDLEdBQVIsQ0FBWXNMLFdBQVosQ0FBd0IsVUFBQTFMLEdBQUcsRUFBSTtBQUM3QkEsT0FBRyxDQUFDOE0sWUFBSixDQUFpQkQsTUFBakI7QUFDRCxHQUZEO0FBR0ExTSxTQUFPLENBQUNDLEdBQVIsQ0FBWTJNLGtCQUFaO0FBQ0Q7QUFFRDs7Ozs7Ozs7O0FBT08sU0FBU0MsZUFBVCxDQUF5QmpOLEVBQXpCLEVBQTZCK0ssS0FBN0IsRUFBb0MrQixNQUFwQyxFQUE0QztBQUNqRCxNQUFNMU0sT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBQ0EsTUFBTUgsR0FBRyxHQUFHRyxPQUFPLENBQUNDLEdBQVIsQ0FBWTZNLHNCQUFaLENBQW1DbkMsS0FBbkMsQ0FBWjs7QUFFQSxNQUFJOUssR0FBSixFQUFTO0FBQ1BBLE9BQUcsQ0FBQzhNLFlBQUosQ0FBaUJELE1BQWpCO0FBQ0ExTSxXQUFPLENBQUNDLEdBQVIsQ0FBWTJNLGtCQUFaO0FBQ0QsR0FIRCxNQUdPO0FBQ0wxRyxXQUFPLENBQUM2RyxJQUFSLHdDQUE2Q3BDLEtBQTdDO0FBQ0Q7QUFDRjs7QUFFTSxTQUFTcUMsa0JBQVQsQ0FBNEJwTixFQUE1QixFQUFnQzBNLElBQWhDLEVBQXNDO0FBQzNDLE1BQU10TSxPQUFPLEdBQUcsMkJBQVdKLEVBQVgsRUFBZUksT0FBL0I7QUFFQUEsU0FBTyxDQUFDQyxHQUFSLENBQVlnTiw2QkFBWixDQUEwQyxVQUFBMUQsSUFBSSxFQUFJO0FBQ2hELFFBQUkrQyxJQUFJLENBQUNZLE9BQUwsQ0FBYTNELElBQUksQ0FBQ2xKLFFBQWxCLElBQThCLENBQUMsQ0FBbkMsRUFBc0M7QUFDcENrSixVQUFJLENBQUNpQyxXQUFMLENBQWlCLElBQWpCO0FBQ0FqQyxVQUFJLENBQUM0RCxRQUFMLEdBQWdCLElBQWhCO0FBQ0Q7QUFDRixHQUxEO0FBTUFuTixTQUFPLENBQUNDLEdBQVIsQ0FBWW1OLDBCQUFaO0FBQ0Q7O0FBRU0sU0FBU0MsWUFBVCxDQUFzQnpOLEVBQXRCLEVBQTBCME4sUUFBMUIsRUFBb0M7QUFDekMsTUFBTXROLE9BQU8sR0FBRywyQkFBV0osRUFBWCxFQUFlSSxPQUEvQjs7QUFFQSxNQUFJLE1BQU1zTixRQUFWLEVBQW9CO0FBQ2xCdE4sV0FBTyxDQUFDQyxHQUFSLENBQVlzTixpQkFBWjtBQUNELEdBRkQsTUFFTztBQUNMdk4sV0FBTyxDQUFDQyxHQUFSLENBQVl1TixTQUFaO0FBQ0Q7QUFDRjs7QUFFTSxTQUFTQyxjQUFULENBQXdCN04sRUFBeEIsRUFBNEIwTixRQUE1QixFQUFzQztBQUMzQyxNQUFNdE4sT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9COztBQUVBLE1BQUksTUFBTXNOLFFBQVYsRUFBb0I7QUFDbEJ0TixXQUFPLENBQUNDLEdBQVIsQ0FBWXlOLG1CQUFaO0FBQ0QsR0FGRCxNQUVPO0FBQ0wxTixXQUFPLENBQUNDLEdBQVIsQ0FBWTBOLFdBQVo7QUFDRDtBQUNGO0FBRUQ7Ozs7Ozs7OztBQU9PLFNBQVNDLGtCQUFULENBQTRCaE8sRUFBNUIsRUFBZ0M7QUFDckMsTUFBTUksT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBQ0EsTUFBTTZOLEtBQUssR0FBRzdOLE9BQU8sQ0FBQ0MsR0FBUixDQUFZNk4sZ0JBQVosRUFBZDtBQUNBLE1BQUlDLE1BQU0sR0FBRyxFQUFiO0FBRUFGLE9BQUssQ0FBQ25FLE9BQU4sQ0FBYyxVQUFBSCxJQUFJLEVBQUk7QUFDcEJ3RSxVQUFNLENBQUMzQixJQUFQLENBQVksOEJBQWE3QyxJQUFiLEVBQW1CdkosT0FBTyxDQUFDc0QsT0FBM0IsQ0FBWjtBQUNELEdBRkQ7QUFJQSxTQUFPekUsSUFBSSxDQUFDdUQsU0FBTCxDQUFlMkwsTUFBZixDQUFQO0FBQ0Q7QUFFRDs7Ozs7Ozs7O0FBT08sU0FBU0MsaUJBQVQsQ0FBMkJwTyxFQUEzQixFQUErQjtBQUNwQyxNQUFNME0sSUFBSSxHQUFHek4sSUFBSSxDQUFDQyxLQUFMLENBQVc4TyxrQkFBa0IsQ0FBQ2hPLEVBQUQsQ0FBN0IsQ0FBYjs7QUFFQSxNQUFJME0sSUFBSSxDQUFDMkIsTUFBVCxFQUFpQjtBQUNmLFdBQU9wUCxJQUFJLENBQUN1RCxTQUFMLENBQWVrSyxJQUFJLENBQUNBLElBQUksQ0FBQzJCLE1BQUwsR0FBYyxDQUFmLENBQW5CLENBQVA7QUFDRDs7QUFFRCxTQUFPLEVBQVA7QUFDRDtBQUVEOzs7Ozs7Ozs7OztBQVNPLFNBQVNDLHFCQUFULENBQStCdE8sRUFBL0IsRUFBbUM7QUFDeEMsTUFBTUksT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBQ0EsTUFBTXNELE9BQU8sR0FBR3RELE9BQU8sQ0FBQ3NELE9BQXhCO0FBQ0EsTUFBTXJELEdBQUcsR0FBR0QsT0FBTyxDQUFDQyxHQUFwQjtBQUNBLE1BQU1rTyxNQUFNLEdBQUdsTyxHQUFHLENBQUNtTyxhQUFKLEVBQWY7QUFDQSxNQUFNQyxLQUFLLEdBQUdwTyxHQUFHLENBQUNxTyxRQUFKLEVBQWQ7QUFDQSxNQUFJQyxNQUFNLEdBQUcsRUFBYjtBQUVBSixRQUFNLENBQUN6RSxPQUFQLENBQWUsVUFBQThFLEtBQUssRUFBSTtBQUV0QjtBQUNBO0FBRUE7QUFDQSxRQUFNaEwsT0FBTyxHQUFHZ0wsS0FBSyxDQUFDaEwsT0FBTixDQUFjbEUsTUFBZCxDQUFxQixVQUFDbVAsV0FBRCxFQUFjQyxPQUFkLEVBQTBCO0FBRTdELFVBQUkseUJBQXlCQSxPQUFPLENBQUNuTixLQUFyQyxFQUE0QztBQUMxQ2tOLG1CQUFXLENBQUNyQyxJQUFaLENBQWlCc0MsT0FBTyxDQUFDbk4sS0FBekI7QUFDRDs7QUFFRCxhQUFPa04sV0FBUDtBQUNELEtBUGUsRUFPYixFQVBhLEVBT1RyRSxNQVBTLENBT0Z1RSxPQVBFLENBQWhCO0FBU0EsUUFBTUMsU0FBUyxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU04sS0FBSyxDQUFDTyxRQUFOLENBQWUxTyxRQUF4QixFQUFrQ21PLEtBQUssQ0FBQ1EsTUFBTixDQUFhM08sUUFBL0MsQ0FBbEI7QUFDQSxRQUFNNE8sUUFBUSxHQUFHSixJQUFJLENBQUNLLEdBQUwsQ0FBU1YsS0FBSyxDQUFDTyxRQUFOLENBQWUxTyxRQUF4QixFQUFrQ21PLEtBQUssQ0FBQ1EsTUFBTixDQUFhM08sUUFBL0MsQ0FBakI7QUFDQSxRQUFNaU0sSUFBSSxHQUFHLEVBQWI7O0FBRUEsU0FBSyxJQUFJak0sUUFBUSxHQUFHdU8sU0FBcEIsRUFBK0J2TyxRQUFRLElBQUk0TyxRQUEzQyxFQUFxRDVPLFFBQVEsRUFBN0QsRUFBaUU7QUFDL0QsVUFBTWtKLElBQUksR0FBRzhFLEtBQUssQ0FBQ2MsTUFBTixDQUFhOU8sUUFBYixDQUFiOztBQUNBLFVBQUlrSixJQUFKLEVBQVU7QUFDUixZQUFNNkYsVUFBVSxHQUFHLDhCQUFhN0YsSUFBYixFQUFtQmpHLE9BQW5CLENBQW5CO0FBQ0EsWUFBRzhMLFVBQUgsRUFBZTlDLElBQUksQ0FBQ0YsSUFBTCxDQUFVZ0QsVUFBVjtBQUNoQjtBQUNGOztBQUVELFFBQUk5QyxJQUFJLENBQUMyQixNQUFMLElBQWV6SyxPQUFPLENBQUN5SyxNQUEzQixFQUFtQztBQUNqQ00sWUFBTSxDQUFDbkMsSUFBUCxDQUFZO0FBQUVFLFlBQUksRUFBSkEsSUFBRjtBQUFROUksZUFBTyxFQUFQQTtBQUFSLE9BQVo7QUFDRCxLQTdCcUIsQ0E4QnRCOztBQUNELEdBL0JEO0FBaUNBLFNBQU8zRSxJQUFJLENBQUN1RCxTQUFMLENBQWVtTSxNQUFmLENBQVA7QUFDRDtBQUVEOzs7Ozs7OztBQU1PLFNBQVNjLGVBQVQsQ0FBeUJ6UCxFQUF6QixFQUE2QjRPLEtBQTdCLEVBQW9DO0FBQ3pDLE1BQU14TyxPQUFPLEdBQUcsMkJBQVdKLEVBQVgsRUFBZUksT0FBL0I7QUFDQSxNQUFNc1AsRUFBRSxHQUFHM1EsYUFBYSxDQUFDRSxJQUFJLENBQUN1RCxTQUFMLENBQWVvTSxLQUFmLENBQUQsQ0FBeEI7QUFDQSxNQUFNZSxLQUFLLEdBQUcsRUFBRUQsRUFBRSxDQUFDQyxLQUFILElBQVksSUFBZCxJQUNaLENBRFksR0FDUHBQLE1BQU0sQ0FBQ2UsU0FBUCxDQUFpQixDQUFDb08sRUFBRSxDQUFDQyxLQUFyQixJQUE4QixDQUFDRCxFQUFFLENBQUNDLEtBQWxDLEdBQTBDdlAsT0FBTyxDQUFDQyxHQUFSLENBQVlrQixVQUFaLENBQXVCbU8sRUFBRSxDQUFDQyxLQUExQixFQUFpQ2xQLFFBRGxGO0FBRUEsTUFBTW1QLEdBQUcsR0FBRyxFQUFFRixFQUFFLENBQUNFLEdBQUgsSUFBVSxJQUFaLElBQ1R4UCxPQUFPLENBQUMrRixPQUFSLENBQWdCa0ksTUFBaEIsR0FBeUIsQ0FEaEIsR0FDc0I5TixNQUFNLENBQUNlLFNBQVAsQ0FBaUIsQ0FBQ29PLEVBQUUsQ0FBQ0UsR0FBckIsSUFBNEIsQ0FBQ0YsRUFBRSxDQUFDRSxHQUFoQyxHQUFzQ3hQLE9BQU8sQ0FBQ0MsR0FBUixDQUFZa0IsVUFBWixDQUF1Qm1PLEVBQUUsQ0FBQ0UsR0FBMUIsRUFBK0JuUCxRQUR2RztBQUdBTCxTQUFPLENBQUNDLEdBQVIsQ0FBWXdQLFlBQVosQ0FBeUI7QUFDdkJDLGlCQUFhLEVBQUViLElBQUksQ0FBQ2MsR0FBTCxDQUFTSixLQUFULENBRFE7QUFFdkJLLGVBQVcsRUFBRWYsSUFBSSxDQUFDYyxHQUFMLENBQVNILEdBQVQsQ0FGVTtBQUd2QmhNLFdBQU8sRUFBRThMLEVBQUUsQ0FBQzlMO0FBSFcsR0FBekI7QUFLRDtBQUVEOzs7Ozs7O0FBS08sU0FBU3FNLHNCQUFULENBQWdDalEsRUFBaEMsRUFBb0M7QUFDekMsNkJBQVdBLEVBQVgsRUFDR0ksT0FESCxDQUVHQyxHQUZILENBR0c2UCxtQkFISDtBQUlELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDclNEOztBQVJBOzs7Ozs7O0FBVU8sU0FBU0MsV0FBVCxDQUFxQm5RLEVBQXJCLEVBQXlCb1EsS0FBekIsRUFBZ0M7QUFDckMsTUFBTWhRLE9BQU8sR0FBRywyQkFBV0osRUFBWCxFQUFlSSxPQUEvQjs7QUFFQSxNQUFJO0FBQ0ZBLFdBQU8sQ0FBQ3FCLFNBQVIsQ0FBa0I0TyxjQUFsQixDQUFpQ0QsS0FBSyxDQUFDeE0sT0FBdkM7QUFDQXhELFdBQU8sQ0FBQ3FCLFNBQVIsQ0FBa0I2TyxtQkFBbEIsQ0FBc0NGLEtBQUssQ0FBQ0csTUFBNUM7QUFDQW5RLFdBQU8sQ0FBQ0MsR0FBUixDQUFZbVEsWUFBWixDQUF5QkosS0FBSyxDQUFDSyxJQUEvQjtBQUNBclEsV0FBTyxDQUFDQyxHQUFSLENBQVlxUSxjQUFaLENBQTJCTixLQUFLLENBQUNPLE9BQWpDO0FBQ0QsR0FMRCxDQUtFLE9BQU81SixDQUFQLEVBQVU7QUFDVlQsV0FBTyxDQUFDNkcsSUFBUixDQUFhLHNDQUFiLEVBQXFEcEcsQ0FBckQ7QUFDRDtBQUNGOztBQUVNLFNBQVM2SixXQUFULENBQXFCNVEsRUFBckIsRUFBeUI7QUFDOUIsTUFBTUksT0FBTyxHQUFHLDJCQUFXSixFQUFYLEVBQWVJLE9BQS9CO0FBQ0EsTUFBTXdELE9BQU8sR0FBR3hELE9BQU8sQ0FBQ3FCLFNBQVIsQ0FBa0JvUCxjQUFsQixFQUFoQjtBQUNBLE1BQU1OLE1BQU0sR0FBR25RLE9BQU8sQ0FBQ3FCLFNBQVIsQ0FBa0JxUCxtQkFBbEIsRUFBZjtBQUNBLE1BQU1MLElBQUksR0FBR3JRLE9BQU8sQ0FBQ0MsR0FBUixDQUFZMFEsWUFBWixFQUFiO0FBQ0EsTUFBTUosT0FBTyxHQUFHdlEsT0FBTyxDQUFDQyxHQUFSLENBQVkyUSxjQUFaLEVBQWhCOztBQUVBLE1BQUk7QUFDRixXQUFPL1IsSUFBSSxDQUFDdUQsU0FBTCxDQUFlO0FBQ3BCb0IsYUFBTyxFQUFQQSxPQURvQjtBQUVwQjJNLFlBQU0sRUFBTkEsTUFGb0I7QUFHcEJFLFVBQUksRUFBSkEsSUFIb0I7QUFJcEJFLGFBQU8sRUFBUEE7QUFKb0IsS0FBZixDQUFQO0FBTUQsR0FQRCxDQU9FLE9BQU81SixDQUFQLEVBQVU7QUFDVlQsV0FBTyxDQUFDNkcsSUFBUixDQUFhLDBDQUFiLEVBQXlEcEcsQ0FBekQ7QUFDRDtBQUNGLEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNoQ0Q7O0FBUkE7Ozs7Ozs7QUFVTyxTQUFTa0ssa0NBQVQsQ0FBNENqUixFQUE1QyxFQUFnREosR0FBaEQsRUFBcURzUixVQUFyRCxFQUFpRTtBQUN2RSw2QkFBV2xSLEVBQVgsRUFDRUksT0FERixDQUVFQyxHQUZGLENBR0U4USxjQUhGLENBR2lCdlIsR0FIakIsRUFJRXdSLFVBSkYsQ0FJYXJDLE9BQU8sQ0FBQ21DLFVBQUQsQ0FKcEI7QUFLQSxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDUkQ7O0FBUkE7Ozs7Ozs7QUFVTyxTQUFTRyxvQkFBVCxDQUE4QnJSLEVBQTlCLEVBQWtDc0YsS0FBbEMsRUFBeUM7QUFDOUMsNkJBQVd0RixFQUFYLEVBQ0dJLE9BREgsQ0FFR0MsR0FGSCxDQUdHaVIsaUJBSEgsQ0FHcUJ2QyxPQUFPLENBQUN6SixLQUFELENBSDVCO0FBSUQ7O0FBRU0sU0FBU2lNLGdCQUFULENBQTBCOUgsTUFBMUIsRUFBa0MrSCxXQUFsQyxFQUErQztBQUNwRCw2QkFBVy9ILE1BQVgsRUFDR3JKLE9BREgsQ0FFR0MsR0FGSCxDQUdHb1IsYUFISCxDQUdpQkQsV0FIakI7QUFJRDs7QUFFTSxTQUFTRSxpQkFBVCxDQUEyQmpJLE1BQTNCLEVBQW1DK0gsV0FBbkMsRUFBZ0Q7QUFDckQsNkJBQVcvSCxNQUFYLEVBQ0dySixPQURILENBRUdDLEdBRkgsQ0FHR3NSLGNBSEgsQ0FHa0JILFdBSGxCO0FBSUQ7O0FBRU0sU0FBU0ksdUJBQVQsQ0FBaUM1UixFQUFqQyxFQUFxQzZSLFFBQXJDLEVBQStDO0FBQ3BELDZCQUFXN1IsRUFBWCxFQUNHSSxPQURILENBRUdDLEdBRkgsQ0FHR3lSLG9CQUhILENBR3dCL0MsT0FBTyxDQUFDOEMsUUFBRCxDQUgvQjtBQUlELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDcENEOzs7Ozs7OztBQVFBOzs7Ozs7O0FBT08sU0FBU0UsY0FBVCxHQUEwQjtBQUMvQixTQUFPLE9BQU9DLElBQVAsS0FBZ0IsV0FBaEIsR0FBOEJBLElBQTlCLEdBQXFDQyxRQUE1QztBQUNEO0FBRUQ7Ozs7Ozs7OztBQU9PLFNBQVNDLFlBQVQsR0FBd0I7QUFDN0IsU0FBTyxPQUFPQyxJQUFQLEtBQWdCLFdBQWhCLEdBQThCQSxJQUE5QixHQUFxQ0MsTUFBNUM7QUFDRDtBQUVEOzs7Ozs7Ozs7OztBQVNPLFNBQVNDLFNBQVQsQ0FBbUIvTSxLQUFuQixFQUEwQjtBQUMvQixTQUFPQSxLQUFLLEtBQUssSUFBVixJQUFrQkEsS0FBSyxLQUFLZ04sU0FBNUIsR0FBd0NoTixLQUF4QyxHQUFnRCxFQUF2RDtBQUNEO0FBRUQ7Ozs7Ozs7Ozs7OztBQVVPLFNBQVNpTixVQUFULENBQW9CdlMsRUFBcEIsRUFBd0I7QUFDN0JvUyxRQUFNLENBQUNJLGVBQVAsR0FBeUJKLE1BQU0sQ0FBQ0ksZUFBUCxJQUEwQixFQUFuRDtBQUNBLE1BQU1sUSxJQUFJLEdBQUk4UCxNQUFNLENBQUNJLGVBQVAsQ0FBdUJ4UyxFQUF2QixLQUE4QixJQUE1Qzs7QUFFQSxNQUFJLENBQUNzQyxJQUFMLEVBQVc7QUFDVCxRQUFNbVEsZUFBZSxHQUFHeFQsSUFBSSxDQUFDdUQsU0FBTCxDQUFlaEQsTUFBTSxDQUFDQyxJQUFQLENBQVkyUyxNQUFNLENBQUNJLGVBQW5CLENBQWYsQ0FBeEIsQ0FEUyxDQUVUOztBQUVBLFVBQU0sSUFBSUUsU0FBSiwwS0FHVzFTLEVBSFgscUNBSVd5UyxlQUpYLFFBQU47QUFNRDs7QUFFRCxTQUFPblEsSUFBUDtBQUNEO0FBRUQ7Ozs7Ozs7Ozs7OztBQVVPLFNBQVNxUSxVQUFULENBQW9CM1MsRUFBcEIsRUFBd0JJLE9BQXhCLEVBQWlDO0FBQ3RDZ1MsUUFBTSxDQUFDSSxlQUFQLEdBQXlCSixNQUFNLENBQUNJLGVBQVAsSUFBMEIsRUFBbkQ7QUFDQUosUUFBTSxDQUFDSSxlQUFQLENBQXVCeFMsRUFBdkIsSUFBNkJJLE9BQTdCO0FBRUEsU0FBT21TLFVBQVUsQ0FBQ3ZTLEVBQUQsQ0FBakI7QUFDRCxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDdkZEOzs7Ozs7O0FBUUE7QUFDTyxJQUFNNFMsa0JBQWtCLEdBQUcsRUFBM0I7O0FBQ0EsSUFBTUMseUJBQXlCLEdBQUcsRUFBbEM7O0FBQ0EsSUFBTUMsbUJBQW1CLEdBQUcsSUFBNUI7O0FBQ0EsSUFBTUMsMEJBQTBCLEdBQUcsSUFBbkMsQyxDQUVQOzs7QUFDTyxJQUFNQyw2QkFBNkIsR0FBRyxJQUF0Qzs7QUFDQSxJQUFNQyw2QkFBNkIsR0FBRyxJQUF0Qzs7QUFDQSxJQUFNQywyQkFBMkIsR0FBRyxJQUFwQzs7QUFDQSxJQUFNQyw0QkFBNEIsR0FBSSxJQUF0Qzs7QUFDQSxJQUFNQyw0QkFBNEIsR0FBRyxJQUFyQyxDLENBRVA7OztBQUNPLElBQU1DLDBCQUEwQixHQUFHLElBQW5DLEMsQ0FFUDs7O0FBQ08sSUFBTUMsZ0NBQWdDLEdBQUcsSUFBekM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2pCUDs7QUFDQTs7QUFDQTs7QUFWQTs7Ozs7OztBQWtCQSxJQUFNQyx1QkFBdUIsR0FBRztBQUM5Qix3QkFBd0JQLHdDQURNO0FBRTlCLHdCQUF3QkMsd0NBRk07QUFHOUIsc0JBQXNCQztBQUhRLENBQWhDO0FBTUEsSUFBTU0sc0JBQXNCLEdBQUc7QUFDN0IsdUJBQXVCTCx1Q0FETTtBQUU3Qix1QkFBdUJDO0FBRk0sQ0FBL0I7QUFLQTs7Ozs7Ozs7Ozs7Ozs7OztBQWVPLFNBQVNLLHFCQUFULENBQStCelQsRUFBL0IsRUFBbUMrRyxDQUFuQyxFQUFzQztBQUUzQyxNQUFNekIsS0FBSyxHQUFHLDJCQUFVeUIsQ0FBQyxDQUFDMk0sUUFBWixLQUF5QiwyQkFBVTNNLENBQUMsQ0FBQ3pCLEtBQVosQ0FBdkM7QUFDQSxNQUFNcU8sUUFBUSxHQUFHLDJCQUFVNU0sQ0FBQyxDQUFDNE0sUUFBWixLQUF5QiwyQkFBVTVNLENBQUMsQ0FBQzJNLFFBQVosQ0FBekIsSUFBa0QsMkJBQVUzTSxDQUFDLENBQUN6QixLQUFaLENBQW5FLENBSDJDLENBSzNDOztBQUVBLE1BQU02SSxNQUFNLEdBQUcsc0NBQXNCcEgsQ0FBdEIsQ0FBZjtBQUNBLE1BQU02TSxJQUFJLEdBQUc3TSxDQUFDLENBQUM2TSxJQUFmO0FBQ0EsTUFBTWpTLEtBQUssR0FBR29GLENBQUMsQ0FBQzNGLE1BQUYsQ0FBU08sS0FBdkI7O0FBRUEsTUFBSXdNLE1BQUosRUFBWTtBQUNWLGlDQUNFLDRCQUFXbk8sRUFBWCxFQUFlSSxPQUFmLENBQXVCc0QsT0FEekIsRUFFRTtBQUNFLDJCQUFja1EsSUFBZCxDQURGO0FBRUUsZ0JBQVUzVSxJQUFJLENBQUN1RCxTQUFMLENBQWU7QUFDdkJ2QyxXQUFHLEVBQUVrTyxNQURrQjtBQUV2QjdJLGFBQUssRUFBTEEsS0FGdUI7QUFHdkJxTyxnQkFBUSxFQUFSQSxRQUh1QjtBQUl2QnZTLGNBQU0sRUFBRU87QUFKZSxPQUFmO0FBRlosS0FGRixFQVdFNFIsdUJBQXVCLENBQUNLLElBQUQsQ0FYekI7QUFhRDtBQUNGO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0FBWU8sU0FBU0Msb0JBQVQsQ0FBOEI3VCxFQUE5QixFQUFrQytHLENBQWxDLEVBQXFDO0FBQzFDLE1BQU1vSCxNQUFNLEdBQUcsc0NBQXNCcEgsQ0FBdEIsQ0FBZjs7QUFFQSxNQUFJb0gsTUFBSixFQUFZO0FBQ1YsUUFBTXlGLElBQUksR0FBRzdNLENBQUMsQ0FBQzZNLElBQWY7QUFDQSxpQ0FDRSw0QkFBVzVULEVBQVgsRUFBZUksT0FBZixDQUF1QnNELE9BRHpCLEVBRUU7QUFDRSwyQkFBY3FELENBQUMsQ0FBQzZNLElBQWhCLENBREY7QUFFRSxnQkFBVTNVLElBQUksQ0FBQ3VELFNBQUwsQ0FBZTJMLE1BQWY7QUFGWixLQUZGLEVBTUVxRixzQkFBc0IsQ0FBQ0ksSUFBRCxDQU54QjtBQVFEO0FBQ0YsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDMUZEOztBQU9BOztBQUtBOztBQUlBLHFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaEJBOztBQUNBOztBQUNBOztBQVZBOzs7Ozs7O0FBa0JBLElBQU1FLHdCQUF3QixHQUFHO0FBQy9CLGlCQUFlaEIsOEJBRGdCO0FBRS9CLHVCQUFxQkM7QUFGVSxDQUFqQztBQUtBOzs7Ozs7Ozs7OztBQVVPLFNBQVNsTCxxQkFBVCxDQUErQmQsQ0FBL0IsRUFBa0M7QUFDdkMsTUFBTXJELE9BQU8sR0FBR3FELENBQUMsQ0FBQzFHLEdBQUYsQ0FBTTJELGtCQUFOLENBQXlCQyxXQUF6QixDQUFxQ1AsT0FBckQ7QUFDQSwrQkFBYUEsT0FBYixFQUFzQjtBQUNwQixZQUFRLG1CQURZO0FBRXBCLGNBQVU7QUFGVSxHQUF0QixFQUdHbVAsb0NBSEg7QUFJRDtBQUVEOzs7Ozs7Ozs7O0FBUU8sU0FBUy9LLHFCQUFULENBQStCZixDQUEvQixFQUFrQztBQUN2QyxNQUFNckQsT0FBTyxHQUFHcUQsQ0FBQyxDQUFDMUcsR0FBRixDQUFNMkQsa0JBQU4sQ0FBeUJDLFdBQXpCLENBQXFDUCxPQUFyRDtBQUNBLCtCQUFhQSxPQUFiLEVBQXNCO0FBQ3BCLFlBQVEsY0FEWTtBQUVwQixjQUFVO0FBRlUsR0FBdEIsRUFHR2tQLDZCQUhIO0FBSUQ7QUFFRDs7Ozs7Ozs7OztBQVFPLFNBQVM3SywwQkFBVCxDQUFvQ2hCLENBQXBDLEVBQXVDO0FBQzVDLE1BQU1yRCxPQUFPLEdBQUdxRCxDQUFDLENBQUMxRyxHQUFGLENBQU0yRCxrQkFBTixDQUF5QkMsV0FBekIsQ0FBcUNQLE9BQXJEO0FBQ0EsK0JBQWFBLE9BQWIsRUFBc0I7QUFDcEIsWUFBUSxtQkFEWTtBQUVwQixjQUFVO0FBRlUsR0FBdEIsRUFHRzRQLDJDQUhIO0FBSUQ7QUFFRDs7Ozs7Ozs7Ozs7Ozs7QUFZTyxTQUFTUyxtQkFBVCxDQUE2Qi9ULEVBQTdCLEVBQWlDK0csQ0FBakMsRUFBb0M7QUFDekMsTUFBTW9ILE1BQU0sR0FBRyxzQ0FBc0JwSCxDQUF0QixDQUFmOztBQUVBLE1BQUlvSCxNQUFKLEVBQVk7QUFDVixRQUFNeUYsSUFBSSxHQUFHN00sQ0FBQyxDQUFDNk0sSUFBZjtBQUNBLGlDQUFhLDRCQUFXNVQsRUFBWCxFQUFlSSxPQUFmLENBQXVCc0QsT0FBcEMsRUFBNkM7QUFDM0MsMkJBQWNxRCxDQUFDLENBQUM2TSxJQUFoQixDQUQyQztBQUUzQyxnQkFBVTNVLElBQUksQ0FBQ3VELFNBQUwsQ0FBZTtBQUN2QnZDLFdBQUcsRUFBRWtPLE1BRGtCO0FBRXZCN0ksYUFBSyxFQUFFLDJCQUFVeUIsQ0FBQyxDQUFDekIsS0FBWixDQUZnQjtBQUd2QnFPLGdCQUFRLEVBQUUsMkJBQVU1TSxDQUFDLENBQUN6QixLQUFaLENBSGE7QUFJdkJsRSxjQUFNLEVBQUUyRixDQUFDLENBQUMzRixNQUFGLENBQVNPO0FBSk0sT0FBZjtBQUZpQyxLQUE3QyxFQVFHbVMsd0JBQXdCLENBQUNGLElBQUQsQ0FSM0I7QUFTRDtBQUNGLEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDNUZEOztBQUNBOztBQUNBOztBQVZBOzs7Ozs7OztBQWNBOzs7Ozs7Ozs7QUFTTyxTQUFTSSxlQUFULENBQXlCaFUsRUFBekIsRUFBNkIrRyxDQUE3QixFQUFnQztBQUVyQztBQUNBLE1BQU1rTixhQUFhLEdBQUcsNEJBQVksVUFBQUMsV0FBVyxFQUFJO0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQUMscUJBQWlCLENBQUNuVSxFQUFELEVBQUtrVSxXQUFMLENBQWpCO0FBQ0QsR0FUcUIsRUFTbkIsR0FUbUIsQ0FBdEI7QUFXQSxHQUNFLGFBREYsRUFFRSxlQUZGLEVBR0UsZUFIRixFQUlFLGNBSkYsRUFLRSxlQUxGLEVBTUUsYUFORixFQU9FLGtCQVBGLEVBUUUsb0JBUkYsRUFTRSx5QkFURixFQVVFLHVCQVZGLEVBV0UseUJBWEYsRUFZRTtBQUNBLHVCQWJGLEVBZUVwSyxPQWZGLENBZVUsVUFBQXNLLEtBQUssRUFBSTtBQUNqQixnQ0FBV3BVLEVBQVgsRUFBZUksT0FBZixDQUF1QkMsR0FBdkIsQ0FBMkJnVSxnQkFBM0IsQ0FBNENELEtBQTVDLEVBQW1ESCxhQUFuRDtBQUNELEdBakJEO0FBa0JEO0FBRUQ7Ozs7Ozs7Ozs7Ozs7QUFXTyxTQUFTRSxpQkFBVCxDQUEyQm5VLEVBQTNCLEVBQStCK0csQ0FBL0IsRUFBa0M7QUFDdkMsK0JBQ0UsNEJBQVcvRyxFQUFYLEVBQWVJLE9BQWYsQ0FBdUJzRCxPQUR6QixFQUVFO0FBQ0UsWUFBUSxpQkFEVjtBQUVFLGNBQVU7QUFGWixHQUZGLEVBTUUyUCxxQ0FORjtBQVFELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNyRUQ7O0FBUkE7Ozs7Ozs7O0FBVUE7QUFDTyxTQUFTaUIsV0FBVCxDQUFxQkMsSUFBckIsRUFBMkJDLElBQTNCLEVBQWlDQyxTQUFqQyxFQUE0QztBQUNqRCxNQUFJQyxPQUFKO0FBQ0EsU0FBTyxZQUFZO0FBQ2pCLFFBQUloUixPQUFPLEdBQUcsSUFBZDtBQUFBLFFBQW9CaVIsSUFBSSxHQUFHQyxTQUEzQjs7QUFDQSxRQUFJQyxLQUFLLEdBQUcsU0FBUkEsS0FBUSxHQUFZO0FBQ3RCSCxhQUFPLEdBQUcsSUFBVjtBQUNBLFVBQUksQ0FBQ0QsU0FBTCxFQUFnQkYsSUFBSSxDQUFDTyxLQUFMLENBQVdwUixPQUFYLEVBQW9CaVIsSUFBcEI7QUFDakIsS0FIRDs7QUFJQSxRQUFJSSxPQUFPLEdBQUdOLFNBQVMsSUFBSSxDQUFDQyxPQUE1QjtBQUNBTSxnQkFBWSxDQUFDTixPQUFELENBQVo7QUFDQUEsV0FBTyxHQUFHTyxVQUFVLENBQUNKLEtBQUQsRUFBUUwsSUFBUixDQUFwQjtBQUNBLFFBQUlPLE9BQUosRUFBYVIsSUFBSSxDQUFDTyxLQUFMLENBQVdwUixPQUFYLEVBQW9CaVIsSUFBcEI7QUFDZCxHQVZEO0FBV0Q7QUFFRDs7Ozs7Ozs7Ozs7O0FBVU8sU0FBU08sWUFBVCxDQUFzQnhSLE9BQXRCLEVBQTJEO0FBQUEsTUFBNUJ5UixPQUE0Qix1RUFBbEIsRUFBa0I7QUFBQSxNQUFkQyxPQUFjLHVFQUFKLEVBQUk7QUFDaEUsTUFBTUMsbUJBQW1CLEdBQUczUixPQUFPLENBQUM0UixTQUFSLElBQXFCLEVBQWpEOztBQUVBLE1BQUlELG1CQUFtQixDQUFDRSxRQUFwQixDQUE2QkgsT0FBN0IsQ0FBSixFQUEyQztBQUN6QyxRQUFNSSxHQUFHLEdBQUcsaUNBQWlCelAsY0FBakIsd0JBQWdEckMsT0FBTyxDQUFDMUQsRUFBeEQsRUFBWjtBQUNBLFFBQU1vVSxLQUFLLEdBQUcsSUFBSXFCLFdBQUosQ0FBZ0IsT0FBaEIsQ0FBZDtBQUVBckIsU0FBSyxDQUFDZSxPQUFOLEdBQWdCQSxPQUFoQjtBQUNBSyxPQUFHLENBQUNFLGFBQUosQ0FBa0J0QixLQUFsQjtBQUNEO0FBQ0Y7QUFFRDs7Ozs7Ozs7OztBQVVBOzs7Ozs7Ozs7OztBQVNPLFNBQVN1QixZQUFULENBQXNCaE0sSUFBdEIsRUFBNEJqRyxPQUE1QixFQUFxQztBQUUxQyxNQUFJLFNBQVNpRyxJQUFJLENBQUNpTSxLQUFsQixFQUF5QixPQUFPLEtBQVAsQ0FGaUIsQ0FFSDs7QUFFdkMsTUFBTUMsU0FBUyxHQUFHblMsT0FBTyxDQUFDaUYsY0FBUixDQUF1QixjQUF2QixLQUEwQ2dCLElBQUksQ0FBQ2pFLElBQUwsQ0FBVWhDLE9BQU8sQ0FBQzhELFlBQWxCLENBQTFDLEdBQ2hCbUMsSUFBSSxDQUFDakUsSUFBTCxDQUFVaEMsT0FBTyxDQUFDOEQsWUFBbEIsQ0FEZ0IsR0FDa0IsRUFEcEM7QUFHQSxTQUFPO0FBQ0x4SCxNQUFFLEVBQUU2VixTQUFTLEdBQUdBLFNBQUgsR0FBZWxNLElBQUksQ0FBQzNKLEVBRDVCO0FBRUwrSyxTQUFLLEVBQUU4SyxTQUZGO0FBR0xDLGFBQVMsRUFBRW5NLElBQUksQ0FBQ2hCLGNBQUwsQ0FBb0IsUUFBcEIsS0FBaUNnQixJQUFJLENBQUNvTSxNQUFMLENBQVlwTixjQUFaLENBQTJCLEtBQTNCLENBQWpDLEdBQ1RnQixJQUFJLENBQUNvTSxNQUFMLENBQVluVyxHQURILEdBQ1MsRUFKZjtBQUtMb1csY0FBVSxFQUFFck0sSUFBSSxDQUFDcU0sVUFMWjtBQU1MQyxZQUFRLEVBQUVsSCxPQUFPLENBQUNwRixJQUFJLENBQUNzTSxRQUFOO0FBTlosR0FBUDtBQVFEO0FBRUQ7Ozs7Ozs7Ozs7O0FBU08sU0FBU0MscUJBQVQsQ0FBK0JuUCxDQUEvQixFQUFrQztBQUN2QyxTQUFPNE8sWUFBWSxDQUFDNU8sQ0FBQyxDQUFDNEMsSUFBSCxFQUFTNUMsQ0FBQyxDQUFDckQsT0FBWCxDQUFuQjtBQUNELEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3ZGRDs7QUFjQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQXZCQTs7Ozs7OztBQVVBOUIsbUJBQU8sQ0FBQywyR0FBRCxDQUFQOztBQUVBQSxtQkFBTyxDQUFDLGlJQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsdUhBQUQsQ0FBUDs7QUFDQUEsbUJBQU8sQ0FBQyx1SEFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLHlIQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsK0hBQUQsQ0FBUDs7QUFDQUEsbUJBQU8sQ0FBQywySEFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLHFJQUFELENBQVA7O0FBRUFBLG1CQUFPLENBQUMsb0RBQUQsQ0FBUCxDOzs7Ozs7Ozs7Ozs7OztBQ3BCQTs7Ozs7Ozs7QUFRQTtBQUNBLENBQUMsWUFBWTtBQUNYLE1BQUksT0FBT3dRLE1BQU0sQ0FBQ3FELFdBQWQsS0FBOEIsVUFBbEMsRUFBOEMsT0FBTyxLQUFQLENBRG5DLENBQ2lEOztBQUU1RCxXQUFTQSxXQUFULENBQXFCckIsS0FBckIsRUFBNEJ6TSxNQUE1QixFQUFvQztBQUNsQ0EsVUFBTSxHQUFHQSxNQUFNLElBQUk7QUFBRXdPLGFBQU8sRUFBRSxLQUFYO0FBQWtCQyxnQkFBVSxFQUFFLEtBQTlCO0FBQXFDQyxZQUFNLEVBQUUvRDtBQUE3QyxLQUFuQjtBQUNBLFFBQUlnRSxHQUFHLEdBQUdyRSxRQUFRLENBQUNzRSxXQUFULENBQXFCLGFBQXJCLENBQVY7QUFDQUQsT0FBRyxDQUFDRSxlQUFKLENBQW9CcEMsS0FBcEIsRUFBMkJ6TSxNQUFNLENBQUN3TyxPQUFsQyxFQUEyQ3hPLE1BQU0sQ0FBQ3lPLFVBQWxELEVBQThEek8sTUFBTSxDQUFDME8sTUFBckU7QUFDQSxXQUFPQyxHQUFQO0FBQ0Q7O0FBRURiLGFBQVcsQ0FBQ2dCLFNBQVosR0FBd0JyRSxNQUFNLENBQUNzRSxLQUFQLENBQWFELFNBQXJDO0FBRUFyRSxRQUFNLENBQUNxRCxXQUFQLEdBQXFCQSxXQUFyQjtBQUNELENBYkQsSTs7Ozs7Ozs7Ozs7O0FDUkEsY0FBYyxtQkFBTyxDQUFDLGlOQUErRzs7QUFFckksNENBQTRDLFFBQVM7O0FBRXJEO0FBQ0E7Ozs7QUFJQSxlQUFlOztBQUVmO0FBQ0Esa0NBQWtDOztBQUVsQyxhQUFhLG1CQUFPLENBQUMsc0dBQW1EOztBQUV4RTs7QUFFQSxHQUFHLEtBQVUsRUFBRSxFIiwiZmlsZSI6ImJiai1ncmlkLXdpZGdldC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcbiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0uY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYm9vdHN0cmFwLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1ib290c3RyYXAuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZnJlc2guY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWZyZXNoLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1mcmVzaC5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLW1hdGVyaWFsLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1tYXRlcmlhbC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtbWF0ZXJpYWwuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJCYXNpc1wiXSA9IHJvb3RbXCJCYXNpc1wiXSB8fCB7fSwgcm9vdFtcIkJhc2lzXCJdW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAvKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbi8qKioqKiovIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuLyoqKioqKi8gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbi8qKioqKiovIFx0XHRcdGk6IG1vZHVsZUlkLFxuLyoqKioqKi8gXHRcdFx0bDogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRleHBvcnRzOiB7fVxuLyoqKioqKi8gXHRcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4vKioqKioqLyBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuLyoqKioqKi8gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbi8qKioqKiovIFx0fVxuLyoqKioqKi9cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMjQpO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoW1xuLyogMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUGFyYW1zOyB9KTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBQYXJhbXMgTWl4aW5zIFxuKlxuKiBIZWxwZXIgbWV0aG9kcyB0byBtYW5hZ2UgY29tcG9uZW50cyBwYXJhbXNcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgUGFyYW1zID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gUGFyYW1zKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBQYXJhbXMpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFBhcmFtcywgW3tcbiAgICBrZXk6IFwiZ2V0V2luXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFdpbihwYXJhbXMpIHtcbiAgICAgIHZhciB3aW4gPSBwYXJhbXMuV0lORE9XIHx8IHdpbmRvdyB8fCBudWxsO1xuICAgICAgaWYgKCF3aW4pIHRocm93IG5ldyBFcnJvcignQ3VycmVudCBlbnZpcm9tZW50IGRvZXMgbm90IHN1cHBvcnQgd2luZG93Jyk7XG4gICAgICByZXR1cm4gd2luO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXREb2NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RG9jKHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHBhcmFtcy5ET0NVTUVOVCB8fCBkb2N1bWVudCB8fCBudWxsO1xuICAgICAgaWYgKCFkb2MpIHRocm93IG5ldyBFcnJvcignQ3VycmVudCBlbnZpcm9tZW50IGRvZXMgbm90IHN1cHBvcnQgZG9jdW1lbnQnKTtcbiAgICAgIHJldHVybiBkb2M7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldE9wdGlvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRPcHRpb24obmFtZSwgcGFyYW1zKSB7XG4gICAgICB2YXIgZmFsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IG51bGw7XG4gICAgICB2YXIgb3B0aW9uOyAvLyB0cnkgdG8gZmV0Y2ggZnJvbSB0aGUgY29sdW1uIGRlZiBmaXJzdFxuXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KCdjb2xEZWYnKSAmJiBwYXJhbXMuY29sRGVmLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIG9wdGlvbiA9IHBhcmFtcy5jb2xEZWZbbmFtZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0cnkgdG8gZmV0Y2ggZnJvbSBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnfG1ldGEgaW4gdGhlIGNvbnRleHRcbiAgICAgICAgdmFyIEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcgPSBwYXJhbXMuY29udGV4dC5BR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnIHx8IHBhcmFtcy5jb250ZXh0Lm1ldGE7XG5cbiAgICAgICAgaWYgKEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcgJiYgQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZy5oYXNPd25Qcm9wZXJ0eShwYXJhbXMuY29sdW1uLmNvbElkKSAmJiBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnW3BhcmFtcy5jb2x1bW4uY29sSWRdLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgICAgb3B0aW9uID0gQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZ1twYXJhbXMuY29sdW1uLmNvbElkXVtuYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB0cnkgdG8gZmV0Y2ggZnJvbSB0aGUgY29udGVjdCBvYmplY3QgaXRzZWxmXG4gICAgICAgICAgdmFyIGNvbnRleHQgPSBwYXJhbXMuY29udGV4dDtcblxuICAgICAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgIG9wdGlvbiA9IGNvbnRleHRbbmFtZV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRyeSB0byBjaGVjayBwYXJhbXMgaXRzZWxmIG9yIGZhbGxiYWNrIHRvIGRlZmF1bHQgXG4gICAgICAgICAgICBvcHRpb24gPSBwYXJhbXNbbmFtZV0gfHwgZmFsbGJhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFBhcmFtcztcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG4vKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24odXNlU291cmNlTWFwKSB7XG5cdHZhciBsaXN0ID0gW107XG5cblx0Ly8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXHRsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG5cdFx0XHR2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKTtcblx0XHRcdGlmKGl0ZW1bMl0pIHtcblx0XHRcdFx0cmV0dXJuIFwiQG1lZGlhIFwiICsgaXRlbVsyXSArIFwie1wiICsgY29udGVudCArIFwifVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fSkuam9pbihcIlwiKTtcblx0fTtcblxuXHQvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuXHRsaXN0LmkgPSBmdW5jdGlvbihtb2R1bGVzLCBtZWRpYVF1ZXJ5KSB7XG5cdFx0aWYodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpXG5cdFx0XHRtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG5cdFx0dmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGlkID0gdGhpc1tpXVswXTtcblx0XHRcdGlmKHR5cGVvZiBpZCA9PT0gXCJudW1iZXJcIilcblx0XHRcdFx0YWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuXHRcdH1cblx0XHRmb3IoaSA9IDA7IGkgPCBtb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaXRlbSA9IG1vZHVsZXNbaV07XG5cdFx0XHQvLyBza2lwIGFscmVhZHkgaW1wb3J0ZWQgbW9kdWxlXG5cdFx0XHQvLyB0aGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCAxMDAlIHBlcmZlY3QgZm9yIHdlaXJkIG1lZGlhIHF1ZXJ5IGNvbWJpbmF0aW9uc1xuXHRcdFx0Ly8gIHdoZW4gYSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWVkaWEgcXVlcmllcy5cblx0XHRcdC8vICBJIGhvcGUgdGhpcyB3aWxsIG5ldmVyIG9jY3VyIChIZXkgdGhpcyB3YXkgd2UgaGF2ZSBzbWFsbGVyIGJ1bmRsZXMpXG5cdFx0XHRpZih0eXBlb2YgaXRlbVswXSAhPT0gXCJudW1iZXJcIiB8fCAhYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuXHRcdFx0XHRpZihtZWRpYVF1ZXJ5ICYmICFpdGVtWzJdKSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IG1lZGlhUXVlcnk7XG5cdFx0XHRcdH0gZWxzZSBpZihtZWRpYVF1ZXJ5KSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IFwiKFwiICsgaXRlbVsyXSArIFwiKSBhbmQgKFwiICsgbWVkaWFRdWVyeSArIFwiKVwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxpc3QucHVzaChpdGVtKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHJldHVybiBsaXN0O1xufTtcblxuZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApIHtcblx0dmFyIGNvbnRlbnQgPSBpdGVtWzFdIHx8ICcnO1xuXHR2YXIgY3NzTWFwcGluZyA9IGl0ZW1bM107XG5cdGlmICghY3NzTWFwcGluZykge1xuXHRcdHJldHVybiBjb250ZW50O1xuXHR9XG5cblx0aWYgKHVzZVNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHZhciBzb3VyY2VNYXBwaW5nID0gdG9Db21tZW50KGNzc01hcHBpbmcpO1xuXHRcdHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG5cdFx0XHRyZXR1cm4gJy8qIyBzb3VyY2VVUkw9JyArIGNzc01hcHBpbmcuc291cmNlUm9vdCArIHNvdXJjZSArICcgKi8nXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gW2NvbnRlbnRdLmNvbmNhdChzb3VyY2VVUkxzKS5jb25jYXQoW3NvdXJjZU1hcHBpbmddKS5qb2luKCdcXG4nKTtcblx0fVxuXG5cdHJldHVybiBbY29udGVudF0uam9pbignXFxuJyk7XG59XG5cbi8vIEFkYXB0ZWQgZnJvbSBjb252ZXJ0LXNvdXJjZS1tYXAgKE1JVClcbmZ1bmN0aW9uIHRvQ29tbWVudChzb3VyY2VNYXApIHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5cdHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpO1xuXHR2YXIgZGF0YSA9ICdzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwnICsgYmFzZTY0O1xuXG5cdHJldHVybiAnLyojICcgKyBkYXRhICsgJyAqLyc7XG59XG5cblxuLyoqKi8gfSksXG4vKiAyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHt9O1xuXG52YXJcdG1lbW9pemUgPSBmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW87XG5cblx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRpZiAodHlwZW9mIG1lbW8gPT09IFwidW5kZWZpbmVkXCIpIG1lbW8gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXHRcdHJldHVybiBtZW1vO1xuXHR9O1xufTtcblxudmFyIGlzT2xkSUUgPSBtZW1vaXplKGZ1bmN0aW9uICgpIHtcblx0Ly8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3Ncblx0Ly8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuXHQvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG5cdC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuXHQvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcblx0cmV0dXJuIHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iO1xufSk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7XG59O1xuXG52YXIgZ2V0RWxlbWVudCA9IChmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW8gPSB7fTtcblxuXHRyZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgcGFzc2luZyBmdW5jdGlvbiBpbiBvcHRpb25zLCB0aGVuIHVzZSBpdCBmb3IgcmVzb2x2ZSBcImhlYWRcIiBlbGVtZW50LlxuICAgICAgICAgICAgICAgIC8vIFVzZWZ1bCBmb3IgU2hhZG93IFJvb3Qgc3R5bGUgaS5lXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgaW5zZXJ0SW50bzogZnVuY3Rpb24gKCkgeyByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNmb29cIikuc2hhZG93Um9vdCB9XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG5cdFx0XHR2YXIgc3R5bGVUYXJnZXQgPSBnZXRUYXJnZXQuY2FsbCh0aGlzLCB0YXJnZXQpO1xuXHRcdFx0Ly8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblx0XHRcdGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuXHRcdFx0XHRcdC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcblx0XHRcdFx0fSBjYXRjaChlKSB7XG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBudWxsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcblx0XHR9XG5cdFx0cmV0dXJuIG1lbW9bdGFyZ2V0XVxuXHR9O1xufSkoKTtcblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXJcdHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xudmFyXHRzdHlsZXNJbnNlcnRlZEF0VG9wID0gW107XG5cbnZhclx0Zml4VXJscyA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuXHRpZiAodHlwZW9mIERFQlVHICE9PSBcInVuZGVmaW5lZFwiICYmIERFQlVHKSB7XG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50XCIpO1xuXHR9XG5cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0b3B0aW9ucy5hdHRycyA9IHR5cGVvZiBvcHRpb25zLmF0dHJzID09PSBcIm9iamVjdFwiID8gb3B0aW9ucy5hdHRycyA6IHt9O1xuXG5cdC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuXHQvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cdGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSBcImJvb2xlYW5cIikgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgPGhlYWQ+IGVsZW1lbnRcbiAgICAgICAgaWYgKCFvcHRpb25zLmluc2VydEludG8pIG9wdGlvbnMuaW5zZXJ0SW50byA9IFwiaGVhZFwiO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdGFyZ2V0XG5cdGlmICghb3B0aW9ucy5pbnNlcnRBdCkgb3B0aW9ucy5pbnNlcnRBdCA9IFwiYm90dG9tXCI7XG5cblx0dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhsaXN0LCBvcHRpb25zKTtcblxuXHRhZGRTdHlsZXNUb0RvbShzdHlsZXMsIG9wdGlvbnMpO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcblx0XHR2YXIgbWF5UmVtb3ZlID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdFx0ZG9tU3R5bGUucmVmcy0tO1xuXHRcdFx0bWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpO1xuXHRcdH1cblxuXHRcdGlmKG5ld0xpc3QpIHtcblx0XHRcdHZhciBuZXdTdHlsZXMgPSBsaXN0VG9TdHlsZXMobmV3TGlzdCwgb3B0aW9ucyk7XG5cdFx0XHRhZGRTdHlsZXNUb0RvbShuZXdTdHlsZXMsIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV07XG5cblx0XHRcdGlmKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcblx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykgZG9tU3R5bGUucGFydHNbal0oKTtcblxuXHRcdFx0XHRkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn07XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMsIG9wdGlvbnMpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdGlmKGRvbVN0eWxlKSB7XG5cdFx0XHRkb21TdHlsZS5yZWZzKys7XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhciBwYXJ0cyA9IFtdO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblxuXHRcdFx0c3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7aWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0c307XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGxpc3RUb1N0eWxlcyAobGlzdCwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGVzID0gW107XG5cdHZhciBuZXdTdHlsZXMgPSB7fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IGxpc3RbaV07XG5cdFx0dmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG5cdFx0dmFyIGNzcyA9IGl0ZW1bMV07XG5cdFx0dmFyIG1lZGlhID0gaXRlbVsyXTtcblx0XHR2YXIgc291cmNlTWFwID0gaXRlbVszXTtcblx0XHR2YXIgcGFydCA9IHtjc3M6IGNzcywgbWVkaWE6IG1lZGlhLCBzb3VyY2VNYXA6IHNvdXJjZU1hcH07XG5cblx0XHRpZighbmV3U3R5bGVzW2lkXSkgc3R5bGVzLnB1c2gobmV3U3R5bGVzW2lkXSA9IHtpZDogaWQsIHBhcnRzOiBbcGFydF19KTtcblx0XHRlbHNlIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KTtcblx0fVxuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudCAob3B0aW9ucywgc3R5bGUpIHtcblx0dmFyIHRhcmdldCA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvKVxuXG5cdGlmICghdGFyZ2V0KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnRJbnRvJyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG5cdH1cblxuXHR2YXIgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AgPSBzdHlsZXNJbnNlcnRlZEF0VG9wW3N0eWxlc0luc2VydGVkQXRUb3AubGVuZ3RoIC0gMV07XG5cblx0aWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwidG9wXCIpIHtcblx0XHRpZiAoIWxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCB0YXJnZXQuZmlyc3RDaGlsZCk7XG5cdFx0fSBlbHNlIGlmIChsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZykge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHRcdH1cblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnB1c2goc3R5bGUpO1xuXHR9IGVsc2UgaWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwiYm90dG9tXCIpIHtcblx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydEF0ID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKSB7XG5cdFx0dmFyIG5leHRTaWJsaW5nID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8gKyBcIiBcIiArIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKTtcblx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiW1N0eWxlIExvYWRlcl1cXG5cXG4gSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICdpbnNlcnRBdCcgKCdvcHRpb25zLmluc2VydEF0JykgZm91bmQuXFxuIE11c3QgYmUgJ3RvcCcsICdib3R0b20nLCBvciBPYmplY3QuXFxuIChodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlciNpbnNlcnRhdClcXG5cIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50IChzdHlsZSkge1xuXHRpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXHRzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcblxuXHR2YXIgaWR4ID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcC5pbmRleE9mKHN0eWxlKTtcblx0aWYoaWR4ID49IDApIHtcblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnNwbGljZShpZHgsIDEpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXG5cdGFkZEF0dHJzKHN0eWxlLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIHN0eWxlKTtcblxuXHRyZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmtFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXHRvcHRpb25zLmF0dHJzLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuXG5cdGFkZEF0dHJzKGxpbmssIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgbGluayk7XG5cblx0cmV0dXJuIGxpbms7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJzIChlbCwgYXR0cnMpIHtcblx0T2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuXHRcdGVsLnNldEF0dHJpYnV0ZShrZXksIGF0dHJzW2tleV0pO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGUsIHVwZGF0ZSwgcmVtb3ZlLCByZXN1bHQ7XG5cblx0Ly8gSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gd2FzIGRlZmluZWQsIHJ1biBpdCBvbiB0aGUgY3NzXG5cdGlmIChvcHRpb25zLnRyYW5zZm9ybSAmJiBvYmouY3NzKSB7XG5cdCAgICByZXN1bHQgPSBvcHRpb25zLnRyYW5zZm9ybShvYmouY3NzKTtcblxuXHQgICAgaWYgKHJlc3VsdCkge1xuXHQgICAgXHQvLyBJZiB0cmFuc2Zvcm0gcmV0dXJucyBhIHZhbHVlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIHJ1bm5pbmcgcnVudGltZSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIGNzcy5cblx0ICAgIFx0b2JqLmNzcyA9IHJlc3VsdDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICBcdC8vIElmIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gcmV0dXJucyBhIGZhbHN5IHZhbHVlLCBkb24ndCBhZGQgdGhpcyBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIGNvbmRpdGlvbmFsIGxvYWRpbmcgb2YgY3NzXG5cdCAgICBcdHJldHVybiBmdW5jdGlvbigpIHtcblx0ICAgIFx0XHQvLyBub29wXG5cdCAgICBcdH07XG5cdCAgICB9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcblx0XHR2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcblxuXHRcdHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuXG5cdFx0dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG5cdFx0cmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcblxuXHR9IGVsc2UgaWYgKFxuXHRcdG9iai5zb3VyY2VNYXAgJiZcblx0XHR0eXBlb2YgVVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLmNyZWF0ZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5yZXZva2VPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBCbG9iID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiXG5cdCkge1xuXHRcdHN0eWxlID0gY3JlYXRlTGlua0VsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gdXBkYXRlTGluay5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXG5cdFx0XHRpZihzdHlsZS5ocmVmKSBVUkwucmV2b2tlT2JqZWN0VVJMKHN0eWxlLmhyZWYpO1xuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXHRcdH07XG5cdH1cblxuXHR1cGRhdGUob2JqKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaikge1xuXHRcdGlmIChuZXdPYmopIHtcblx0XHRcdGlmIChcblx0XHRcdFx0bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuXHRcdFx0XHRuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuXHRcdFx0XHRuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR1cGRhdGUob2JqID0gbmV3T2JqKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlKCk7XG5cdFx0fVxuXHR9O1xufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuXHR2YXIgdGV4dFN0b3JlID0gW107XG5cblx0cmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcblx0XHR0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cblx0XHRyZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcblx0fTtcbn0pKCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcblx0dmFyIGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmouY3NzO1xuXG5cdGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuXHRcdHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuXHRcdGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG5cdFx0XHRzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGUsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuXG5cdGlmKG1lZGlhKSB7XG5cdFx0c3R5bGUuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgbWVkaWEpXG5cdH1cblxuXHRpZihzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuXHR9IGVsc2Uge1xuXHRcdHdoaWxlKHN0eWxlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuXHRcdH1cblxuXHRcdHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmsgKGxpbmssIG9wdGlvbnMsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cblx0Lypcblx0XHRJZiBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgaXNuJ3QgZGVmaW5lZCwgYnV0IHNvdXJjZW1hcHMgYXJlIGVuYWJsZWRcblx0XHRhbmQgdGhlcmUgaXMgbm8gcHVibGljUGF0aCBkZWZpbmVkIHRoZW4gbGV0cyB0dXJuIGNvbnZlcnRUb0Fic29sdXRlVXJsc1xuXHRcdG9uIGJ5IGRlZmF1bHQuICBPdGhlcndpc2UgZGVmYXVsdCB0byB0aGUgY29udmVydFRvQWJzb2x1dGVVcmxzIG9wdGlvblxuXHRcdGRpcmVjdGx5XG5cdCovXG5cdHZhciBhdXRvRml4VXJscyA9IG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzID09PSB1bmRlZmluZWQgJiYgc291cmNlTWFwO1xuXG5cdGlmIChvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyB8fCBhdXRvRml4VXJscykge1xuXHRcdGNzcyA9IGZpeFVybHMoY3NzKTtcblx0fVxuXG5cdGlmIChzb3VyY2VNYXApIHtcblx0XHQvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYwMzg3NVxuXHRcdGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgXCIgKi9cIjtcblx0fVxuXG5cdHZhciBibG9iID0gbmV3IEJsb2IoW2Nzc10sIHsgdHlwZTogXCJ0ZXh0L2Nzc1wiIH0pO1xuXG5cdHZhciBvbGRTcmMgPSBsaW5rLmhyZWY7XG5cblx0bGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuXHRpZihvbGRTcmMpIFVSTC5yZXZva2VPYmplY3RVUkwob2xkU3JjKTtcbn1cblxuXG4vKioqLyB9KSxcbi8qIDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEJvb2xlYW5Td2l0Y2g7IH0pO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIEJvb2xlYW4gUmVuZGVyZXJcbipcbiogU2ltcGxlIHRvZ2dsZSBzd2l0Y2ggdG8gaGFuZGxlIGJvb2xlYW4gdmFsdWVzXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xudmFyIEJvb2xlYW5Td2l0Y2ggPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ29uc3RydWN0IHRoZSBCb29sZWFuU3dpdGNoIENvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IGNoZWNrZWQgY2hlY2tlZCBkZWZhdWx0IHZhbHVlICwgdHJ1ZSB0byBjaGVjayAsIGZhbHNlIHRvIHVuY2hlY2tcbiAgICogQHBhcmFtIHtPYmplY3R9IGRvYyBkb2N1bWVudCBpbnN0YW5jZVxuICAgKi9cbiAgZnVuY3Rpb24gQm9vbGVhblN3aXRjaCgpIHtcbiAgICB2YXIgY2hlY2tlZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogZmFsc2U7XG4gICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZG9jdW1lbnQ7XG4gICAgdmFyIGxpc3RlbmVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJvb2xlYW5Td2l0Y2gpO1xuXG4gICAgdGhpcy5fYnVpbGQobGlzdGVuZXIsIGNoZWNrZWQsIGRvYyk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCB0aGUgY29tcG9uZW50IHZhbHVlXG4gICAqXG4gICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAqL1xuXG5cbiAgX2NyZWF0ZUNsYXNzKEJvb2xlYW5Td2l0Y2gsIFt7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5wdXQuY2hlY2tlZDtcbiAgICB9XG4gICAgLyoqIEZvY3VzIG9uIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzKCkge1xuICAgICAgdGhpcy5jb21wb25lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgLyoqIFRvZ2dsZSB0aGUgY29tcG9uZW50IHN0YXRlICovXG5cbiAgfSwge1xuICAgIGtleTogXCJ0b2dnbGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gIXRoaXMuaW5wdXQuY2hlY2tlZDtcbiAgICB9XG4gICAgLyoqIFNldCB0aGUgY29tcG9uZW50IHN0YXRlIHRvIGNoZWNrZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImNoZWNrXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNoZWNrKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqIFNldCB0aGUgY29tcG9uZW50IHN0YXRlIHRvIHVuY2hlY2tlZCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwidW5jaGVja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1bmNoZWNrKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBFbmFibGUgdGhlIGNvbXBvbmVudCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZW5hYmxlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGVuYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgLyoqIERpc2FibGUgdGhlIGNvbXBvbmVudCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGlzYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkaXNhYmxlKCkge1xuICAgICAgdGhpcy5pbnB1dC5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIGlmICh0aGlzLl9vbkNsaWNrQmluZCkgdGhpcy5jb21wb25lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsaWNrQmluZCk7XG4gICAgICBpZiAodGhpcy5fb25DaGFuZ2VCaW5kKSB0aGlzLmNvbXBvbmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkKGxpc3RlbmVyKSB7XG4gICAgICB2YXIgY2hlY2tlZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG4gICAgICB2YXIgZG9jID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBkb2N1bWVudDtcbiAgICAgIC8vIGxhYmVsIGFzIGNvbXBvbmVudFxuICAgICAgdGhpcy5jb21wb25lbnQgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5jbGFzc05hbWUgPSAnQm9vbGVhblN3aXRjaCc7XG4gICAgICB0aGlzLmNvbXBvbmVudC50YWJJbmRleCA9IFwiLTFcIjsgLy8gc3BhbiBhcyBzbGlkZXJcblxuICAgICAgdGhpcy5zbGlkZXIgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5zbGlkZXIuY2xhc3NOYW1lID0gJ3NsaWRlciByb3VuZCc7IC8vIGlucHV0XG5cbiAgICAgIHRoaXMuaW5wdXQgPSBkb2MuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgIHRoaXMuaW5wdXQudHlwZSA9ICdjaGVja2JveCc7XG4gICAgICB0aGlzLmlucHV0LmNoZWNrZWQgPSBjaGVja2VkO1xuICAgICAgdGhpcy5pbnB1dC50YWJJbmRleCA9IFwiMFwiOyAvLyBhdHRhY2hlIGlucHV0IGFuZCBzbGlkZXIgdG8gY29tcG9uZW50XG5cbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdGhpcy5jb21wb25lbnQuYXBwZW5kQ2hpbGQodGhpcy5zbGlkZXIpO1xuICAgICAgdGhpcy5fb25DbGlja0JpbmQgPSB0aGlzLl9vbkNsaWNrLmJpbmQodGhpcywgbGlzdGVuZXIpO1xuICAgICAgdGhpcy5fb25DaGFuZ2VCaW5kID0gdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzLCBsaXN0ZW5lcik7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uQ2xpY2tCaW5kKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbkNoYW5nZUJpbmQpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfb25DbGlja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DbGljayhsaXN0ZW5lciwgZSkge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuZGlzYWJsZWQpIHJldHVybiBmYWxzZTtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKGxpc3RlbmVyLCBlKSB7XG4gICAgICBpZiAodGhpcy5pbnB1dC5kaXNhYmxlZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgdmFyIGtleSA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuXG4gICAgICBpZiAoa2V5ID09IDMyKSB7XG4gICAgICAgIC8vIHNwYWNlXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIGlmIChsaXN0ZW5lcikgbGlzdGVuZXIodGhpcyk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKGtleSA9PSAzOSkge1xuICAgICAgICAvLyByaWdodFxuICAgICAgICB0aGlzLmNoZWNrKCk7XG4gICAgICAgIGlmIChsaXN0ZW5lcikgbGlzdGVuZXIodGhpcyk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKGtleSA9PSAzNykge1xuICAgICAgICAvLyBsZWZ0XG4gICAgICAgIHRoaXMudW5jaGVjaygpO1xuICAgICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBCb29sZWFuU3dpdGNoO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBEYXRlVGltZXNEaWFsb2c7IH0pO1xuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogRGF0ZVRpbWVzRGlhbG9nXG4qXG4qIEEgd3JhcCBhcm91bmQgZmxhdHBpY2tyIEFQSVxuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBEYXRlVGltZXNEaWFsb2cgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ29uc3RydWN0IHRoZSBEYXRlVGltZXNEaWFsb2cgQ29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkb2MgZG9jdW1lbnQgaW5zdGFuY2VcbiAgICogXG4gICAqIHtAbGluayBodHRwczovL2ZsYXRwaWNrci5qcy5vcmcvb3B0aW9ucy99XG4gICAqL1xuICBmdW5jdGlvbiBEYXRlVGltZXNEaWFsb2coKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBkb2MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRvY3VtZW50O1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERhdGVUaW1lc0RpYWxvZyk7XG5cbiAgICB0aGlzLmRvYyA9IGRvYztcbiAgICB0aGlzLm9wdGlvbnMgPSBfb2JqZWN0U3ByZWFkKHt9LCB7XG4gICAgICBkYXRlRm9ybWF0OiBvcHRpb25zLm1hc2ssXG4gICAgICBmb3JtYXREYXRlOiB0aGlzLmZvcm1hdERhdGUuYmluZCh0aGlzKSxcbiAgICAgIHBhcnNlRGF0ZTogdGhpcy5wYXJzZURhdGUuYmluZCh0aGlzKSxcbiAgICAgIG9uUmVhZHk6IHRoaXMuX29uUmVhZHkuYmluZCh0aGlzKVxuICAgIH0sIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5fYnVpbGQodGhpcy5vcHRpb25zLCB0aGlzLmRvYyk7XG4gIH1cbiAgLyoqXG4gICAqIEZvcm1hdCB0aGUgZGF0ZSB1c2luZyBgQkJqLk1hc2tzLlR5cGVzLmRhdGVgXG4gICAqIFxuICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBmb3JtYXQgQkJqIGRhdGUgZm9ybWF0XG4gICAqL1xuXG5cbiAgX2NyZWF0ZUNsYXNzKERhdGVUaW1lc0RpYWxvZywgW3tcbiAgICBrZXk6IFwiZm9ybWF0RGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXREYXRlKGRhdGUsIGZvcm1hdCkge1xuICAgICAgaWYgKGZvcm1hdC5pbmRleE9mKCclJykgPCAwKSByZXR1cm47XG4gICAgICByZXR1cm4gQkJqLk1hc2tzLlR5cGVzLmRhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IGRhdGUgb2JqZWN0IGZyb20gYSBkYXRlIHN0cmluZyBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZVN0cmluZyBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJwYXJzZURhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcpIHtcbiAgICAgIHZhciBkYXRlT2JqZWN0ID0gRGF0ZS5wYXJzZShkYXRlU3RyaW5nKTtcbiAgICAgIGlmICghKGRhdGVPYmplY3QgaW5zdGFuY2VvZiBEYXRlKSkgZGF0ZU9iamVjdCA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpO1xuICAgICAgcmV0dXJuIGRhdGVPYmplY3Q7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBjYWxhbmRlciBkYXRlXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgXG4gICAgICogQHBhcmFtIHtCb29sZWFufSB0cmlnZ2VyQ2hhbmdlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwic2V0RGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXREYXRlKGRhdGUpIHtcbiAgICAgIHZhciB0cmlnZ2VyQ2hhbmdlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLnNldERhdGUoZGF0ZSB8fCAnJywgdHJpZ2dlckNoYW5nZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBjYWxhbmRlciBvcHRpb25cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gb3B0aW9uIFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJzZXRPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpIHtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLnNldChvcHRpb24sIHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIE9wZW4gY2FsYW5kZXIgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIm9wZW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb3BlbigpIHtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLm9wZW4oKTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LmZvY3VzKCk7XG4gICAgfVxuICAgIC8qKiBDbG9zZSBDYWxhbmRlciAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiY2xvc2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2xvc2UoKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5jbG9zZSgpO1xuICAgIH1cbiAgICAvKiogRW5hYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImVuYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBlbmFibGUoKSB7XG4gICAgICB0aGlzLmlucHV0LmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBEaXNhYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRpc2FibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgICAvKiogRGVzdHJveSBUaGUgY29tcG9uZW50IGFuZCByZW1vdmUgZXZlbnQgbGlzdGVuZXJzICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkZXN0cm95XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5kZXN0cm95KCk7XG4gICAgICBpZiAodGhpcy5fb25DbGVhckJ1dHRvbkNsaWNrQmluZCkgdGhpcy5jbGVhckJ1dHRvbi5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQpO1xuICAgICAgaWYgKHRoaXMuX29uS2V5RG93bkJpbmQpIHRoaXMuY29tcG9uZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleURvd25CaW5kKTtcbiAgICB9XG4gICAgLyoqIEJ1aWxkIHRoZSBjb21wb25lbnQgc3RydWN0dXJlICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkKCkge1xuICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZG9jdW1lbnQ7XG4gICAgICB0aGlzLmNvbXBvbmVudCA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmNsYXNzTmFtZSA9ICdEYXRlVGltZXNEaWFsb2cnO1xuICAgICAgdGhpcy5jb21wb25lbnQudGFiSW5kZXggPSBcIjBcIjtcbiAgICAgIHRoaXMuaW5wdXQgPSBkb2MuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdGhpcy5mbGF0cGlja3IgPSBmbGF0cGlja3IodGhpcy5pbnB1dCwgb3B0aW9ucyk7XG4gICAgICB0aGlzLl9vbktleURvd25CaW5kID0gdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFsbG93IGFycm93IGtleXMgaW5zaWRlIHRoZSBpbnB1dFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGUgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25LZXlEb3duXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbktleURvd24oZSkge1xuICAgICAgdmFyIGtleSA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuXG4gICAgICBpZiAoWzM3LCAzOV0uaW5kZXhPZihrZXkpID4gLTEpIHtcbiAgICAgICAgLy8gbGVmdCB8fCByaWdodFxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICgzOCA9PT0ga2V5KSB7XG4gICAgICAgIC8vIHVwIFxuICAgICAgICB2YXIgY3VycmVudERhdGUgPSB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZTtcblxuICAgICAgICB2YXIgX25leHQgPSBEYXRlLnBhcnNlKGN1cnJlbnREYXRlKTtcblxuICAgICAgICBpZiAoIShfbmV4dCBpbnN0YW5jZW9mIERhdGUpKSBfbmV4dCA9IG5ldyBEYXRlKGN1cnJlbnREYXRlKTtcblxuICAgICAgICBfbmV4dC5zZXREYXRlKF9uZXh0LmdldERhdGUoKSArIDEpO1xuXG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLnNldERhdGUoX25leHQsIGZhbHNlLCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LnZhbHVlID0gQkJqLk1hc2tzLlR5cGVzLmRhdGUoX25leHQsIHRoaXMub3B0aW9ucy5tYXNrKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoNDAgPT09IGtleSkge1xuICAgICAgICAvLyBkb3duXG4gICAgICAgIHZhciBfY3VycmVudERhdGUgPSB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZTtcbiAgICAgICAgdmFyIHByZXYgPSBEYXRlLnBhcnNlKF9jdXJyZW50RGF0ZSk7XG4gICAgICAgIGlmICghKHByZXYgaW5zdGFuY2VvZiBEYXRlKSkgbmV4dCA9IG5ldyBEYXRlKF9jdXJyZW50RGF0ZSk7XG4gICAgICAgIHByZXYuc2V0RGF0ZShwcmV2LmdldERhdGUoKSAtIDEpO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5zZXREYXRlKHByZXYsIGZhbHNlLCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LnZhbHVlID0gQkJqLk1hc2tzLlR5cGVzLmRhdGUocHJldiwgdGhpcy5vcHRpb25zLm1hc2spO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICg5ID09PSBrZXkpIHtcbiAgICAgICAgLy8gdGFwXG4gICAgICAgIHRoaXMuc2V0RGF0ZSh0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZSwgdHJ1ZSwgdGhpcy5vcHRpb25zLmRhdGVGb3JtYXQpO1xuICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNsZWFyIGJ1dHRvbiB3aGVuIGZsYXRwaWNrciBpcyByZWFkeSBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge0RhdGV9IGRhdGVPYmogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGVTdHIgXG4gICAgICogQHBhcmFtIHtmbGF0cGlja3J9IGluc3RhbmNlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uUmVhZHlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uUmVhZHkoZGF0ZU9iaiwgZGF0ZVN0ciwgaW5zdGFuY2UpIHtcbiAgICAgIHZhciBjbGVhckJ1dHRvbiA9IGluc3RhbmNlLmNhbGVuZGFyQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5mbGF0cGlja3ItY2xlYXInKTtcblxuICAgICAgaWYgKCFjbGVhckJ1dHRvbikge1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uY2xhc3NOYW1lID0gJ2ZsYXRwaWNrci1jbGVhcic7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uaW5uZXJIVE1MID0gJ0NsZWFyJztcbiAgICAgICAgaW5zdGFuY2UuY2FsZW5kYXJDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5jbGVhckJ1dHRvbik7XG4gICAgICAgIHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQgPSB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2suYmluZCh0aGlzLCBpbnN0YW5jZSk7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2tCaW5kKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogTGlzdGVuIHRvIGZsYXRwaWNrciBjbGVhciBidXR0b24gY2xpY2tzIGFuZCBjbGVhciB0aGUgY2FsYW5kZXJcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge2ZsYXRwaWNrcn0gaW5zdGFuY2UgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DbGVhckJ1dHRvbkNsaWNrXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbkNsZWFyQnV0dG9uQ2xpY2soZmxhdHBpY2tySW5zdGFuY2UpIHtcbiAgICAgIGZsYXRwaWNrckluc3RhbmNlLmNsZWFyKCk7XG4gICAgICBmbGF0cGlja3JJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnb25DbGVhcicpKSB0aGlzLm9wdGlvbnMub25DbGVhcigpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEYXRlVGltZXNEaWFsb2c7XG59KCk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGNvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiA2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNCb29sZWFuc1JlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcn0uQmFzaWNCb29sZWFuc0ZpbHRlciB1bHtkaXNwbGF5OmJsb2NrO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXJ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGl7cGFkZGluZzoxMHB4Oy13ZWJraXQtdHJhbnNpdGlvbjouNHM7dHJhbnNpdGlvbjouNHM7Ym9yZGVyLWJvdHRvbTp0aGluIHNvbGlkICNjY2N9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGkuc2VsZWN0ZWR7YmFja2dyb3VuZDojNTY5ZmY3O2NvbG9yOiNmZmZ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9LkJvb2xlYW5Td2l0Y2h7b3V0bGluZTpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt3aWR0aDo0MHB4O2hlaWdodDoyMHB4fS5Cb29sZWFuU3dpdGNoIGlucHV0e2Rpc3BsYXk6bm9uZX0uQm9vbGVhblN3aXRjaCAuc2xpZGVye2N1cnNvcjpwb2ludGVyO3RvcDoyMCU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjEwJTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2N9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlciwuQm9vbGVhblN3aXRjaCAuc2xpZGVyOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246LjRzO3RyYW5zaXRpb246LjRzfS5Cb29sZWFuU3dpdGNoIC5zbGlkZXI6YmVmb3Jle2NvbnRlbnQ6XFxcIlxcXCI7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtsZWZ0OjFweDt0b3A6MXB4O2JvdHRvbToxcHg7cmlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uQm9vbGVhblN3aXRjaCBpbnB1dDpjaGVja2VkKy5zbGlkZXJ7YmFja2dyb3VuZC1jb2xvcjojNTY5ZmY3fS5Cb29sZWFuU3dpdGNoIGlucHV0OmZvY3VzKy5zbGlkZXJ7Ym94LXNoYWRvdzowIDAgMXB4ICM1NjlmZjd9LkJvb2xlYW5Td2l0Y2ggaW5wdXQ6Y2hlY2tlZCsuc2xpZGVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KX0uQm9vbGVhblN3aXRjaCAuc2xpZGVyLnJvdW5ke2JvcmRlci1yYWRpdXM6MjhweH0uQm9vbGVhblN3aXRjaCAuc2xpZGVyLnJvdW5kOmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJX1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiA3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblxuLyoqXG4gKiBXaGVuIHNvdXJjZSBtYXBzIGFyZSBlbmFibGVkLCBgc3R5bGUtbG9hZGVyYCB1c2VzIGEgbGluayBlbGVtZW50IHdpdGggYSBkYXRhLXVyaSB0b1xuICogZW1iZWQgdGhlIGNzcyBvbiB0aGUgcGFnZS4gVGhpcyBicmVha3MgYWxsIHJlbGF0aXZlIHVybHMgYmVjYXVzZSBub3cgdGhleSBhcmUgcmVsYXRpdmUgdG8gYVxuICogYnVuZGxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBPbmUgc29sdXRpb24gaXMgdG8gb25seSB1c2UgZnVsbCB1cmxzLCBidXQgdGhhdCBtYXkgYmUgaW1wb3NzaWJsZS5cbiAqXG4gKiBJbnN0ZWFkLCB0aGlzIGZ1bmN0aW9uIFwiZml4ZXNcIiB0aGUgcmVsYXRpdmUgdXJscyB0byBiZSBhYnNvbHV0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSBsb2NhdGlvbi5cbiAqXG4gKiBBIHJ1ZGltZW50YXJ5IHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhdCBgdGVzdC9maXhVcmxzLmpzYCBhbmQgY2FuIGJlIHJ1biB2aWEgdGhlIGBucG0gdGVzdGAgY29tbWFuZC5cbiAqXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzKSB7XG4gIC8vIGdldCBjdXJyZW50IGxvY2F0aW9uXG4gIHZhciBsb2NhdGlvbiA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2F0aW9uO1xuXG4gIGlmICghbG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaXhVcmxzIHJlcXVpcmVzIHdpbmRvdy5sb2NhdGlvblwiKTtcbiAgfVxuXG5cdC8vIGJsYW5rIG9yIG51bGw/XG5cdGlmICghY3NzIHx8IHR5cGVvZiBjc3MgIT09IFwic3RyaW5nXCIpIHtcblx0ICByZXR1cm4gY3NzO1xuICB9XG5cbiAgdmFyIGJhc2VVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gIHZhciBjdXJyZW50RGlyID0gYmFzZVVybCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcL1teXFwvXSokLywgXCIvXCIpO1xuXG5cdC8vIGNvbnZlcnQgZWFjaCB1cmwoLi4uKVxuXHQvKlxuXHRUaGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBqdXN0IGEgd2F5IHRvIHJlY3Vyc2l2ZWx5IG1hdGNoIGJyYWNrZXRzIHdpdGhpblxuXHRhIHN0cmluZy5cblxuXHQgL3VybFxccypcXCggID0gTWF0Y2ggb24gdGhlIHdvcmQgXCJ1cmxcIiB3aXRoIGFueSB3aGl0ZXNwYWNlIGFmdGVyIGl0IGFuZCB0aGVuIGEgcGFyZW5zXG5cdCAgICggID0gU3RhcnQgYSBjYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAoPzogID0gU3RhcnQgYSBub24tY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgICAgIFteKShdICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAoPzogID0gU3RhcnQgYW5vdGhlciBub24tY2FwdHVyaW5nIGdyb3Vwc1xuXHQgICAgICAgICAgICAgICAgIFteKShdKyAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICAgICAgW14pKF0qICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIFxcKSAgPSBNYXRjaCBhIGVuZCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKSAgPSBFbmQgR3JvdXBcbiAgICAgICAgICAgICAgKlxcKSA9IE1hdGNoIGFueXRoaW5nIGFuZCB0aGVuIGEgY2xvc2UgcGFyZW5zXG4gICAgICAgICAgKSAgPSBDbG9zZSBub24tY2FwdHVyaW5nIGdyb3VwXG4gICAgICAgICAgKiAgPSBNYXRjaCBhbnl0aGluZ1xuICAgICAgICkgID0gQ2xvc2UgY2FwdHVyaW5nIGdyb3VwXG5cdCBcXCkgID0gTWF0Y2ggYSBjbG9zZSBwYXJlbnNcblxuXHQgL2dpICA9IEdldCBhbGwgbWF0Y2hlcywgbm90IHRoZSBmaXJzdC4gIEJlIGNhc2UgaW5zZW5zaXRpdmUuXG5cdCAqL1xuXHR2YXIgZml4ZWRDc3MgPSBjc3MucmVwbGFjZSgvdXJsXFxzKlxcKCgoPzpbXikoXXxcXCgoPzpbXikoXSt8XFwoW14pKF0qXFwpKSpcXCkpKilcXCkvZ2ksIGZ1bmN0aW9uKGZ1bGxNYXRjaCwgb3JpZ1VybCkge1xuXHRcdC8vIHN0cmlwIHF1b3RlcyAoaWYgdGhleSBleGlzdClcblx0XHR2YXIgdW5xdW90ZWRPcmlnVXJsID0gb3JpZ1VybFxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15cIiguKilcIiQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSlcblx0XHRcdC5yZXBsYWNlKC9eJyguKiknJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KTtcblxuXHRcdC8vIGFscmVhZHkgYSBmdWxsIHVybD8gbm8gY2hhbmdlXG5cdFx0aWYgKC9eKCN8ZGF0YTp8aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvfGZpbGU6XFwvXFwvXFwvfFxccyokKS9pLnRlc3QodW5xdW90ZWRPcmlnVXJsKSkge1xuXHRcdCAgcmV0dXJuIGZ1bGxNYXRjaDtcblx0XHR9XG5cblx0XHQvLyBjb252ZXJ0IHRoZSB1cmwgdG8gYSBmdWxsIHVybFxuXHRcdHZhciBuZXdVcmw7XG5cblx0XHRpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvL1wiKSA9PT0gMCkge1xuXHRcdCAgXHQvL1RPRE86IHNob3VsZCB3ZSBhZGQgcHJvdG9jb2w/XG5cdFx0XHRuZXdVcmwgPSB1bnF1b3RlZE9yaWdVcmw7XG5cdFx0fSBlbHNlIGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi9cIikgPT09IDApIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHVybFxuXHRcdFx0bmV3VXJsID0gYmFzZVVybCArIHVucXVvdGVkT3JpZ1VybDsgLy8gYWxyZWFkeSBzdGFydHMgd2l0aCAnLydcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3Rvcnlcblx0XHRcdG5ld1VybCA9IGN1cnJlbnREaXIgKyB1bnF1b3RlZE9yaWdVcmwucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpOyAvLyBTdHJpcCBsZWFkaW5nICcuLydcblx0XHR9XG5cblx0XHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIHVybCguLi4pXG5cdFx0cmV0dXJuIFwidXJsKFwiICsgSlNPTi5zdHJpbmdpZnkobmV3VXJsKSArIFwiKVwiO1xuXHR9KTtcblxuXHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIGNzc1xuXHRyZXR1cm4gZml4ZWRDc3M7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oOSk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5mbGF0cGlja3ItY2FsZW5kYXJ7Zm9udC1zaXplOjEzcHg7Ym9yZGVyLXJhZGl1czo1cHh9LmZsYXRwaWNrci1jYWxlbmRhciAuZmxhdHBpY2tyLWNsZWFye3BhZGRpbmc6N3B4O21hcmdpbjoxMnB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzU2OWZmNztjb2xvcjojZmZmO291dGxpbmU6MDtib3JkZXI6MDttaW4td2lkdGg6MTAwcHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNoYWRvdzowIDAgMnB4IDAgdHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zNnN9LmZsYXRwaWNrci1jYWxlbmRhciAuZmxhdHBpY2tyLWNsZWFyOmZvY3VzLC5mbGF0cGlja3ItY2FsZW5kYXIgLmZsYXRwaWNrci1jbGVhcjpob3Zlcntib3gtc2hhZG93OjAgMCAycHggMCAjOWU5ZTllfS5EYXRlVGltZXNEaWFsb2d7bWF4LXdpZHRoOjMwNy44NzVweDtvdmVyZmxvdzpoaWRkZW59LkRhdGVUaW1lc0RpYWxvZyBpbnB1dHttaW4td2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cGFkZGluZzozcHg7b3V0bGluZTowO2JvcmRlcjpub25lfVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDEwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDExICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNJbWFnZXNSZW5kZXJlciBpbWd7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDEyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDEzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNOdW1iZXJzRWRpdG9ye2Rpc3BsYXk6YmxvY2t9LkJhc2ljTnVtYmVyc0VkaXRvciBpbnB1dHttaW4td2lkdGg6MTAwJTtvdXRsaW5lOjA7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvcmRlcjpub25lO3BhZGRpbmc6M3B4fVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDE0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW5kZXJlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19Cb29sZWFuU3dpdGNoX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG4vKipcbiogQm9vbGVhbnMgUmVuZGVyZXJcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIFJlbmRlcmVyaW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgUmVuZGVyZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKFJlbmRlcmVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBSZW5kZXJlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUmVuZGVyZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihSZW5kZXJlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUmVuZGVyZXIsIFt7XG4gICAga2V5OiBcImluaXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN3aXRjaGVyID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKG51bGwsIGRvYyk7XG4gICAgICBzd2l0Y2hlci5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmNvbnRhaW5lciA9IGRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUgPSBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiO1xuXG4gICAgICBpZiAoIXBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciB0cnVlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignUkVOREVSRVJfVFJVRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1RSVUUnLCBwYXJhbXMpO1xuICAgICAgICB2YXIgZmFsc2VWYWx1ZSA9IHRoaXMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9GQUxTRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0ZBTFNFJywgcGFyYW1zKTtcblxuICAgICAgICBpZiAodHJ1ZSA9PT0gcGFyYW1zLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKCF0cnVlVmFsdWUgfHwgdHJ1ZVZhbHVlID09PSAnc3dpdGNoJykge1xuICAgICAgICAgICAgc3dpdGNoZXIuY2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHN3aXRjaGVyLmNvbXBvbmVudCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IHRydWVWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFmYWxzZVZhbHVlIHx8IGZhbHNlVmFsdWUgPT09ICdzd2l0Y2gnKSB7XG4gICAgICAgICAgICBzd2l0Y2hlci51bmNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChzd2l0Y2hlci5jb21wb25lbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSBmYWxzZVZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBSZW5kZXJlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0Jvb2xlYW5Td2l0Y2hfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBCb29sZWFucyBFZGl0b3JcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIEVkaXRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBFZGl0b3IgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEVkaXRvciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRWRpdG9yKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBFZGl0b3IpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihFZGl0b3IpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEVkaXRvciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogU2V0dXAgdGhlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgc3RhcnRWYWx1ZTtcbiAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT09IG51bGwpIHN0YXJ0VmFsdWUgPSBCb29sZWFuKHBhcmFtcy5rZXlQcmVzcyk7ZWxzZSBpZiAocGFyYW1zLmNoYXJQcmVzcyAhPT0gbnVsbCkgc3RhcnRWYWx1ZSA9IEJvb2xlYW4ocGFyYW1zLmNoYXJQcmVzcyk7XG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG5cbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB2YXIga2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSA9IHBhcmFtcy5rZXlQcmVzcyA9PSAzMiAvLyBzcGFjZVxuICAgICAgICB8fCBwYXJhbXMua2V5UHJlc3MgPT0gNDY7IC8vIGRlbGV0ZVxuXG4gICAgICAgIGlmIChrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gQm9vbGVhbihwYXJhbXMuY2hhclByZXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG4gICAgICB0aGlzLnN3aXRjaGVyID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKHN0YXJ0VmFsdWUsIGRvYywgZnVuY3Rpb24gKHN3aXRjaGVyKSB7XG4gICAgICAgIF90aGlzLmN1cnJlbnRWYWx1ZSA9IHN3aXRjaGVyLmdldFZhbHVlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZm9jdXNJbigpOyAvLyB1cGRhdGUgYGN1cnJlbnRWYWx1ZWAgdGhlIHZhbHVlIHdoaWNoIHRoaXMgY29tcG9uZW50IGlzIG1hbmFnaW5nXG5cbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gc3RhcnRWYWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSByZWZyZW5jZSB0byB0aGUgY29tcG9uZW50IGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0hUTUxFbGVtZW50fVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLnN3aXRjaGVyLmNvbXBvbmVudDtcbiAgICB9XG4gICAgLyoqIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgYWx3YXlzIGZvY3VzZWQgdG8gbGlzdGVuIHRvIGtleSBjaGFuZ2VzKi9cblxuICB9LCB7XG4gICAga2V5OiBcImFmdGVyR3VpQXR0YWNoZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWZ0ZXJHdWlBdHRhY2hlZCgpIHtcbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB0aGlzLmZvY3VzSW4oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNJblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c0luKCkge1xuICAgICAgdGhpcy5zd2l0Y2hlci5mb2N1cygpO1xuICAgIH1cbiAgICAvKiogQ2FsbGVkIGlmIGVkaXRUeXBlID0gJ2Z1bGxSb3cnICovXG5cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c091dFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c091dCgpIHtcbiAgICAgIHRoaXMuc3dpdGNoZXIuZGlzYWJsZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgVGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyBmYWxzZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIHJlbW92ZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdG9yeSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgdGhpcy5zd2l0Y2hlci5kZXN0cm95KCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEVkaXRvcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRmlsdGVyOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBCb29sZWFucyBGaWx0ZXJcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIEZpbHRlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEZpbHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRmlsdGVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBGaWx0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZpbHRlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEZpbHRlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRmlsdGVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIEJvb2xlYW4gRmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciB0cnVlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignRklMVEVSX1RSVUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdUUlVFJywgcGFyYW1zKTtcbiAgICAgIHZhciBmYWxzZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9GQUxTRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0ZBTFNFJywgcGFyYW1zKTtcbiAgICAgIHZhciBub25lVmFsdWUgPSB0aGlzLmdldE9wdGlvbignRklMVEVSX05PTkUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdOT05FJywgcGFyYW1zKTtcbiAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgICAgdGhpcy52YWx1ZUdldHRlciA9IHBhcmFtcy52YWx1ZUdldHRlcjtcbiAgICAgIHRoaXMuZmlsdGVyVGV4dCA9IG51bGw7XG4gICAgICB0aGlzLmd1aSA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuZ3VpLmNsYXNzTmFtZSA9ICdCYXNpY0Jvb2xlYW5zRmlsdGVyJztcbiAgICAgIHRoaXMuZ3VpLnRhYkluZGV4ID0gXCIwXCI7XG4gICAgICB0aGlzLmd1aS5pbm5lckhUTUwgPSBcIlxcbiAgICAgICAgPHVsIGNsYXNzPVxcXCJhZy1maWx0ZXItYm9keVxcXCI+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwidHJ1ZVxcXCI+XCIuY29uY2F0KHRydWVWYWx1ZSB8fCAnJiM5NjczIFRydWUnLCBcIjwvbGk+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwiZmFsc2VcXFwiPlwiKS5jb25jYXQoZmFsc2VWYWx1ZSB8fCAnJiM5Njc4OyBGYWxzZScsIFwiPC9saT5cXG4gICAgICAgICAgPGxpIHZhbHVlPVxcXCJub25lXFxcIj5cIikuY29uY2F0KG5vbmVWYWx1ZSB8fCAnJiM5Njc3OyBOb25lJywgXCI8L2xpPlxcbiAgICAgICAgPC91bD5cXG4gICAgXCIpO1xuICAgICAgdGhpcy5maWx0ZXJFbGVtZW50cyA9IHRoaXMuZ3VpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJyk7XG4gICAgICB0aGlzLl9vbkNoYW5nZUJpbmQgPSB0aGlzLl9vbkNoYW5nZS5iaW5kKHRoaXMpO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsdGVyRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLmZpbHRlckVsZW1lbnRzW2ldO1xuICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9vbkNoYW5nZUJpbmQpO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiogQHJldHVybiB7SFRNTEVsZW1lbnR9Ki9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5ndWk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgc2VsZWN0ZWQgZmlsdGVyIG1hdGNocyB0aGUgcGFzc2VkIGNlbGwgZGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIHBhc3MsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZG9lc0ZpbHRlclBhc3NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZG9lc0ZpbHRlclBhc3MocGFyYW1zKSB7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlR2V0dGVyKHBhcmFtcyk7XG4gICAgICB2YXIgcGFzc2VkO1xuXG4gICAgICBpZiAodGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScgJiYgdmFsdWUgPT0gZmFsc2UpIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyAmJiB2YWx1ZSA9PSB0cnVlKSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpID09PSAnbm9uZScpIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhc3NlZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayB3aGV0aGVyIHRoZSBjb21wb25lbnQgaXMgYXBwbHlpbmcgYW55IGZpbHRlciBvbiB0aGUgY29sdW1uXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzRmlsdGVyQWN0aXZlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzRmlsdGVyQWN0aXZlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyVGV4dCAhPT0gbnVsbCAmJiB0aGlzLmZpbHRlclRleHQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmZpbHRlclRleHQgIT09ICdub25lJztcbiAgICB9XG4gICAgLyoqIEdldHMgdGhlIGZpbHRlciBzdGF0ZSBmb3Igc3RvcmluZyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0TW9kZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWwoKSB7XG4gICAgICB2YXIgbW9kZWwgPSB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmZpbHRlclRleHRcbiAgICAgIH07XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExpc3RlbiB0byBzZWxlY3Rpb24gY2hhbmdlcyBpbiB0aGUgZmlsdGVyIGxpc3QgYW5kIHVwZGF0ZSB0aGUgZ3JpZFxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9vbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DaGFuZ2UoZXZlbnQpIHtcbiAgICAgIHRoaXMuZmlsdGVyVGV4dCA9IGV2ZW50LnRhcmdldC5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJyk7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXJFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMuZmlsdGVyRWxlbWVudHNbaV07XG5cbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEZpbHRlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cblxuLyoqXG4qIERhdGUgLyBUaW1lcyBFZGl0b3JcbipcbiogSGFuZGxlIERhdGUvVGltZSB2YWx1ZXMgRWRpdGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEVkaXRvciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRWRpdG9yLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBFZGl0b3IoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEVkaXRvcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEVkaXRvcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRWRpdG9yLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBTZXR1cCB0aGUgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBzdGFydFZhbHVlO1xuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuXG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdmFyIGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUgPSBwYXJhbXMua2V5UHJlc3MgPT0gMzIgLy8gc3BhY2VcbiAgICAgICAgfHwgcGFyYW1zLmtleVByZXNzID09IDQ2OyAvLyBkZWxldGVcblxuICAgICAgICBpZiAoa2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSkge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSAnJztcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMuY2hhclByZXNzKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy5jaGFyUHJlc3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT0gMTEzKSB7XG4gICAgICAgICAgICAvL0YyXG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kaWFsb2cgPSBuZXcgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19EYXRlVGltZXNEaWFsb2dfX1tcImFcIiAvKiBkZWZhdWx0ICovXSh7XG4gICAgICAgIGVuYWJsZVRpbWU6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfVElNRScsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIGVuYWJsZVNlY29uZHM6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfU0VDT05EUycsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1heERhdGU6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUFYJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUFYJywgcGFyYW1zKSB8fCBudWxsLFxuICAgICAgICBtaW5EYXRlOiB0aGlzLmdldE9wdGlvbignRURJVE9SX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWFzazogdGhpcy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUFTSycsIHBhcmFtcyksXG4gICAgICAgIGFsbG93SW5wdXQ6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdBTExPV19JTlBVVCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1vZGU6ICdzaW5nbGUnLFxuICAgICAgICAvL3RoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTU9ERScsIHBhcmFtcykgfHwgJ3JhbmdlJyxcbiAgICAgICAgdGltZV8yNGhyOiB0aGlzLmdldE9wdGlvbignRURJVE9SXzI0SCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJzI0SCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG9uVmFsdWVVcGRhdGU6IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKVxuICAgICAgfSwgZG9jKTtcbiAgICAgIHRoaXMuZGlhbG9nLnNldERhdGUoc3RhcnRWYWx1ZSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBgY3VycmVudFZhbHVlYCAgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZShkYXRlcywgZGF0ZVN0cikge1xuICAgICAgdGhpcy5kaWFsb2cuc2V0RGF0ZShkYXRlU3RyLCBmYWxzZSk7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGRhdGVTdHI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcmVmcmVuY2UgdG8gdGhlIGNvbXBvbmVudCBlbGVtZW50XG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtIVE1MRWxlbWVudH1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2cuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKiogTWFrZSBzdXJlIGNvbnRhaW5lciBpcyBhbHdheXMgZm9jdXNlZCB0byBsaXN0ZW4gdG8ga2V5IGNoYW5nZXMqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiYWZ0ZXJHdWlBdHRhY2hlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhZnRlckd1aUF0dGFjaGVkKCkge1xuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cykge1xuICAgICAgICB0aGlzLmRpYWxvZy5pbnB1dC5zZWxlY3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNJbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzSW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNJbigpIHtcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oKTtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNPdXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNPdXQoKSB7XG4gICAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgVGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybiB7U3RyaW5nfVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0VmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0VmFsdWUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbXBvbmVudCBvdmVyZmxvd3MgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyB0cnVlXG4gICAgICoqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiaXNQb3B1cFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc1BvcHVwKCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiogRGVzdG9yeSBEYXRlVGltZXNEaWFsb2cgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIHRoaXMuZGlhbG9nLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRWRpdG9yO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDE4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBWYWx1ZUZvcm1hdHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIERhdGVzIC8gVGltZXMgRm9ybWF0dGVyXG4qXG4qIEhhbmRsZSBEYXRlIC8gVGltZSB2YWx1ZXMgZm9ybWF0dGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIFZhbHVlRm9ybWF0dGVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gVmFsdWVGb3JtYXR0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFZhbHVlRm9ybWF0dGVyKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhWYWx1ZUZvcm1hdHRlciwgbnVsbCwgW3tcbiAgICBrZXk6IFwiZm9ybWF0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvcm1hdChwYXJhbXMpIHtcbiAgICAgIHZhciBwYXJhbXNNaXhpbnMgPSBuZXcgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10oKTtcbiAgICAgIHZhciBkb2MgPSBwYXJhbXNNaXhpbnMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgbWFzayA9IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ1JFTkRFUkVSX01BU0snLCBwYXJhbXMpO1xuXG4gICAgICBpZiAobWFzayAmJiBwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgJiYgcGFyYW1zLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBCQmouTWFza3MuVHlwZXMuZGF0ZShwYXJhbXMudmFsdWUsIG1hc2spO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyYW1zLnZhbHVlIHx8ICcnOyAvLyBhdm9pZCB1bmRlZmluZWQgXG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFZhbHVlRm9ybWF0dGVyO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRmlsdGVyOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHsgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTsgfVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IHZhciBfYXJyID0gW107IHZhciBfbiA9IHRydWU7IHZhciBfZCA9IGZhbHNlOyB2YXIgX2UgPSB1bmRlZmluZWQ7IHRyeSB7IGZvciAodmFyIF9pID0gYXJyW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHsgX2Fyci5wdXNoKF9zLnZhbHVlKTsgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrOyB9IH0gY2F0Y2ggKGVycikgeyBfZCA9IHRydWU7IF9lID0gZXJyOyB9IGZpbmFsbHkgeyB0cnkgeyBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7IH0gZmluYWxseSB7IGlmIChfZCkgdGhyb3cgX2U7IH0gfSByZXR1cm4gX2FycjsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBEYXRlIC8gVGltZSBGaWx0ZXJcbipcbiogSGFuZGxlIERhdGVzIC8gVGltZXMgdmFsdWVzIEZpbHRlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEZpbHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRmlsdGVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBGaWx0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZpbHRlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEZpbHRlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRmlsdGVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIEJvb2xlYW4gRmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHRoaXMuZGlhbG9nID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fRGF0ZVRpbWVzRGlhbG9nX19bXCJhXCIgLyogZGVmYXVsdCAqL10oe1xuICAgICAgICBpbmxpbmU6IHRydWUsXG4gICAgICAgIGVuYWJsZVRpbWU6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfVElNRScsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIGVuYWJsZVNlY29uZHM6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfU0VDT05EUycsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1heERhdGU6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFYJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUFYJywgcGFyYW1zKSB8fCBudWxsLFxuICAgICAgICBtaW5EYXRlOiB0aGlzLmdldE9wdGlvbignRklMVEVSX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWFzazogdGhpcy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFTSycsIHBhcmFtcyksXG4gICAgICAgIGFsbG93SW5wdXQ6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdBTExPV19JTlBVVCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1vZGU6ICdyYW5nZScsXG4gICAgICAgIC8vdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NT0RFJywgcGFyYW1zKSB8fCAncmFuZ2UnLFxuICAgICAgICB0aW1lXzI0aHI6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfMjRIJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignMjRIJywgcGFyYW1zKSB8fCBmYWxzZSxcbiAgICAgICAgb25WYWx1ZVVwZGF0ZTogdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpLFxuICAgICAgICBvbkNsZWFyOiB0aGlzLm9uQ2xlYXIuYmluZCh0aGlzKVxuICAgICAgfSwgZG9jKTsgLy8gbWFrZSBzdXJlIG5vIGRhdGUgaXMgc2VsZWN0ZWRcblxuICAgICAgdGhpcy5kaWFsb2cuc2V0RGF0ZSgnJywgdHJ1ZSk7XG4gICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgIHRoaXMudmFsdWVHZXR0ZXIgPSBwYXJhbXMudmFsdWVHZXR0ZXI7XG4gICAgICB0aGlzLmZpbHRlckRhdGVzID0gbnVsbDtcbiAgICB9XG4gICAgLyoqIFJlc2V0IGZpbHRlciB3aGVuIGNhbGFuZGVyIGlzIGNsZWFyZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIm9uQ2xlYXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DbGVhcigpIHtcbiAgICAgIHRoaXMuZmlsdGVyRGF0ZXMgPSBbXTtcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMaXN0ZW4gdG8gc2VsZWN0aW9uIGNoYW5nZXMgaW4gdGhlIGNhbGFuZGVyIGFuZCB1cGRhdGUgdGhlIGdyaWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZShkYXRlcywgZGF0ZVN0cikge1xuICAgICAgdGhpcy5maWx0ZXJEYXRlcyA9IGRhdGVzO1xuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XG4gICAgfVxuICAgIC8qKiBAcmV0dXJuIHtIVE1MRWxlbWVudH0qL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5jb21wb25lbnQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgc2VsZWN0ZWQgZmlsdGVyIG1hdGNocyB0aGUgcGFzc2VkIGNlbGwgZGF0ZVxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIHBhc3MsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZG9lc0ZpbHRlclBhc3NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZG9lc0ZpbHRlclBhc3MocGFyYW1zKSB7XG4gICAgICB2YXIgdmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlR2V0dGVyKHBhcmFtcykpO1xuXG4gICAgICB2YXIgX3RoaXMkZmlsdGVyRGF0ZXMgPSBfc2xpY2VkVG9BcnJheSh0aGlzLmZpbHRlckRhdGVzLCAyKSxcbiAgICAgICAgICBzdGFydCA9IF90aGlzJGZpbHRlckRhdGVzWzBdLFxuICAgICAgICAgIGVuZCA9IF90aGlzJGZpbHRlckRhdGVzWzFdO1xuXG4gICAgICB2YXIgcGFzc2VkO1xuXG4gICAgICBpZiAodHlwZW9mIGVuZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHN0YXJ0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YXIgc3RhcnRBc0RhdGUgPSBuZXcgRGF0ZShzdGFydCk7XG4gICAgICAgIHZhciBlbmRBc0RhdGUgPSBuZXcgRGF0ZShlbmQpO1xuICAgICAgICBwYXNzZWQgPSB2YWx1ZSA+PSBzdGFydEFzRGF0ZSAmJiB2YWx1ZSA8PSBlbmRBc0RhdGU7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdGFydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFyIF9zdGFydEFzRGF0ZSA9IG5ldyBEYXRlKHN0YXJ0KTtcblxuICAgICAgICBwYXNzZWQgPSBfc3RhcnRBc0RhdGUgPT09IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhc3NlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2sgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGFwcGx5aW5nIGFueSBmaWx0ZXIgb24gdGhlIGNvbHVtblxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc0ZpbHRlckFjdGl2ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0ZpbHRlckFjdGl2ZSgpIHtcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuZmlsdGVyRGF0ZXMpICYmIHRoaXMuZmlsdGVyRGF0ZXMubGVuZ3RoO1xuICAgIH1cbiAgICAvKiogR2V0cyB0aGUgZmlsdGVyIHN0YXRlIGZvciBzdG9yaW5nICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRNb2RlbFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRNb2RlbCgpIHtcbiAgICAgIHZhciBtb2RlbCA9IHtcbiAgICAgICAgdmFsdWU6IHRoaXMuZmlsdGVyRGF0ZXNcbiAgICAgIH07XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgYSByZWFkIG9ubHkgZmxvYXRpbmcgZmlsdGVyIFxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ31cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldE1vZGVsQXNTdHJpbmdcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWxBc1N0cmluZygpIHtcbiAgICAgIHZhciBtYXNrID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NQVNLJywgdGhpcy5wYXJhbXMpO1xuXG4gICAgICB2YXIgX3RoaXMkZmlsdGVyRGF0ZXMyID0gX3NsaWNlZFRvQXJyYXkodGhpcy5maWx0ZXJEYXRlcywgMiksXG4gICAgICAgICAgc3RhcnQgPSBfdGhpcyRmaWx0ZXJEYXRlczJbMF0sXG4gICAgICAgICAgZW5kID0gX3RoaXMkZmlsdGVyRGF0ZXMyWzFdO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gJyc7XG4gICAgICBpZiAoc3RhcnQpIHJlc3VsdCArPSBcIlwiLmNvbmNhdChCQmouTWFza3MuVHlwZXMuZGF0ZShzdGFydCwgbWFzaykpO1xuICAgICAgaWYgKGVuZCkgcmVzdWx0ICs9IFwiIC0gXCIuY29uY2F0KEJCai5NYXNrcy5UeXBlcy5kYXRlKGVuZCwgbWFzaykpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRmlsdGVyO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW5kZXJlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogSW1hZ2VzIFJlbmRlcmVyXG4qXG4qIEhhbmRsZSBJbWFnZXMgUmVuZGVyZXJpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBSZW5kZXJlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoUmVuZGVyZXIsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIFJlbmRlcmVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSZW5kZXJlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKFJlbmRlcmVyKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhSZW5kZXJlciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB0aGlzLmNvbnRhaW5lciA9IGRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUgPSBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIjtcblxuICAgICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgd2lkdGggPSB0aGlzLmdldE9wdGlvbignSU1BR0VTX1dJRFRIJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignV0lEVEgnLCBwYXJhbXMpIHx8ICcyNXB4JztcbiAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuZ2V0T3B0aW9uKCdJTUFHRVNfSEVJR0hUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignSEVJR0hUJywgcGFyYW1zKSB8fCAnMjVweCc7XG4gICAgICAgIHZhciBsaXN0ID0gdGhpcy5nZXRPcHRpb24oJ0lNQUdFU19MSVNUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTElTVCcsIHBhcmFtcyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsaXN0ID0gSlNPTi5wYXJzZShsaXN0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxpc3QgPSBsaXN0IHx8IHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpc3QgJiYgbGlzdC5oYXNPd25Qcm9wZXJ0eShwYXJhbXMudmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gXCI8aW1nIHNyYz1cXFwiXCIuY29uY2F0KGxpc3RbcGFyYW1zLnZhbHVlXSwgXCJcXFwiIHdpZHRoPVxcXCJcIikuY29uY2F0KHdpZHRoLCBcIlxcXCIgaGVpZ2h0PVxcXCJcIikuY29uY2F0KGhlaWdodCwgXCJcXFwiLz5cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gcGFyYW1zLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXI7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFJlbmRlcmVyO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBWYWx1ZUZvcm1hdHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIE51bWJlcnMgVmFsdWUgRm9ybWF0dGVyXG4qXG4qIEhhbmRsZSBOdW1iZXIgdmFsdWVzIGZvcm1hdHRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBWYWx1ZUZvcm1hdHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFZhbHVlRm9ybWF0dGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBWYWx1ZUZvcm1hdHRlcik7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVmFsdWVGb3JtYXR0ZXIsIG51bGwsIFt7XG4gICAga2V5OiBcImZvcm1hdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXQocGFyYW1zKSB7XG4gICAgICB2YXIgcGFyYW1zTWl4aW5zID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKCk7XG4gICAgICB2YXIgZG9jID0gcGFyYW1zTWl4aW5zLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIG1hc2sgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9NQVNLJywgcGFyYW1zKTtcbiAgICAgIHZhciBncm91cFNlcCA9IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfR1JPVVBfU0VQQVJBVE9SJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdOVU1CRVJTX1JFTkRFUkVSX0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgJywnO1xuICAgICAgdmFyIGRlY2ltYWxTZXAgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdERUNJTUFMX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ05VTUJFUlNfUkVOREVSRVJfREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8ICcuJztcblxuICAgICAgaWYgKG1hc2sgJiYgcGFyYW1zLmhhc093blByb3BlcnR5KCd2YWx1ZScpICYmIHBhcmFtcy52YWx1ZSAhPSBudWxsICYmICFpc05hTihwYXJhbXMudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBCQmouTWFza3MuVHlwZXMubnVtYmVyKHBhcmFtcy52YWx1ZSwgbWFzaywgZ3JvdXBTZXAsIGRlY2ltYWxTZXApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyYW1zLnZhbHVlIHx8ICcnOyAvLyBhdm9pZCB1bmRlZmluZWQgXG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFZhbHVlRm9ybWF0dGVyO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiAyMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBOdW1iZXJzIEVkaXRvclxuKlxuKiBIYW5kbGUgbnVtYmVyIHZhbHVlcyBFZGl0aW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgRWRpdG9yID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUGFyYW1zTWl4aW5zKSB7XG4gIF9pbmhlcml0cyhFZGl0b3IsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIEVkaXRvcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWRpdG9yKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoRWRpdG9yKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhFZGl0b3IsIFt7XG4gICAga2V5OiBcImluaXRcIixcblxuICAgIC8qKlxuICAgICAqIFNldHVwIHRoZSBjb21wb25lbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN0YXJ0VmFsdWU7XG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG5cbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB2YXIga2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSA9IHBhcmFtcy5rZXlQcmVzcyA9PSAzMiAvLyBzcGFjZVxuICAgICAgICB8fCBwYXJhbXMua2V5UHJlc3MgPT0gNDY7IC8vIGRlbGV0ZVxuXG4gICAgICAgIGlmIChrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9ICcnO1xuICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLmNoYXJQcmVzcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICAgICAgaWYgKHBhcmFtcy5rZXlQcmVzcyAhPSAxMTMpIHtcbiAgICAgICAgICAgIC8vRjJcbiAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbXBvbmVudCA9IGRvYy5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgdGhpcy5jb21wb25lbnQuY2xhc3NOYW1lID0gJ0Jhc2ljTnVtYmVyc0VkaXRvcic7XG4gICAgICB0aGlzLmNvbXBvbmVudC50YWJJbmRleCA9IFwiMFwiOyAvLyBpbnB1dFxuXG4gICAgICB0aGlzLmlucHV0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICB0aGlzLmlucHV0LnR5cGUgPSBcIm51bWJlclwiO1xuICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgICB0aGlzLmlucHV0LnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdmFyIG1pbiA9IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUlOJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUlOJywgcGFyYW1zKTtcbiAgICAgIHZhciBtYXggPSB0aGlzLmdldE9wdGlvbignRURJVE9SX01BWCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01BWCcsIHBhcmFtcyk7XG4gICAgICB2YXIgc3RlcCA9IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfU1RFUCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1NURVAnLCBwYXJhbXMpO1xuICAgICAgaWYgKG1pbikgdGhpcy5pbnB1dC5taW4gPSBtaW47XG4gICAgICBpZiAobWF4KSB0aGlzLmlucHV0Lm1heCA9IG1heDtcbiAgICAgIGlmIChzdGVwKSB0aGlzLmlucHV0Lm1heCA9IHN0ZXA7XG4gICAgICB0aGlzLl9vbktleURvd25CaW5kID0gdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLl9vbkNoYW5nZUJpbmQgPSB0aGlzLl9vbkNoYW5nZS5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgICB0aGlzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX29uQ2hhbmdlQmluZCk7IC8vIHVwZGF0ZSBgY3VycmVudFZhbHVlYCB0aGUgdmFsdWUgd2hpY2ggdGhpcyBjb21wb25lbnQgaXMgbWFuYWdpbmdcblxuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBzdGFydFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHJlZnJlbmNlIHRvIHRoZSBjb21wb25lbnQgZWxlbWVudFxuICAgICAqXG4gICAgICogQHJldHVybiB7SFRNTEVsZW1lbnR9XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKiogTWFrZSBzdXJlIGNvbnRhaW5lciBpcyBhbHdheXMgZm9jdXNlZCB0byBsaXN0ZW4gdG8ga2V5IGNoYW5nZXMqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiYWZ0ZXJHdWlBdHRhY2hlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhZnRlckd1aUF0dGFjaGVkKCkge1xuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cykge1xuICAgICAgICB0aGlzLmlucHV0LnNlbGVjdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNBZnRlckF0dGFjaGVkKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c0luKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IFRoZSBjb21wb25lbnQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICAgIHZhciBjYXN0ZWQgPSBOdW1iZXIodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgcmV0dXJuIGlzTmFOKGNhc3RlZCkgPyB0aGlzLmN1cnJlbnRWYWx1ZSA6IGNhc3RlZDtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNJblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c0luKCkge1xuICAgICAgdGhpcy5pbnB1dC5mb2N1cygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyBmYWxzZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIHJlbW92ZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdG9yeSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgaWYgKHRoaXMuX29uS2V5RG93bikgdGhpcy5pbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duKTtcbiAgICAgIGlmICh0aGlzLl9vbkNoYW5nZUJpbmQpIHRoaXMuaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICB9XG4gICAgLyoqXG4gICAgKiBVcGRhdGUgYGN1cnJlbnRWYWx1ZWAgd2hlbiB0aGUgY2hlY2tib3ggdmFsdWUgaXMgY2hhbmdlZFxuICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKHBhcmFtcykge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb25pdG9yIGtleXMgW3RvcCxib3R0b20sZW50ZXJdIHRvIGNoYW5nZSB0aGUgaW5wdXQgdmFsdWVcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uS2V5RG93blwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25LZXlEb3duKGV2ZW50KSB7XG4gICAgICB2YXIga2V5ID0gZXZlbnQud2hpY2ggfHwgZXZlbnQua2V5Q29kZTtcblxuICAgICAgaWYgKGtleSA9PSAzOCB8fCBrZXkgPT0gNDApIHtcbiAgICAgICAgLy8gdG9wIHwgZG93blxuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuaW5wdXQudmFsdWU7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gMTMpIHtcbiAgICAgICAgLy8gZW50ZXJcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBFZGl0b3I7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMjMgKi8sXG4vKiAyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfZXhwb3NlX2xvYWRlcl9CQmpfTWFza3Nfbm9kZV9tb2R1bGVzX2Jial9tYXNrc19kaXN0X2Jial9tYXNrc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX2V4cG9zZV9sb2FkZXJfQkJqX01hc2tzX25vZGVfbW9kdWxlc19iYmpfbWFza3NfZGlzdF9iYmpfbWFza3NfanNfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9leHBvc2VfbG9hZGVyX0JCal9NYXNrc19ub2RlX21vZHVsZXNfYmJqX21hc2tzX2Rpc3RfYmJqX21hc2tzX2pzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19Cb29sZWFuc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19Cb29sZWFuc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fQm9vbGVhbnNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fRGF0ZVRpbWVzX3N0eWxlX2Nzc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX0RhdGVUaW1lc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fRGF0ZVRpbWVzX3N0eWxlX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX0ltYWdlc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fSW1hZ2VzX3N0eWxlX2Nzc19fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19JbWFnZXNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX0Jvb2xlYW5zX1JlbmRlcmVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fQm9vbGVhbnNfUmVuZGVyZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fQm9vbGVhbnNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNFZGl0b3JcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX0Jvb2xlYW5zX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19Cb29sZWFuc19GaWx0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNCb29sZWFuc0ZpbHRlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fQm9vbGVhbnNfRmlsdGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19EYXRlVGltZXNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzRWRpdG9yXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fRGF0ZVRpbWVzX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fRGF0ZVRpbWVzX1ZhbHVlRm9ybWF0dGVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzVmFsdWVGb3JtYXR0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19EYXRlVGltZXNfVmFsdWVGb3JtYXR0ZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfX0RhdGVUaW1lc19GaWx0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTkpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNEYXRlVGltZXNGaWx0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19EYXRlVGltZXNfRmlsdGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEzX19JbWFnZXNfUmVuZGVyZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNJbWFnZXNSZW5kZXJlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfX0ltYWdlc19SZW5kZXJlcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNF9fTnVtYmVyc19WYWx1ZUZvcm1hdHRlcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMSk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY051bWJlcnNWYWx1ZUZvcm1hdHRlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX051bWJlcnNfVmFsdWVGb3JtYXR0ZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfX051bWJlcnNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIyKTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljTnVtYmVyc0VkaXRvclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfX051bWJlcnNfRWRpdG9yX2pzX19bXCJhXCJdOyB9KTtcbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qKiovIH0pLFxuLyogMjUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCkge2lmKCFnbG9iYWxbXCJCQmpcIl0pIGdsb2JhbFtcIkJCalwiXSA9IHt9O1xubW9kdWxlLmV4cG9ydHMgPSBnbG9iYWxbXCJCQmpcIl1bXCJNYXNrc1wiXSA9IF9fd2VicGFja19yZXF1aXJlX18oMjcpO1xuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18oMjYpKSlcblxuLyoqKi8gfSksXG4vKiAyNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG52YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8fCAoMSxldmFsKShcInRoaXNcIik7XG59IGNhdGNoKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIilcblx0XHRnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG5cblxuLyoqKi8gfSksXG4vKiAyNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4oZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0cnVlKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiTWFza3NcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQkJqXCJdID0gcm9vdFtcIkJCalwiXSB8fCB7fSwgcm9vdFtcIkJCalwiXVtcIk1hc2tzXCJdID0gZmFjdG9yeSgpO1xufSkodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIC8qKioqKiovIChmdW5jdGlvbihtb2R1bGVzKSB7IC8vIHdlYnBhY2tCb290c3RyYXBcbi8qKioqKiovIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbi8qKioqKiovIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbi8qKioqKiovIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4vKioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG4vKioqKioqL1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4vKioqKioqLyBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuLyoqKioqKi8gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbi8qKioqKiovIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbi8qKioqKiovIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbi8qKioqKiovIFx0XHRcdH0pO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuLyoqKioqKi8gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4vKioqKioqLyBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuLyoqKioqKi8gXHRcdHJldHVybiBnZXR0ZXI7XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAyKTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYmJqLW1hc2tzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqIFxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKiBcbiAqIERhdGVNYXNrXG4gKiBcbiAqIEhhbmRsZSBCQmogZGF0ZXMgbWFza2luZyBcbiAqIFxuICogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgRGF0ZU1hc2sgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBEYXRlTWFzaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRGF0ZU1hc2spO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKERhdGVNYXNrLCBudWxsLCBbe1xuICAgIGtleTogXCJtYXNrXCIsXG5cbiAgICAvKiogXG4gICAgICogTWFzayBkYXRlXG4gICAgICogXG4gICAgICogTWFzayB0aGUgcGFzc2VkIGRhdGUgd2l0aCB0aGUgcGFzc2VkIG1hc2tcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgbWFzayBhcyBhIHN0cmluZ1xuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gYSBkYXRlIG1hc2tlZCB3aXRodCB0aGUgZ2l2ZW4gbWFza1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBtYXNrKGRhdGUsIF9tYXNrKSB7XG4gICAgICBpZiAoIWRhdGUpIHJldHVybjtcbiAgICAgIGlmICghX21hc2spIHJldHVybiBkYXRlO1xuXG4gICAgICB2YXIgZGF0ZURldGFpbHMgPSBEYXRlTWFzay5fcGFyc2VEYXRlKGRhdGUpO1xuXG4gICAgICB2YXIgdHJhbnNsYXRpb25zID0gRGF0ZU1hc2suX2J1aWxkVHJhbnNpbGF0aW9uKGRhdGVEZXRhaWxzKTtcblxuICAgICAgdmFyIHJlc3VsdCA9IF9tYXNrO1xuXG4gICAgICBmb3IgKHZhciBrIGluIHRyYW5zbGF0aW9ucykge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShuZXcgUmVnRXhwKCcoJScgKyBrICsgJyknLCAnZycpLCB0cmFuc2xhdGlvbnNba10pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXJzZSB0aGUgcGFzc2VkIGRhdGUgc3RyaW5nIGFkbiByZXR1cm4gaXRzIGRldGlsYXNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9wYXJzZURhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX3BhcnNlRGF0ZShkYXRlKSB7XG4gICAgICB2YXIgZGF0ZU9iamVjdCA9IERhdGUucGFyc2UoZGF0ZSk7XG4gICAgICBpZiAoIShkYXRlT2JqZWN0IGluc3RhbmNlb2YgRGF0ZSkpIGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAgIHZhciBob3VyczI0ID0gZGF0ZU9iamVjdC5nZXRIb3VycygpO1xuICAgICAgdmFyIGhvdXJzMTIgPSBob3VyczI0ICUgMTIgfHwgMTI7XG5cbiAgICAgIHZhciBkYXlPZlllYXIgPSBEYXRlTWFzay5fZ2V0RGF5T2ZZZWFyKGRhdGUpOyAvLyBjb25zdCBkYXlPZldlZWsgPSBkYXRlT2JqZWN0LmdldERheSgpID9cblxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBcInllYXJcIjogZGF0ZU9iamVjdC5nZXRGdWxsWWVhcigpLFxuICAgICAgICBcIm1vbnRoXCI6IGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDEsXG4gICAgICAgIFwiZGF5XCI6IGRhdGVPYmplY3QuZ2V0RGF0ZSgpLFxuICAgICAgICBcIm1pbnV0ZXNcIjogZGF0ZU9iamVjdC5nZXRNaW51dGVzKCksXG4gICAgICAgIFwic2Vjb25kc1wiOiBkYXRlT2JqZWN0LmdldFNlY29uZHMoKSxcbiAgICAgICAgXCJob3VyczI0XCI6IGhvdXJzMjQsXG4gICAgICAgIFwiaG91cnMxMlwiOiBob3VyczEyLFxuICAgICAgICBcImRheU9mWWVhclwiOiBkYXlPZlllYXIsXG4gICAgICAgIFwiZGF5T2ZXZWVrXCI6IGRhdGVPYmplY3QuZ2V0RGF5KCkgKyAxIC8vIFN1bmRheSA9IDEgaW4gQkJqIGJ1dCBTdW5kYXkgPSAwIGluIEpTXG5cbiAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBhIG1hcCBvYmplY3Qgd2hpY2ggY29udGFpbnMgYWxsIHBvc3NpYmxlIGZvcm1zIG9mIG1hc2tzXG4gICAgICogXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGRhdGVEZXRhaWxzIGRhdGUgZGV0YWlscyBidWlsdCBieSBgX3BhcnNlRGF0ZWBcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IGZvcm1zIG1hc2tzXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRUcmFuc2lsYXRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkVHJhbnNpbGF0aW9uKGRhdGVEZXRhaWxzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAvLyB5ZWFyIFxuICAgICAgICBcIll6XCI6IGRhdGVEZXRhaWxzLnllYXIudG9TdHJpbmcoKS5zdWJzdHIoLTIpLFxuICAgICAgICBcIllzXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWWxcIjogZGF0ZURldGFpbHMueWVhcixcbiAgICAgICAgXCJZcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLnllYXIpLFxuICAgICAgICBcIllkXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWVwiOiBkYXRlRGV0YWlscy55ZWFyLFxuICAgICAgICAvLyBtb250aFxuICAgICAgICBcIk16XCI6IFN0cmluZyhkYXRlRGV0YWlscy5tb250aCkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLm1vbnRoIDogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTXNcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTWxcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTXBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5tb250aCksXG4gICAgICAgIFwiTWRcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTVwiOiBkYXRlRGV0YWlscy5tb250aCxcbiAgICAgICAgLy8gZGF5XG4gICAgICAgIFwiRHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmRheSkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmRheSA6IGRhdGVEZXRhaWxzLmRheSxcbiAgICAgICAgXCJEc1wiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRGxcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICBcIkRwXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMuZGF5KSxcbiAgICAgICAgXCJEZFwiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRFwiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIC8vIGhvdXIgMjRcbiAgICAgICAgXCJIelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuaG91cnMyNCkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmhvdXJzMjQgOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICBcIkhzXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSGxcIjogZGF0ZURldGFpbHMuaG91cnMyNCxcbiAgICAgICAgXCJIcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLmhvdXJzMjQpLFxuICAgICAgICBcIkhkXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSFwiOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICAvLyBob3VyIDEyXG4gICAgICAgIFwiaHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmhvdXJzMTIpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5ob3VyczEyIDogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgXCJoc1wiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhsXCI6IGRhdGVEZXRhaWxzLmhvdXJzMTIsXG4gICAgICAgIFwiaHBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5ob3VyczEyKSxcbiAgICAgICAgXCJoZFwiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhcIjogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgLy8gbWludXRlc1xuICAgICAgICBcIm16XCI6IFN0cmluZyhkYXRlRGV0YWlscy5taW51dGVzKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMubWludXRlcyA6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIFwibXNcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtbFwiOiBkYXRlRGV0YWlscy5taW51dGVzLFxuICAgICAgICBcIm1wXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMubWludXRlcyksXG4gICAgICAgIFwibWRcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtXCI6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIC8vIHNlY29uZHNcbiAgICAgICAgXCJzelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuc2Vjb25kcykubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLnNlY29uZHMgOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICBcInNzXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic2xcIjogZGF0ZURldGFpbHMuc2Vjb25kcyxcbiAgICAgICAgXCJzcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLnNlY29uZHMpLFxuICAgICAgICBcInNkXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic1wiOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICAvLyBBTSAsIFBNXG4gICAgICAgIFwiUFBcIjogZGF0ZURldGFpbHMuaG91cnMyNCA+IDEyID8gXCJQTVwiIDogXCJQTVwiLFxuICAgICAgICBcIlBcIjogZGF0ZURldGFpbHMuaG91cnMyNCA+IDEyID8gXCJQTVwiIDogXCJBTVwiLFxuICAgICAgICBcInBwXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwicG1cIiA6IFwiYW1cIixcbiAgICAgICAgXCJwXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwicG1cIiA6IFwiYW1cIixcbiAgICAgICAgLy8gRGF5IG9mIFllYXJcbiAgICAgICAgXCJKelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuZGF5T2ZZZWFyKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuZGF5T2ZZZWFyIDogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpzXCI6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgXCJKbFwiOiBkYXRlRGV0YWlscy5kYXlPZlllYXIsXG4gICAgICAgIFwiSmRcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICAvLyBEYXkgT2YgV2VlayBcbiAgICAgICAgXCJXelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuZGF5T2ZXZWVrKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuZGF5T2ZXZWVrIDogZGF0ZURldGFpbHMuZGF5T2ZXZWVrLFxuICAgICAgICBcIldzXCI6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXbFwiOiBkYXRlRGV0YWlscy5kYXlPZldlZWssXG4gICAgICAgIFwiV3BcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5kYXlPZldlZWspLFxuICAgICAgICBcIldkXCI6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXXCI6IGRhdGVEZXRhaWxzLmRheU9mV2Vla1xuICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBEYXkgbnVtYmVyIHdpdGhpbiB0aGUgeWVhciAoMS0zNjYpLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkYXRlIGRhdGUgYXMgYSBzdHJpbmdcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB7TnVtYmVyfVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2dldERheU9mWWVhclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0RGF5T2ZZZWFyKGRhdGUpIHtcbiAgICAgIHZhciBub3cgPSBEYXRlLnBhcnNlKGRhdGUpO1xuICAgICAgaWYgKCEobm93IGluc3RhbmNlb2YgRGF0ZSkpIG5vdyA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIDAsIDApO1xuICAgICAgdmFyIGRpZmYgPSBub3cgLSBzdGFydCArIChzdGFydC5nZXRUaW1lem9uZU9mZnNldCgpIC0gbm93LmdldFRpbWV6b25lT2Zmc2V0KCkpICogNjAgKiAxMDAwO1xuICAgICAgdmFyIG9uZURheSA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG4gICAgICB2YXIgZGF5ID0gTWF0aC5mbG9vcihkaWZmIC8gb25lRGF5KTtcbiAgICAgIHJldHVybiBkYXk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIERhdGVNYXNrO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBEYXRlTWFzaztcblxuLyoqKi8gfSksXG4vKiAxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJiai1tYXNrcyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKiBcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKiogXG4gKiBOdW1iZXJNYXNrXG4gKiBcbiAqIEhhbmRsZSBCQmogbnVtYmVycyBtYXNraW5nIFxuICogXG4gKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBOdW1iZXJNYXNrID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gTnVtYmVyTWFzaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTnVtYmVyTWFzayk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoTnVtYmVyTWFzaywgbnVsbCwgW3tcbiAgICBrZXk6IFwibWFza1wiLFxuXG4gICAgLyoqXG4gICAgICogTWFzayB0aGUgZ2l2ZW4gbnVtYmVyIHdpdGggdGhlIGdpdmVuIG1hc2sgYWNjb3JkaW5nIHRvIEJCaiBydWxlc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBudW1iZXIgdGhlIG51bWJlciB0byBmb3JtYXRcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWFzayB0aGUgbWFzayB0byB1c2UgZm9yIGZvcm1hdHRpbmdcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZ3JvdXBpbmdTZXBhcmF0b3IgYSBjaGFyIHdoaWNoIHdpbGwgYmUgdXNlZCBhcyBhIGdyb3VwaW5nIHNlcGFyYXRvclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkZWNpbWFsU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBtYXNrZWQgbnVtYmVyXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG1hc2sobnVtYmVyLCBfbWFzaykge1xuICAgICAgdmFyIGdyb3VwaW5nU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiAnLCc7XG4gICAgICB2YXIgZGVjaW1hbFNlcGFyYXRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJy4nO1xuICAgICAgdmFyIG1hc2tMZW5ndGggPSBfbWFzay5sZW5ndGg7XG4gICAgICBpZiAoMCA9PT0gbWFza0xlbmd0aCkgcmV0dXJuIG51bWJlcjsgLy8gR2V0IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE1BU0tcblxuICAgICAgdmFyIG1hc2tCZWZvcmVEZWNpbWFsID0gMDtcbiAgICAgIHZhciBtYXNrQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgIHZhciBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXNrTGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIG0gPSBfbWFzay5jaGFyQXQoaSk7XG5cbiAgICAgICAgaWYgKG0gPT0gJzAnIHx8IG0gPT0gJyMnKSB7XG4gICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgKyttYXNrQWZ0ZXJEZWNpbWFsO2Vsc2UgKyttYXNrQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgfSBlbHNlIGlmIChtID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIG51bSA9IE51bWJlck1hc2suX3JvdW5kKG51bWJlciwgbWFza0FmdGVyRGVjaW1hbCk7XG5cbiAgICAgIHZhciBkaWdpdHMgPSBOdW1iZXJNYXNrLl90b0NoYXJBcnJheShudW0pOyAvLyBHZXQgbWFnbml0dWRlIGFuZCBwcmVjaXNpb24gb2YgTlVNQkVSXG5cblxuICAgICAgdmFyIG51bUxlbiA9IGRpZ2l0cy5sZW5ndGg7XG4gICAgICB2YXIgbnVtQmVmb3JlRGVjaW1hbCA9IDA7XG4gICAgICB2YXIgbnVtQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgIGZvdW5kRGVjaW1hbCA9IGZhbHNlO1xuXG4gICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbnVtTGVuOyBfaSsrKSB7XG4gICAgICAgIGlmIChkaWdpdHNbX2ldID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtlbHNlIHtcbiAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSArK251bUFmdGVyRGVjaW1hbDtlbHNlICsrbnVtQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgfVxuICAgICAgfSAvLyBhbHdheXMgaWdub3JlIG1hc2sgb3ZlcmZsb3dcblxuXG4gICAgICBpZiAobnVtQmVmb3JlRGVjaW1hbCA+IG1hc2tCZWZvcmVEZWNpbWFsKSByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCk7IC8vIHJvdW5kIGlmIG1hc2sgaXMgZm9yIGEgbG93ZXIgcHJlY2lzaW9uIG51bWJlclxuXG4gICAgICBpZiAobnVtQWZ0ZXJEZWNpbWFsID4gbWFza0FmdGVyRGVjaW1hbCkge1xuICAgICAgICBudW0gPSBOdW1iZXJNYXNrLl9yb3VuZChudW0sIG1hc2tBZnRlckRlY2ltYWwpO1xuICAgICAgICBkaWdpdHMgPSBOdW1iZXJNYXNrLl90b0NoYXJBcnJheShudW0pO1xuICAgICAgICBudW1MZW4gPSBkaWdpdHMubGVuZ3RoOyAvLyBHZXQgbmV3IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE5VTUJFUlxuXG4gICAgICAgIG51bUJlZm9yZURlY2ltYWwgPSAwO1xuICAgICAgICBudW1BZnRlckRlY2ltYWwgPSAwO1xuICAgICAgICBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgICBmb3IgKHZhciBfaTIgPSAwOyBfaTIgPCBudW1MZW47IF9pMisrKSB7XG4gICAgICAgICAgaWYgKGRpZ2l0c1tfaTJdID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtlbHNlIHtcbiAgICAgICAgICAgIGlmIChmb3VuZERlY2ltYWwpICsrbnVtQWZ0ZXJEZWNpbWFsO2Vsc2UgKytudW1CZWZvcmVEZWNpbWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBhbHdheXMgaWdub3JlIG1hc2sgb3ZlcmZsb3dcblxuXG4gICAgICAgIGlmIChudW1CZWZvcmVEZWNpbWFsID4gbWFza0JlZm9yZURlY2ltYWwpIHtcbiAgICAgICAgICByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGlzTmVnYXRpdmUgPSBOdW1iZXJNYXNrLl9nZXRTaWduKG51bSkgPT09IC0xO1xuICAgICAgdmFyIGVtaXREZWNpbWFsID0gbnVtTGVuID4gMCB8fCBfbWFzay5pbmRleE9mKCcwJykgPj0gMDtcbiAgICAgIHZhciBmb3VuZFplcm8gPSBmYWxzZTtcbiAgICAgIHZhciBjdXJyZW5jeSA9IGZhbHNlO1xuICAgICAgdmFyIGJ1ZmZlciA9ICcnO1xuICAgICAgZm91bmREZWNpbWFsID0gZmFsc2U7XG5cbiAgICAgIGZvciAodmFyIG51bVBvcyA9IDAsIG1hc2tQb3MgPSAwOyBtYXNrUG9zIDwgbWFza0xlbmd0aDsgbWFza1BvcysrKSB7XG4gICAgICAgIHZhciBfbSA9IF9tYXNrLmNoYXJBdChtYXNrUG9zKTtcblxuICAgICAgICBzd2l0Y2ggKF9tKSB7XG4gICAgICAgICAgY2FzZSAnMCc6XG4gICAgICAgICAgICAtLW1hc2tCZWZvcmVEZWNpbWFsO1xuXG4gICAgICAgICAgICBpZiAobWFza0JlZm9yZURlY2ltYWwgPCBudW1CZWZvcmVEZWNpbWFsICYmIG51bVBvcyA8IG51bUxlbikge1xuICAgICAgICAgICAgICBidWZmZXIgKz0gZGlnaXRzW251bVBvc107XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9ICcwJztcbiAgICAgICAgICAgICAgZm91bmRaZXJvID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgIC0tbWFza0JlZm9yZURlY2ltYWw7XG5cbiAgICAgICAgICAgIGlmIChtYXNrQmVmb3JlRGVjaW1hbCA8IG51bUJlZm9yZURlY2ltYWwgJiYgbnVtUG9zIDwgbnVtTGVuKSB7XG4gICAgICAgICAgICAgIGJ1ZmZlciArPSBkaWdpdHNbbnVtUG9zXTtcbiAgICAgICAgICAgICAgKytudW1Qb3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSBidWZmZXIgKz0gJzAnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJywnOlxuICAgICAgICAgICAgaWYgKGZvdW5kWmVybyB8fCBudW1Qb3MgPiAwKSBidWZmZXIgKz0gZ3JvdXBpbmdTZXBhcmF0b3I7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJy0nOlxuICAgICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgIGNhc2UgJyknOlxuICAgICAgICAgICAgaWYgKGlzTmVnYXRpdmUpIGJ1ZmZlciArPSBfbTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnKyc6XG4gICAgICAgICAgICBidWZmZXIgKz0gaXNOZWdhdGl2ZSA/ICctJyA6ICcrJztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnLic6XG4gICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSBidWZmZXIgKz0gX207ZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChlbWl0RGVjaW1hbCkgYnVmZmVyICs9IGRlY2ltYWxTZXBhcmF0b3I7XG4gICAgICAgICAgICAgIGZvdW5kRGVjaW1hbCA9IHRydWU7XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdDJzpcbiAgICAgICAgICAgIGlmIChtYXNrUG9zIDwgbWFza0xlbmd0aCAtIDEgJiYgX21hc2suY2hhckF0KG1hc2tQb3MgKyAxKSA9PSAnUicpIHtcbiAgICAgICAgICAgICAgaWYgKGlzTmVnYXRpdmUpIGJ1ZmZlciArPSAnQ1InO1xuICAgICAgICAgICAgICArK21hc2tQb3M7XG4gICAgICAgICAgICB9IGVsc2UgYnVmZmVyICs9IF9tO1xuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ0QnOlxuICAgICAgICAgICAgaWYgKG1hc2tQb3MgPCBtYXNrTGVuZ3RoIC0gMSAmJiBwX21hc2suY2hhckF0KG1hc2tQb3MgKyAxKSA9PSAnUicpIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9IGlzTmVnYXRpdmUgPyBcIkNSXCIgOiBcIkRSXCI7XG4gICAgICAgICAgICAgICsrbWFza1BvcztcbiAgICAgICAgICAgIH0gZWxzZSBidWZmZXIgKz0gX207XG5cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnQic6XG4gICAgICAgICAgICBidWZmZXIgKz0gJyAnO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnVmZmVyICs9IF9tO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJ1ZmZlcjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX3NoaWZ0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9zaGlmdChudW1iZXIsIHByZWNpc2lvbiwgcmV2ZXJzZVNoaWZ0KSB7XG4gICAgICBpZiAocmV2ZXJzZVNoaWZ0KSBwcmVjaXNpb24gPSAtcHJlY2lzaW9uO1xuICAgICAgdmFyIG51bUFycmF5ID0gKFwiXCIgKyBudW1iZXIpLnNwbGl0KFwiZVwiKTtcbiAgICAgIHJldHVybiArKG51bUFycmF5WzBdICsgXCJlXCIgKyAobnVtQXJyYXlbMV0gPyArbnVtQXJyYXlbMV0gKyBwcmVjaXNpb24gOiBwcmVjaXNpb24pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX3JvdW5kXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9yb3VuZChudW1iZXIsIHByZWNpc2lvbikge1xuICAgICAgcmV0dXJuIE51bWJlck1hc2suX3NoaWZ0KE1hdGgucm91bmQoTnVtYmVyTWFzay5fc2hpZnQobnVtYmVyLCBwcmVjaXNpb24sIGZhbHNlKSksIHByZWNpc2lvbiwgdHJ1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIl90b0NoYXJBcnJheVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfdG9DaGFyQXJyYXkobnVtYmVyKSB7XG4gICAgICB2YXIgc2lnbnVtID0gTnVtYmVyTWFzay5fZ2V0U2lnbihudW1iZXIpO1xuXG4gICAgICB2YXIgY2hhcnMgPSBbXTtcblxuICAgICAgaWYgKHNpZ251bSAhPT0gMCkge1xuICAgICAgICB2YXIgc3RyaW5nID0gc2lnbnVtIDwgMCA/IFwiXCIuY29uY2F0KC0xICogbnVtYmVyLnRvU3RyaW5nKCkpIDogbnVtYmVyLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChzdHJpbmcubGVuZ3RoID4gMSAmJiBzdHJpbmcuY2hhckF0KDApID09ICcwJykgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZygxKTsgLy8gVGhlIHN0cmluZyBjb250YWlucyBvbmx5IFswLTldIGFuZCAnLidcblxuICAgICAgICBjaGFycyA9IHN0cmluZy5zcGxpdCgnJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc2lnbiBvZiBhIG51bWJlclxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSB4IG51bWJlclxuICAgICAqIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgc2lnbiBvZiB0aGUgZ2l2ZW4gYXJndW1lbnQuIFxuICAgICAqICAgICAgICAgICAgICAgICAgIElmIHRoZSBhcmd1bWVudCBpcyBhIHBvc2l0aXZlIG51bWJlciwgbmVnYXRpdmUgbnVtYmVyLCBwb3NpdGl2ZSB6ZXJvIFxuICAgICAqICAgICAgICAgICAgICAgICAgIG9yIG5lZ2F0aXZlIHplcm8sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiAxLCAtMSwgMCBvciAtMCByZXNwZWN0aXZlbHkuXG4gICAgICogICAgICAgICAgICAgICAgICAgT3RoZXJ3aXNlLCBOYU4gaXMgcmV0dXJuZWQuXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfZ2V0U2lnblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0U2lnbih4KSB7XG4gICAgICByZXR1cm4gKHggPiAwKSAtICh4IDwgMCkgfHwgK3g7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIE51bWJlck1hc2s7XG59KCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IE51bWJlck1hc2s7XG5cbi8qKiovIH0pLFxuLyogMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGF0ZU1hc2tcIiwge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gX0RhdGVNYXNrLmRlZmF1bHQ7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTnVtYmVyTWFza1wiLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfTnVtYmVyTWFzay5kZWZhdWx0O1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlR5cGVzXCIsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIF9UeXBlcy5kZWZhdWx0O1xuICB9XG59KTtcblxudmFyIF9EYXRlTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygwKSk7XG5cbnZhciBfTnVtYmVyTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygxKSk7XG5cbnZhciBfVHlwZXMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMykpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG4vKioqLyB9KSxcbi8qIDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9OdW1iZXJNYXNrID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKTtcblxudmFyIF9EYXRlTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygwKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLyoqIFxuICogVHlwZXNcbiAqIFxuICogSGFuZGxlIEJCaiBtYXNraW5nIFxuICogXG4gKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBUeXBlcyA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFR5cGVzKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUeXBlcyk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVHlwZXMsIG51bGwsIFt7XG4gICAga2V5OiBcIm51bWJlclwiLFxuXG4gICAgLyoqXG4gICAgICogTWFzayBhIG51bWJlciBhY2NvcmRpbmcgdG8gYmJqIG1hc2tpbmcgcnVsZXMgXG4gICAgICogXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG51bWJlciB0aGUgbnVtYmVyIHRvIGZvcm1hdFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtYXNrIHRoZSBtYXNrIHRvIHVzZSBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZ3JvdXBpbmdTZXBhcmF0b3IgYSBjaGFyIHdoaWNoIHdpbGwgYmUgdXNlZCBhcyBhIGdyb3VwaW5nIHNlcGFyYXRvclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkZWNpbWFsU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gbnVtYmVyIG1hc2tlZCB3aXRoIHRoZSBnaXZlbiBtYXNrXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG51bWJlcihfbnVtYmVyLCBtYXNrKSB7XG4gICAgICB2YXIgZ3JvdXBpbmdTZXBhcmF0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6ICcsJztcbiAgICAgIHZhciBkZWNpbWFsU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiAnLic7XG4gICAgICByZXR1cm4gX051bWJlck1hc2suZGVmYXVsdC5tYXNrKF9udW1iZXIsIG1hc2ssIGdyb3VwaW5nU2VwYXJhdG9yLCBkZWNpbWFsU2VwYXJhdG9yKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTWFzayBhIGRhdGUgYWNjb3JkaW5nIHRvIGJiaiBtYXNraW5nIHJ1bGVzIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBudW1iZXIgdGhlIGRhdGUgdG8gZm9ybWF0XG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgdGhlIG1hc2sgdG8gdXNlIFxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gbnVtYmVyIG1hc2tlZCB3aXRoIHRoZSBnaXZlbiBtYXNrXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRhdGUoX2RhdGUsIG1hc2spIHtcbiAgICAgIHJldHVybiBfRGF0ZU1hc2suZGVmYXVsdC5tYXNrKF9kYXRlLCBtYXNrKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gVHlwZXM7XG59KCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IFR5cGVzO1xuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJiai1tYXNrcy5qcy5tYXBcblxuLyoqKi8gfSksXG4vKiAyOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vKiBmbGF0cGlja3IgdjQuNS4wLCBAbGljZW5zZSBNSVQgKi9cbihmdW5jdGlvbiAoZ2xvYmFsLCBmYWN0b3J5KSB7XG4gICAgIHRydWUgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKSA6XG4gICAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDpcbiAgICAoZ2xvYmFsLmZsYXRwaWNrciA9IGZhY3RvcnkoKSk7XG59KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JztcblxuICAgIHZhciBwYWQgPSBmdW5jdGlvbiBwYWQobnVtYmVyKSB7XG4gICAgICByZXR1cm4gKFwiMFwiICsgbnVtYmVyKS5zbGljZSgtMik7XG4gICAgfTtcbiAgICB2YXIgaW50ID0gZnVuY3Rpb24gaW50KGJvb2wpIHtcbiAgICAgIHJldHVybiBib29sID09PSB0cnVlID8gMSA6IDA7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBpbW1lZGlhdGUpIHtcbiAgICAgIGlmIChpbW1lZGlhdGUgPT09IHZvaWQgMCkge1xuICAgICAgICBpbW1lZGlhdGUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdmFyIHRpbWVvdXQ7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMsXG4gICAgICAgICAgICBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgICB0aW1lb3V0ICE9PSBudWxsICYmIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB0aW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgfSwgd2FpdCk7XG4gICAgICAgIGlmIChpbW1lZGlhdGUgJiYgIXRpbWVvdXQpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICB9O1xuICAgIH1cbiAgICB2YXIgYXJyYXlpZnkgPSBmdW5jdGlvbiBhcnJheWlmeShvYmopIHtcbiAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBBcnJheSA/IG9iaiA6IFtvYmpdO1xuICAgIH07XG5cbiAgICB2YXIgZG9fbm90aGluZyA9IGZ1bmN0aW9uIGRvX25vdGhpbmcoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICB2YXIgbW9udGhUb1N0ciA9IGZ1bmN0aW9uIG1vbnRoVG9TdHIobW9udGhOdW1iZXIsIHNob3J0aGFuZCwgbG9jYWxlKSB7XG4gICAgICByZXR1cm4gbG9jYWxlLm1vbnRoc1tzaG9ydGhhbmQgPyBcInNob3J0aGFuZFwiIDogXCJsb25naGFuZFwiXVttb250aE51bWJlcl07XG4gICAgfTtcbiAgICB2YXIgcmV2Rm9ybWF0ID0ge1xuICAgICAgRDogZG9fbm90aGluZyxcbiAgICAgIEY6IGZ1bmN0aW9uIEYoZGF0ZU9iaiwgbW9udGhOYW1lLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNb250aChsb2NhbGUubW9udGhzLmxvbmdoYW5kLmluZGV4T2YobW9udGhOYW1lKSk7XG4gICAgICB9LFxuICAgICAgRzogZnVuY3Rpb24gRyhkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgSDogZnVuY3Rpb24gSChkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgSjogZnVuY3Rpb24gSihkYXRlT2JqLCBkYXkpIHtcbiAgICAgICAgZGF0ZU9iai5zZXREYXRlKHBhcnNlRmxvYXQoZGF5KSk7XG4gICAgICB9LFxuICAgICAgSzogZnVuY3Rpb24gSyhkYXRlT2JqLCBhbVBNLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRIb3VycyhkYXRlT2JqLmdldEhvdXJzKCkgJSAxMiArIDEyICogaW50KG5ldyBSZWdFeHAobG9jYWxlLmFtUE1bMV0sIFwiaVwiKS50ZXN0KGFtUE0pKSk7XG4gICAgICB9LFxuICAgICAgTTogZnVuY3Rpb24gTShkYXRlT2JqLCBzaG9ydE1vbnRoLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNb250aChsb2NhbGUubW9udGhzLnNob3J0aGFuZC5pbmRleE9mKHNob3J0TW9udGgpKTtcbiAgICAgIH0sXG4gICAgICBTOiBmdW5jdGlvbiBTKGRhdGVPYmosIHNlY29uZHMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRTZWNvbmRzKHBhcnNlRmxvYXQoc2Vjb25kcykpO1xuICAgICAgfSxcbiAgICAgIFU6IGZ1bmN0aW9uIFUoXywgdW5peFNlY29uZHMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHBhcnNlRmxvYXQodW5peFNlY29uZHMpICogMTAwMCk7XG4gICAgICB9LFxuICAgICAgVzogZnVuY3Rpb24gVyhkYXRlT2JqLCB3ZWVrTnVtKSB7XG4gICAgICAgIHZhciB3ZWVrTnVtYmVyID0gcGFyc2VJbnQod2Vla051bSk7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlT2JqLmdldEZ1bGxZZWFyKCksIDAsIDIgKyAod2Vla051bWJlciAtIDEpICogNywgMCwgMCwgMCwgMCk7XG4gICAgICB9LFxuICAgICAgWTogZnVuY3Rpb24gWShkYXRlT2JqLCB5ZWFyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0RnVsbFllYXIocGFyc2VGbG9hdCh5ZWFyKSk7XG4gICAgICB9LFxuICAgICAgWjogZnVuY3Rpb24gWihfLCBJU09EYXRlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShJU09EYXRlKTtcbiAgICAgIH0sXG4gICAgICBkOiBmdW5jdGlvbiBkKGRhdGVPYmosIGRheSkge1xuICAgICAgICBkYXRlT2JqLnNldERhdGUocGFyc2VGbG9hdChkYXkpKTtcbiAgICAgIH0sXG4gICAgICBoOiBmdW5jdGlvbiBoKGRhdGVPYmosIGhvdXIpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRIb3VycyhwYXJzZUZsb2F0KGhvdXIpKTtcbiAgICAgIH0sXG4gICAgICBpOiBmdW5jdGlvbiBpKGRhdGVPYmosIG1pbnV0ZXMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNaW51dGVzKHBhcnNlRmxvYXQobWludXRlcykpO1xuICAgICAgfSxcbiAgICAgIGo6IGZ1bmN0aW9uIGooZGF0ZU9iaiwgZGF5KSB7XG4gICAgICAgIGRhdGVPYmouc2V0RGF0ZShwYXJzZUZsb2F0KGRheSkpO1xuICAgICAgfSxcbiAgICAgIGw6IGRvX25vdGhpbmcsXG4gICAgICBtOiBmdW5jdGlvbiBtKGRhdGVPYmosIG1vbnRoKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgocGFyc2VGbG9hdChtb250aCkgLSAxKTtcbiAgICAgIH0sXG4gICAgICBuOiBmdW5jdGlvbiBuKGRhdGVPYmosIG1vbnRoKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgocGFyc2VGbG9hdChtb250aCkgLSAxKTtcbiAgICAgIH0sXG4gICAgICBzOiBmdW5jdGlvbiBzKGRhdGVPYmosIHNlY29uZHMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRTZWNvbmRzKHBhcnNlRmxvYXQoc2Vjb25kcykpO1xuICAgICAgfSxcbiAgICAgIHc6IGRvX25vdGhpbmcsXG4gICAgICB5OiBmdW5jdGlvbiB5KGRhdGVPYmosIHllYXIpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRGdWxsWWVhcigyMDAwICsgcGFyc2VGbG9hdCh5ZWFyKSk7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgdG9rZW5SZWdleCA9IHtcbiAgICAgIEQ6IFwiKFxcXFx3KylcIixcbiAgICAgIEY6IFwiKFxcXFx3KylcIixcbiAgICAgIEc6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBIOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgSjogXCIoXFxcXGRcXFxcZHxcXFxcZClcXFxcdytcIixcbiAgICAgIEs6IFwiXCIsXG4gICAgICBNOiBcIihcXFxcdyspXCIsXG4gICAgICBTOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgVTogXCIoLispXCIsXG4gICAgICBXOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgWTogXCIoXFxcXGR7NH0pXCIsXG4gICAgICBaOiBcIiguKylcIixcbiAgICAgIGQ6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBoOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgaTogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIGo6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBsOiBcIihcXFxcdyspXCIsXG4gICAgICBtOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgbjogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIHM6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICB3OiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgeTogXCIoXFxcXGR7Mn0pXCJcbiAgICB9O1xuICAgIHZhciBmb3JtYXRzID0ge1xuICAgICAgWjogZnVuY3Rpb24gWihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9LFxuICAgICAgRDogZnVuY3Rpb24gRChkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5cy5zaG9ydGhhbmRbZm9ybWF0cy53KGRhdGUsIGxvY2FsZSwgb3B0aW9ucyldO1xuICAgICAgfSxcbiAgICAgIEY6IGZ1bmN0aW9uIEYoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBtb250aFRvU3RyKGZvcm1hdHMubihkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIC0gMSwgZmFsc2UsIGxvY2FsZSk7XG4gICAgICB9LFxuICAgICAgRzogZnVuY3Rpb24gRyhkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHBhZChmb3JtYXRzLmgoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSk7XG4gICAgICB9LFxuICAgICAgSDogZnVuY3Rpb24gSChkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRIb3VycygpKTtcbiAgICAgIH0sXG4gICAgICBKOiBmdW5jdGlvbiBKKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbG9jYWxlLm9yZGluYWwgIT09IHVuZGVmaW5lZCA/IGRhdGUuZ2V0RGF0ZSgpICsgbG9jYWxlLm9yZGluYWwoZGF0ZS5nZXREYXRlKCkpIDogZGF0ZS5nZXREYXRlKCk7XG4gICAgICB9LFxuICAgICAgSzogZnVuY3Rpb24gSyhkYXRlLCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5hbVBNW2ludChkYXRlLmdldEhvdXJzKCkgPiAxMSldO1xuICAgICAgfSxcbiAgICAgIE06IGZ1bmN0aW9uIE0oZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBtb250aFRvU3RyKGRhdGUuZ2V0TW9udGgoKSwgdHJ1ZSwgbG9jYWxlKTtcbiAgICAgIH0sXG4gICAgICBTOiBmdW5jdGlvbiBTKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIHBhZChkYXRlLmdldFNlY29uZHMoKSk7XG4gICAgICB9LFxuICAgICAgVTogZnVuY3Rpb24gVShkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldFRpbWUoKSAvIDEwMDA7XG4gICAgICB9LFxuICAgICAgVzogZnVuY3Rpb24gVyhkYXRlLCBfLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmdldFdlZWsoZGF0ZSk7XG4gICAgICB9LFxuICAgICAgWTogZnVuY3Rpb24gWShkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICB9LFxuICAgICAgZDogZnVuY3Rpb24gZChkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXREYXRlKCkpO1xuICAgICAgfSxcbiAgICAgIGg6IGZ1bmN0aW9uIGgoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRIb3VycygpICUgMTIgPyBkYXRlLmdldEhvdXJzKCkgJSAxMiA6IDEyO1xuICAgICAgfSxcbiAgICAgIGk6IGZ1bmN0aW9uIGkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0TWludXRlcygpKTtcbiAgICAgIH0sXG4gICAgICBqOiBmdW5jdGlvbiBqKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICAgICAgfSxcbiAgICAgIGw6IGZ1bmN0aW9uIGwoZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUud2Vla2RheXMubG9uZ2hhbmRbZGF0ZS5nZXREYXkoKV07XG4gICAgICB9LFxuICAgICAgbTogZnVuY3Rpb24gbShkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRNb250aCgpICsgMSk7XG4gICAgICB9LFxuICAgICAgbjogZnVuY3Rpb24gbihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgICAgfSxcbiAgICAgIHM6IGZ1bmN0aW9uIHMoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRTZWNvbmRzKCk7XG4gICAgICB9LFxuICAgICAgdzogZnVuY3Rpb24gdyhkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldERheSgpO1xuICAgICAgfSxcbiAgICAgIHk6IGZ1bmN0aW9uIHkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKGRhdGUuZ2V0RnVsbFllYXIoKSkuc3Vic3RyaW5nKDIpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgZW5nbGlzaCA9IHtcbiAgICAgIHdlZWtkYXlzOiB7XG4gICAgICAgIHNob3J0aGFuZDogW1wiU3VuXCIsIFwiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCJdLFxuICAgICAgICBsb25naGFuZDogW1wiU3VuZGF5XCIsIFwiTW9uZGF5XCIsIFwiVHVlc2RheVwiLCBcIldlZG5lc2RheVwiLCBcIlRodXJzZGF5XCIsIFwiRnJpZGF5XCIsIFwiU2F0dXJkYXlcIl1cbiAgICAgIH0sXG4gICAgICBtb250aHM6IHtcbiAgICAgICAgc2hvcnRoYW5kOiBbXCJKYW5cIiwgXCJGZWJcIiwgXCJNYXJcIiwgXCJBcHJcIiwgXCJNYXlcIiwgXCJKdW5cIiwgXCJKdWxcIiwgXCJBdWdcIiwgXCJTZXBcIiwgXCJPY3RcIiwgXCJOb3ZcIiwgXCJEZWNcIl0sXG4gICAgICAgIGxvbmdoYW5kOiBbXCJKYW51YXJ5XCIsIFwiRmVicnVhcnlcIiwgXCJNYXJjaFwiLCBcIkFwcmlsXCIsIFwiTWF5XCIsIFwiSnVuZVwiLCBcIkp1bHlcIiwgXCJBdWd1c3RcIiwgXCJTZXB0ZW1iZXJcIiwgXCJPY3RvYmVyXCIsIFwiTm92ZW1iZXJcIiwgXCJEZWNlbWJlclwiXVxuICAgICAgfSxcbiAgICAgIGRheXNJbk1vbnRoOiBbMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV0sXG4gICAgICBmaXJzdERheU9mV2VlazogMCxcbiAgICAgIG9yZGluYWw6IGZ1bmN0aW9uIG9yZGluYWwobnRoKSB7XG4gICAgICAgIHZhciBzID0gbnRoICUgMTAwO1xuICAgICAgICBpZiAocyA+IDMgJiYgcyA8IDIxKSByZXR1cm4gXCJ0aFwiO1xuXG4gICAgICAgIHN3aXRjaCAocyAlIDEwKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgcmV0dXJuIFwic3RcIjtcblxuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIHJldHVybiBcIm5kXCI7XG5cbiAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICByZXR1cm4gXCJyZFwiO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBcInRoXCI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByYW5nZVNlcGFyYXRvcjogXCIgdG8gXCIsXG4gICAgICB3ZWVrQWJicmV2aWF0aW9uOiBcIldrXCIsXG4gICAgICBzY3JvbGxUaXRsZTogXCJTY3JvbGwgdG8gaW5jcmVtZW50XCIsXG4gICAgICB0b2dnbGVUaXRsZTogXCJDbGljayB0byB0b2dnbGVcIixcbiAgICAgIGFtUE06IFtcIkFNXCIsIFwiUE1cIl0sXG4gICAgICB5ZWFyQXJpYUxhYmVsOiBcIlllYXJcIlxuICAgIH07XG5cbiAgICB2YXIgY3JlYXRlRGF0ZUZvcm1hdHRlciA9IGZ1bmN0aW9uIGNyZWF0ZURhdGVGb3JtYXR0ZXIoX3JlZikge1xuICAgICAgdmFyIF9yZWYkY29uZmlnID0gX3JlZi5jb25maWcsXG4gICAgICAgICAgY29uZmlnID0gX3JlZiRjb25maWcgPT09IHZvaWQgMCA/IGRlZmF1bHRzIDogX3JlZiRjb25maWcsXG4gICAgICAgICAgX3JlZiRsMTBuID0gX3JlZi5sMTBuLFxuICAgICAgICAgIGwxMG4gPSBfcmVmJGwxMG4gPT09IHZvaWQgMCA/IGVuZ2xpc2ggOiBfcmVmJGwxMG47XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGVPYmosIGZybXQsIG92ZXJyaWRlTG9jYWxlKSB7XG4gICAgICAgIGlmIChjb25maWcuZm9ybWF0RGF0ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gY29uZmlnLmZvcm1hdERhdGUoZGF0ZU9iaiwgZnJtdCk7XG4gICAgICAgIHZhciBsb2NhbGUgPSBvdmVycmlkZUxvY2FsZSB8fCBsMTBuO1xuICAgICAgICByZXR1cm4gZnJtdC5zcGxpdChcIlwiKS5tYXAoZnVuY3Rpb24gKGMsIGksIGFycikge1xuICAgICAgICAgIHJldHVybiBmb3JtYXRzW2NdICYmIGFycltpIC0gMV0gIT09IFwiXFxcXFwiID8gZm9ybWF0c1tjXShkYXRlT2JqLCBsb2NhbGUsIGNvbmZpZykgOiBjICE9PSBcIlxcXFxcIiA/IGMgOiBcIlwiO1xuICAgICAgICB9KS5qb2luKFwiXCIpO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHZhciBjcmVhdGVEYXRlUGFyc2VyID0gZnVuY3Rpb24gY3JlYXRlRGF0ZVBhcnNlcihfcmVmMikge1xuICAgICAgdmFyIF9yZWYyJGNvbmZpZyA9IF9yZWYyLmNvbmZpZyxcbiAgICAgICAgICBjb25maWcgPSBfcmVmMiRjb25maWcgPT09IHZvaWQgMCA/IGRlZmF1bHRzIDogX3JlZjIkY29uZmlnLFxuICAgICAgICAgIF9yZWYyJGwxMG4gPSBfcmVmMi5sMTBuLFxuICAgICAgICAgIGwxMG4gPSBfcmVmMiRsMTBuID09PSB2b2lkIDAgPyBlbmdsaXNoIDogX3JlZjIkbDEwbjtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoZGF0ZSwgZ2l2ZW5Gb3JtYXQsIHRpbWVsZXNzKSB7XG4gICAgICAgIGlmIChkYXRlICE9PSAwICYmICFkYXRlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB2YXIgcGFyc2VkRGF0ZTtcbiAgICAgICAgdmFyIGRhdGVfb3JpZyA9IGRhdGU7XG4gICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTtlbHNlIGlmICh0eXBlb2YgZGF0ZSAhPT0gXCJzdHJpbmdcIiAmJiBkYXRlLnRvRml4ZWQgIT09IHVuZGVmaW5lZCkgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO2Vsc2UgaWYgKHR5cGVvZiBkYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgdmFyIGZvcm1hdCA9IGdpdmVuRm9ybWF0IHx8IChjb25maWcgfHwgZGVmYXVsdHMpLmRhdGVGb3JtYXQ7XG4gICAgICAgICAgdmFyIGRhdGVzdHIgPSBTdHJpbmcoZGF0ZSkudHJpbSgpO1xuXG4gICAgICAgICAgaWYgKGRhdGVzdHIgPT09IFwidG9kYXlcIikge1xuICAgICAgICAgICAgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICB0aW1lbGVzcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgvWiQvLnRlc3QoZGF0ZXN0cikgfHwgL0dNVCQvLnRlc3QoZGF0ZXN0cikpIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlKTtlbHNlIGlmIChjb25maWcgJiYgY29uZmlnLnBhcnNlRGF0ZSkgcGFyc2VkRGF0ZSA9IGNvbmZpZy5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtlbHNlIHtcbiAgICAgICAgICAgIHBhcnNlZERhdGUgPSAhY29uZmlnIHx8ICFjb25maWcubm9DYWxlbmRhciA/IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSwgMCwgMSwgMCwgMCwgMCwgMCkgOiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldEhvdXJzKDAsIDAsIDAsIDApKTtcbiAgICAgICAgICAgIHZhciBtYXRjaGVkLFxuICAgICAgICAgICAgICAgIG9wcyA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbWF0Y2hJbmRleCA9IDAsIHJlZ2V4U3RyID0gXCJcIjsgaSA8IGZvcm1hdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICB2YXIgdG9rZW4gPSBmb3JtYXRbaV07XG4gICAgICAgICAgICAgIHZhciBpc0JhY2tTbGFzaCA9IHRva2VuID09PSBcIlxcXFxcIjtcbiAgICAgICAgICAgICAgdmFyIGVzY2FwZWQgPSBmb3JtYXRbaSAtIDFdID09PSBcIlxcXFxcIiB8fCBpc0JhY2tTbGFzaDtcblxuICAgICAgICAgICAgICBpZiAodG9rZW5SZWdleFt0b2tlbl0gJiYgIWVzY2FwZWQpIHtcbiAgICAgICAgICAgICAgICByZWdleFN0ciArPSB0b2tlblJlZ2V4W3Rva2VuXTtcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2ggPSBuZXcgUmVnRXhwKHJlZ2V4U3RyKS5leGVjKGRhdGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoICYmIChtYXRjaGVkID0gdHJ1ZSkpIHtcbiAgICAgICAgICAgICAgICAgIG9wc1t0b2tlbiAhPT0gXCJZXCIgPyBcInB1c2hcIiA6IFwidW5zaGlmdFwiXSh7XG4gICAgICAgICAgICAgICAgICAgIGZuOiByZXZGb3JtYXRbdG9rZW5dLFxuICAgICAgICAgICAgICAgICAgICB2YWw6IG1hdGNoWysrbWF0Y2hJbmRleF1cbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNCYWNrU2xhc2gpIHJlZ2V4U3RyICs9IFwiLlwiO1xuXG4gICAgICAgICAgICAgIG9wcy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmMykge1xuICAgICAgICAgICAgICAgIHZhciBmbiA9IF9yZWYzLmZuLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPSBfcmVmMy52YWw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlZERhdGUgPSBmbihwYXJzZWREYXRlLCB2YWwsIGwxMG4pIHx8IHBhcnNlZERhdGU7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJzZWREYXRlID0gbWF0Y2hlZCA/IHBhcnNlZERhdGUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEocGFyc2VkRGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHBhcnNlZERhdGUuZ2V0VGltZSgpKSkpIHtcbiAgICAgICAgICBjb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcIkludmFsaWQgZGF0ZSBwcm92aWRlZDogXCIgKyBkYXRlX29yaWcpKTtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRpbWVsZXNzID09PSB0cnVlKSBwYXJzZWREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICByZXR1cm4gcGFyc2VkRGF0ZTtcbiAgICAgIH07XG4gICAgfTtcbiAgICBmdW5jdGlvbiBjb21wYXJlRGF0ZXMoZGF0ZTEsIGRhdGUyLCB0aW1lbGVzcykge1xuICAgICAgaWYgKHRpbWVsZXNzID09PSB2b2lkIDApIHtcbiAgICAgICAgdGltZWxlc3MgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGltZWxlc3MgIT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRUaW1lKCkpLnNldEhvdXJzKDAsIDAsIDAsIDApIC0gbmV3IERhdGUoZGF0ZTIuZ2V0VGltZSgpKS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRhdGUxLmdldFRpbWUoKSAtIGRhdGUyLmdldFRpbWUoKTtcbiAgICB9XG4gICAgdmFyIGdldFdlZWsgPSBmdW5jdGlvbiBnZXRXZWVrKGdpdmVuRGF0ZSkge1xuICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShnaXZlbkRhdGUuZ2V0VGltZSgpKTtcbiAgICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAzIC0gKGRhdGUuZ2V0RGF5KCkgKyA2KSAlIDcpO1xuICAgICAgdmFyIHdlZWsxID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCA0KTtcbiAgICAgIHJldHVybiAxICsgTWF0aC5yb3VuZCgoKGRhdGUuZ2V0VGltZSgpIC0gd2VlazEuZ2V0VGltZSgpKSAvIDg2NDAwMDAwIC0gMyArICh3ZWVrMS5nZXREYXkoKSArIDYpICUgNykgLyA3KTtcbiAgICB9O1xuICAgIHZhciBpc0JldHdlZW4gPSBmdW5jdGlvbiBpc0JldHdlZW4odHMsIHRzMSwgdHMyKSB7XG4gICAgICByZXR1cm4gdHMgPiBNYXRoLm1pbih0czEsIHRzMikgJiYgdHMgPCBNYXRoLm1heCh0czEsIHRzMik7XG4gICAgfTtcbiAgICB2YXIgZHVyYXRpb24gPSB7XG4gICAgICBEQVk6IDg2NDAwMDAwXG4gICAgfTtcblxuICAgIHZhciBkZWZhdWx0cyA9IHtcbiAgICAgIF9kaXNhYmxlOiBbXSxcbiAgICAgIF9lbmFibGU6IFtdLFxuICAgICAgYWxsb3dJbnB1dDogZmFsc2UsXG4gICAgICBhbHRGb3JtYXQ6IFwiRiBqLCBZXCIsXG4gICAgICBhbHRJbnB1dDogZmFsc2UsXG4gICAgICBhbHRJbnB1dENsYXNzOiBcImZvcm0tY29udHJvbCBpbnB1dFwiLFxuICAgICAgYW5pbWF0ZTogdHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIiAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiTVNJRVwiKSA9PT0gLTEsXG4gICAgICBhcmlhRGF0ZUZvcm1hdDogXCJGIGosIFlcIixcbiAgICAgIGNsaWNrT3BlbnM6IHRydWUsXG4gICAgICBjbG9zZU9uU2VsZWN0OiB0cnVlLFxuICAgICAgY29uanVuY3Rpb246IFwiLCBcIixcbiAgICAgIGRhdGVGb3JtYXQ6IFwiWS1tLWRcIixcbiAgICAgIGRlZmF1bHRIb3VyOiAxMixcbiAgICAgIGRlZmF1bHRNaW51dGU6IDAsXG4gICAgICBkZWZhdWx0U2Vjb25kczogMCxcbiAgICAgIGRpc2FibGU6IFtdLFxuICAgICAgZGlzYWJsZU1vYmlsZTogZmFsc2UsXG4gICAgICBlbmFibGU6IFtdLFxuICAgICAgZW5hYmxlU2Vjb25kczogZmFsc2UsXG4gICAgICBlbmFibGVUaW1lOiBmYWxzZSxcbiAgICAgIGVycm9ySGFuZGxlcjogZnVuY3Rpb24gZXJyb3JIYW5kbGVyKGVycikge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGNvbnNvbGUgIT09IFwidW5kZWZpbmVkXCIgJiYgY29uc29sZS53YXJuKGVycik7XG4gICAgICB9LFxuICAgICAgZ2V0V2VlazogZ2V0V2VlayxcbiAgICAgIGhvdXJJbmNyZW1lbnQ6IDEsXG4gICAgICBpZ25vcmVkRm9jdXNFbGVtZW50czogW10sXG4gICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgbG9jYWxlOiBcImRlZmF1bHRcIixcbiAgICAgIG1pbnV0ZUluY3JlbWVudDogNSxcbiAgICAgIG1vZGU6IFwic2luZ2xlXCIsXG4gICAgICBuZXh0QXJyb3c6IFwiPHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHZpZXdCb3g9JzAgMCAxNyAxNyc+PGc+PC9nPjxwYXRoIGQ9J00xMy4yMDcgOC40NzJsLTcuODU0IDcuODU0LTAuNzA3LTAuNzA3IDcuMTQ2LTcuMTQ2LTcuMTQ2LTcuMTQ4IDAuNzA3LTAuNzA3IDcuODU0IDcuODU0eicgLz48L3N2Zz5cIixcbiAgICAgIG5vQ2FsZW5kYXI6IGZhbHNlLFxuICAgICAgbm93OiBuZXcgRGF0ZSgpLFxuICAgICAgb25DaGFuZ2U6IFtdLFxuICAgICAgb25DbG9zZTogW10sXG4gICAgICBvbkRheUNyZWF0ZTogW10sXG4gICAgICBvbkRlc3Ryb3k6IFtdLFxuICAgICAgb25LZXlEb3duOiBbXSxcbiAgICAgIG9uTW9udGhDaGFuZ2U6IFtdLFxuICAgICAgb25PcGVuOiBbXSxcbiAgICAgIG9uUGFyc2VDb25maWc6IFtdLFxuICAgICAgb25SZWFkeTogW10sXG4gICAgICBvblZhbHVlVXBkYXRlOiBbXSxcbiAgICAgIG9uWWVhckNoYW5nZTogW10sXG4gICAgICBvblByZUNhbGVuZGFyUG9zaXRpb246IFtdLFxuICAgICAgcGx1Z2luczogW10sXG4gICAgICBwb3NpdGlvbjogXCJhdXRvXCIsXG4gICAgICBwb3NpdGlvbkVsZW1lbnQ6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZBcnJvdzogXCI8c3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgdmlld0JveD0nMCAwIDE3IDE3Jz48Zz48L2c+PHBhdGggZD0nTTUuMjA3IDguNDcxbDcuMTQ2IDcuMTQ3LTAuNzA3IDAuNzA3LTcuODUzLTcuODU0IDcuODU0LTcuODUzIDAuNzA3IDAuNzA3LTcuMTQ3IDcuMTQ2eicgLz48L3N2Zz5cIixcbiAgICAgIHNob3J0aGFuZEN1cnJlbnRNb250aDogZmFsc2UsXG4gICAgICBzaG93TW9udGhzOiAxLFxuICAgICAgc3RhdGljOiBmYWxzZSxcbiAgICAgIHRpbWVfMjRocjogZmFsc2UsXG4gICAgICB3ZWVrTnVtYmVyczogZmFsc2UsXG4gICAgICB3cmFwOiBmYWxzZVxuICAgIH07XG5cbiAgICBmdW5jdGlvbiB0b2dnbGVDbGFzcyhlbGVtLCBjbGFzc05hbWUsIGJvb2wpIHtcbiAgICAgIGlmIChib29sID09PSB0cnVlKSByZXR1cm4gZWxlbS5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWcsIGNsYXNzTmFtZSwgY29udGVudCkge1xuICAgICAgdmFyIGUgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO1xuICAgICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lIHx8IFwiXCI7XG4gICAgICBjb250ZW50ID0gY29udGVudCB8fCBcIlwiO1xuICAgICAgZS5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSBlLnRleHRDb250ZW50ID0gY29udGVudDtcbiAgICAgIHJldHVybiBlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjbGVhck5vZGUobm9kZSkge1xuICAgICAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLnJlbW92ZUNoaWxkKG5vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpbmRQYXJlbnQobm9kZSwgY29uZGl0aW9uKSB7XG4gICAgICBpZiAoY29uZGl0aW9uKG5vZGUpKSByZXR1cm4gbm9kZTtlbHNlIGlmIChub2RlLnBhcmVudE5vZGUpIHJldHVybiBmaW5kUGFyZW50KG5vZGUucGFyZW50Tm9kZSwgY29uZGl0aW9uKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZU51bWJlcklucHV0KGlucHV0Q2xhc3NOYW1lLCBvcHRzKSB7XG4gICAgICB2YXIgd3JhcHBlciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJudW1JbnB1dFdyYXBwZXJcIiksXG4gICAgICAgICAgbnVtSW5wdXQgPSBjcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwgXCJudW1JbnB1dCBcIiArIGlucHV0Q2xhc3NOYW1lKSxcbiAgICAgICAgICBhcnJvd1VwID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJhcnJvd1VwXCIpLFxuICAgICAgICAgIGFycm93RG93biA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiYXJyb3dEb3duXCIpO1xuICAgICAgbnVtSW5wdXQudHlwZSA9IFwidGV4dFwiO1xuICAgICAgbnVtSW5wdXQucGF0dGVybiA9IFwiXFxcXGQqXCI7XG4gICAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSBmb3IgKHZhciBrZXkgaW4gb3B0cykge1xuICAgICAgICBudW1JbnB1dC5zZXRBdHRyaWJ1dGUoa2V5LCBvcHRzW2tleV0pO1xuICAgICAgfVxuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChudW1JbnB1dCk7XG4gICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKGFycm93VXApO1xuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChhcnJvd0Rvd24pO1xuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBPYmplY3QuYXNzaWduICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24gPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgdGhyb3cgVHlwZUVycm9yKFwiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoKSB7XG4gICAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3NbX2ldO1xuXG4gICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3MubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgX2xvb3AoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBERUJPVU5DRURfQ0hBTkdFX01TID0gMzAwO1xuXG4gICAgZnVuY3Rpb24gRmxhdHBpY2tySW5zdGFuY2UoZWxlbWVudCwgaW5zdGFuY2VDb25maWcpIHtcbiAgICAgIHZhciBzZWxmID0ge1xuICAgICAgICBjb25maWc6IE9iamVjdC5hc3NpZ24oe30sIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnKSxcbiAgICAgICAgbDEwbjogZW5nbGlzaFxuICAgICAgfTtcbiAgICAgIHNlbGYucGFyc2VEYXRlID0gY3JlYXRlRGF0ZVBhcnNlcih7XG4gICAgICAgIGNvbmZpZzogc2VsZi5jb25maWcsXG4gICAgICAgIGwxMG46IHNlbGYubDEwblxuICAgICAgfSk7XG4gICAgICBzZWxmLl9oYW5kbGVycyA9IFtdO1xuICAgICAgc2VsZi5fYmluZCA9IGJpbmQ7XG4gICAgICBzZWxmLl9zZXRIb3Vyc0Zyb21EYXRlID0gc2V0SG91cnNGcm9tRGF0ZTtcbiAgICAgIHNlbGYuX3Bvc2l0aW9uQ2FsZW5kYXIgPSBwb3NpdGlvbkNhbGVuZGFyO1xuICAgICAgc2VsZi5jaGFuZ2VNb250aCA9IGNoYW5nZU1vbnRoO1xuICAgICAgc2VsZi5jaGFuZ2VZZWFyID0gY2hhbmdlWWVhcjtcbiAgICAgIHNlbGYuY2xlYXIgPSBjbGVhcjtcbiAgICAgIHNlbGYuY2xvc2UgPSBjbG9zZTtcbiAgICAgIHNlbGYuX2NyZWF0ZUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50O1xuICAgICAgc2VsZi5kZXN0cm95ID0gZGVzdHJveTtcbiAgICAgIHNlbGYuaXNFbmFibGVkID0gaXNFbmFibGVkO1xuICAgICAgc2VsZi5qdW1wVG9EYXRlID0ganVtcFRvRGF0ZTtcbiAgICAgIHNlbGYub3BlbiA9IG9wZW47XG4gICAgICBzZWxmLnJlZHJhdyA9IHJlZHJhdztcbiAgICAgIHNlbGYuc2V0ID0gc2V0O1xuICAgICAgc2VsZi5zZXREYXRlID0gc2V0RGF0ZTtcbiAgICAgIHNlbGYudG9nZ2xlID0gdG9nZ2xlO1xuXG4gICAgICBmdW5jdGlvbiBzZXR1cEhlbHBlckZ1bmN0aW9ucygpIHtcbiAgICAgICAgc2VsZi51dGlscyA9IHtcbiAgICAgICAgICBnZXREYXlzSW5Nb250aDogZnVuY3Rpb24gZ2V0RGF5c0luTW9udGgobW9udGgsIHlyKSB7XG4gICAgICAgICAgICBpZiAobW9udGggPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICBtb250aCA9IHNlbGYuY3VycmVudE1vbnRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeXIgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICB5ciA9IHNlbGYuY3VycmVudFllYXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtb250aCA9PT0gMSAmJiAoeXIgJSA0ID09PSAwICYmIHlyICUgMTAwICE9PSAwIHx8IHlyICUgNDAwID09PSAwKSkgcmV0dXJuIDI5O1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYubDEwbi5kYXlzSW5Nb250aFttb250aF07XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICBzZWxmLmVsZW1lbnQgPSBzZWxmLmlucHV0ID0gZWxlbWVudDtcbiAgICAgICAgc2VsZi5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgcGFyc2VDb25maWcoKTtcbiAgICAgICAgc2V0dXBMb2NhbGUoKTtcbiAgICAgICAgc2V0dXBJbnB1dHMoKTtcbiAgICAgICAgc2V0dXBEYXRlcygpO1xuICAgICAgICBzZXR1cEhlbHBlckZ1bmN0aW9ucygpO1xuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUpIGJ1aWxkKCk7XG4gICAgICAgIGJpbmRFdmVudHMoKTtcblxuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCB8fCBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyKSB7XG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUpIHtcbiAgICAgICAgICAgIHNldEhvdXJzRnJvbURhdGUoc2VsZi5jb25maWcubm9DYWxlbmRhciA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqIHx8IHNlbGYuY29uZmlnLm1pbkRhdGUgOiB1bmRlZmluZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVZhbHVlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldENhbGVuZGFyV2lkdGgoKTtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDAgfHwgc2VsZi5jb25maWcubm9DYWxlbmRhcjtcbiAgICAgICAgdmFyIGlzU2FmYXJpID0gL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUgJiYgaXNTYWZhcmkpIHtcbiAgICAgICAgICBwb3NpdGlvbkNhbGVuZGFyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblJlYWR5XCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBiaW5kVG9JbnN0YW5jZShmbikge1xuICAgICAgICByZXR1cm4gZm4uYmluZChzZWxmKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0Q2FsZW5kYXJXaWR0aCgpIHtcbiAgICAgICAgdmFyIGNvbmZpZyA9IHNlbGYuY29uZmlnO1xuICAgICAgICBpZiAoY29uZmlnLndlZWtOdW1iZXJzID09PSBmYWxzZSAmJiBjb25maWcuc2hvd01vbnRocyA9PT0gMSkgcmV0dXJuO2Vsc2UgaWYgKGNvbmZpZy5ub0NhbGVuZGFyICE9PSB0cnVlKSB7XG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdmFyIGRheXNXaWR0aCA9IChzZWxmLmRheXMub2Zmc2V0V2lkdGggKyAxKSAqIGNvbmZpZy5zaG93TW9udGhzO1xuICAgICAgICAgICAgICBzZWxmLmRheXNDb250YWluZXIuc3R5bGUud2lkdGggPSBkYXlzV2lkdGggKyBcInB4XCI7XG4gICAgICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUud2lkdGggPSBkYXlzV2lkdGggKyAoc2VsZi53ZWVrV3JhcHBlciAhPT0gdW5kZWZpbmVkID8gc2VsZi53ZWVrV3JhcHBlci5vZmZzZXRXaWR0aCA6IDApICsgXCJweFwiO1xuICAgICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KFwidmlzaWJpbGl0eVwiKTtcbiAgICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcImRpc3BsYXlcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlVGltZShlKSB7XG4gICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgICAgIGlmIChlICE9PSB1bmRlZmluZWQgJiYgZS50eXBlICE9PSBcImJsdXJcIikgdGltZVdyYXBwZXIoZSk7XG4gICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuXG4gICAgICAgIHNlbGYuX2RlYm91bmNlZENoYW5nZSgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBhbXBtMm1pbGl0YXJ5KGhvdXIsIGFtUE0pIHtcbiAgICAgICAgcmV0dXJuIGhvdXIgJSAxMiArIDEyICogaW50KGFtUE0gPT09IHNlbGYubDEwbi5hbVBNWzFdKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gbWlsaXRhcnkyYW1wbShob3VyKSB7XG4gICAgICAgIHN3aXRjaCAoaG91ciAlIDI0KSB7XG4gICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIGNhc2UgMTI6XG4gICAgICAgICAgICByZXR1cm4gMTI7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGhvdXIgJSAxMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vyc0Zyb21JbnB1dHMoKSB7XG4gICAgICAgIGlmIChzZWxmLmhvdXJFbGVtZW50ID09PSB1bmRlZmluZWQgfHwgc2VsZi5taW51dGVFbGVtZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgICAgdmFyIGhvdXJzID0gKHBhcnNlSW50KHNlbGYuaG91ckVsZW1lbnQudmFsdWUuc2xpY2UoLTIpLCAxMCkgfHwgMCkgJSAyNCxcbiAgICAgICAgICAgIG1pbnV0ZXMgPSAocGFyc2VJbnQoc2VsZi5taW51dGVFbGVtZW50LnZhbHVlLCAxMCkgfHwgMCkgJSA2MCxcbiAgICAgICAgICAgIHNlY29uZHMgPSBzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCA/IChwYXJzZUludChzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUsIDEwKSB8fCAwKSAlIDYwIDogMDtcblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBob3VycyA9IGFtcG0ybWlsaXRhcnkoaG91cnMsIHNlbGYuYW1QTS50ZXh0Q29udGVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbGltaXRNaW5Ib3VycyA9IHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCB8fCBzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYubWluRGF0ZUhhc1RpbWUgJiYgc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogJiYgY29tcGFyZURhdGVzKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLCBzZWxmLmNvbmZpZy5taW5EYXRlLCB0cnVlKSA9PT0gMDtcbiAgICAgICAgdmFyIGxpbWl0TWF4SG91cnMgPSBzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQgfHwgc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLm1heERhdGVIYXNUaW1lICYmIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICYmIGNvbXBhcmVEYXRlcyhzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5jb25maWcubWF4RGF0ZSwgdHJ1ZSkgPT09IDA7XG5cbiAgICAgICAgaWYgKGxpbWl0TWF4SG91cnMpIHtcbiAgICAgICAgICB2YXIgbWF4VGltZSA9IHNlbGYuY29uZmlnLm1heFRpbWUgIT09IHVuZGVmaW5lZCA/IHNlbGYuY29uZmlnLm1heFRpbWUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5taW4oaG91cnMsIG1heFRpbWUuZ2V0SG91cnMoKSk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtYXhUaW1lLmdldEhvdXJzKCkpIG1pbnV0ZXMgPSBNYXRoLm1pbihtaW51dGVzLCBtYXhUaW1lLmdldE1pbnV0ZXMoKSk7XG4gICAgICAgICAgaWYgKG1pbnV0ZXMgPT09IG1heFRpbWUuZ2V0TWludXRlcygpKSBzZWNvbmRzID0gTWF0aC5taW4oc2Vjb25kcywgbWF4VGltZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbWl0TWluSG91cnMpIHtcbiAgICAgICAgICB2YXIgbWluVGltZSA9IHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCA/IHNlbGYuY29uZmlnLm1pblRpbWUgOiBzZWxmLmNvbmZpZy5taW5EYXRlO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5tYXgoaG91cnMsIG1pblRpbWUuZ2V0SG91cnMoKSk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtaW5UaW1lLmdldEhvdXJzKCkpIG1pbnV0ZXMgPSBNYXRoLm1heChtaW51dGVzLCBtaW5UaW1lLmdldE1pbnV0ZXMoKSk7XG4gICAgICAgICAgaWYgKG1pbnV0ZXMgPT09IG1pblRpbWUuZ2V0TWludXRlcygpKSBzZWNvbmRzID0gTWF0aC5tYXgoc2Vjb25kcywgbWluVGltZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vyc0Zyb21EYXRlKGRhdGVPYmopIHtcbiAgICAgICAgdmFyIGRhdGUgPSBkYXRlT2JqIHx8IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqO1xuICAgICAgICBpZiAoZGF0ZSkgc2V0SG91cnMoZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSwgZGF0ZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXREZWZhdWx0SG91cnMoKSB7XG4gICAgICAgIHZhciBob3VycyA9IHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyO1xuICAgICAgICB2YXIgbWludXRlcyA9IHNlbGYuY29uZmlnLmRlZmF1bHRNaW51dGU7XG4gICAgICAgIHZhciBzZWNvbmRzID0gc2VsZi5jb25maWcuZGVmYXVsdFNlY29uZHM7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBtaW5faHIgPSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEhvdXJzKCk7XG4gICAgICAgICAgdmFyIG1pbl9taW51dGVzID0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgICAgICAgaG91cnMgPSBNYXRoLm1heChob3VycywgbWluX2hyKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1pbl9ocikgbWludXRlcyA9IE1hdGgubWF4KG1pbl9taW51dGVzLCBtaW51dGVzKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1pbl9ociAmJiBtaW51dGVzID09PSBtaW5fbWludXRlcykgc2Vjb25kcyA9IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1heERhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBtYXhfaHIgPSBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEhvdXJzKCk7XG4gICAgICAgICAgdmFyIG1heF9taW51dGVzID0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgICAgICAgaG91cnMgPSBNYXRoLm1pbihob3VycywgbWF4X2hyKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1heF9ocikgbWludXRlcyA9IE1hdGgubWluKG1heF9taW51dGVzLCBtaW51dGVzKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1heF9ociAmJiBtaW51dGVzID09PSBtYXhfbWludXRlcykgc2Vjb25kcyA9IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vycyhob3VycywgbWludXRlcywgc2Vjb25kcykge1xuICAgICAgICBpZiAoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLnNldEhvdXJzKGhvdXJzICUgMjQsIG1pbnV0ZXMsIHNlY29uZHMgfHwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlbGYuaG91ckVsZW1lbnQgfHwgIXNlbGYubWludXRlRWxlbWVudCB8fCBzZWxmLmlzTW9iaWxlKSByZXR1cm47XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQudmFsdWUgPSBwYWQoIXNlbGYuY29uZmlnLnRpbWVfMjRociA/ICgxMiArIGhvdXJzKSAlIDEyICsgMTIgKiBpbnQoaG91cnMgJSAxMiA9PT0gMCkgOiBob3Vycyk7XG4gICAgICAgIHNlbGYubWludXRlRWxlbWVudC52YWx1ZSA9IHBhZChtaW51dGVzKTtcbiAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkKSBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVtpbnQoaG91cnMgPj0gMTIpXTtcbiAgICAgICAgaWYgKHNlbGYuc2Vjb25kRWxlbWVudCAhPT0gdW5kZWZpbmVkKSBzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUgPSBwYWQoc2Vjb25kcyk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uWWVhcklucHV0KGV2ZW50KSB7XG4gICAgICAgIHZhciB5ZWFyID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKSArIChldmVudC5kZWx0YSB8fCAwKTtcblxuICAgICAgICBpZiAoeWVhciAvIDEwMDAgPiAxIHx8IGV2ZW50LmtleSA9PT0gXCJFbnRlclwiICYmICEvW15cXGRdLy50ZXN0KHllYXIudG9TdHJpbmcoKSkpIHtcbiAgICAgICAgICBjaGFuZ2VZZWFyKHllYXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJpbmQoZWxlbWVudCwgZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgQXJyYXkpIHJldHVybiBldmVudC5mb3JFYWNoKGZ1bmN0aW9uIChldikge1xuICAgICAgICAgIHJldHVybiBiaW5kKGVsZW1lbnQsIGV2LCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgQXJyYXkpIHJldHVybiBlbGVtZW50LmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgcmV0dXJuIGJpbmQoZWwsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7XG5cbiAgICAgICAgc2VsZi5faGFuZGxlcnMucHVzaCh7XG4gICAgICAgICAgZWxlbWVudDogZWxlbWVudCxcbiAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgaGFuZGxlcjogaGFuZGxlcixcbiAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbkNsaWNrKGhhbmRsZXIpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICBldnQud2hpY2ggPT09IDEgJiYgaGFuZGxlcihldnQpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0cmlnZ2VyQ2hhbmdlKCkge1xuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYmluZEV2ZW50cygpIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLndyYXApIHtcbiAgICAgICAgICBbXCJvcGVuXCIsIFwiY2xvc2VcIiwgXCJ0b2dnbGVcIiwgXCJjbGVhclwiXS5mb3JFYWNoKGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoc2VsZi5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1cIiArIGV2dCArIFwiXVwiKSwgZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgICAgIHJldHVybiBiaW5kKGVsLCBcImNsaWNrXCIsIHNlbGZbZXZ0XSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmlzTW9iaWxlKSB7XG4gICAgICAgICAgc2V0dXBNb2JpbGUoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGVib3VuY2VkUmVzaXplID0gZGVib3VuY2Uob25SZXNpemUsIDUwKTtcbiAgICAgICAgc2VsZi5fZGVib3VuY2VkQ2hhbmdlID0gZGVib3VuY2UodHJpZ2dlckNoYW5nZSwgREVCT1VOQ0VEX0NIQU5HRV9NUyk7XG4gICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIgJiYgIS9pUGhvbmV8aVBhZHxpUG9kL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgYmluZChzZWxmLmRheXNDb250YWluZXIsIFwibW91c2VvdmVyXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikgb25Nb3VzZU92ZXIoZS50YXJnZXQpO1xuICAgICAgICB9KTtcbiAgICAgICAgYmluZCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgXCJrZXlkb3duXCIsIG9uS2V5RG93bik7XG4gICAgICAgIGlmICghc2VsZi5jb25maWcuc3RhdGljKSBiaW5kKHNlbGYuX2lucHV0LCBcImtleWRvd25cIiwgb25LZXlEb3duKTtcbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5pbmxpbmUgJiYgIXNlbGYuY29uZmlnLnN0YXRpYykgYmluZCh3aW5kb3csIFwicmVzaXplXCIsIGRlYm91bmNlZFJlc2l6ZSk7XG4gICAgICAgIGlmICh3aW5kb3cub250b3VjaHN0YXJ0ICE9PSB1bmRlZmluZWQpIGJpbmQod2luZG93LmRvY3VtZW50LCBcImNsaWNrXCIsIGRvY3VtZW50Q2xpY2spO2Vsc2UgYmluZCh3aW5kb3cuZG9jdW1lbnQsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2soZG9jdW1lbnRDbGljaykpO1xuICAgICAgICBiaW5kKHdpbmRvdy5kb2N1bWVudCwgXCJmb2N1c1wiLCBkb2N1bWVudENsaWNrLCB7XG4gICAgICAgICAgY2FwdHVyZTogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuY2xpY2tPcGVucyA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGJpbmQoc2VsZi5faW5wdXQsIFwiZm9jdXNcIiwgc2VsZi5vcGVuKTtcbiAgICAgICAgICBiaW5kKHNlbGYuX2lucHV0LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKHNlbGYub3BlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYmluZChzZWxmLm1vbnRoTmF2LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKG9uTW9udGhOYXZDbGljaykpO1xuICAgICAgICAgIGJpbmQoc2VsZi5tb250aE5hdiwgW1wia2V5dXBcIiwgXCJpbmNyZW1lbnRcIl0sIG9uWWVhcklucHV0KTtcbiAgICAgICAgICBiaW5kKHNlbGYuZGF5c0NvbnRhaW5lciwgXCJtb3VzZWRvd25cIiwgb25DbGljayhzZWxlY3REYXRlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi50aW1lQ29udGFpbmVyICE9PSB1bmRlZmluZWQgJiYgc2VsZi5taW51dGVFbGVtZW50ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFyIHNlbFRleHQgPSBmdW5jdGlvbiBzZWxUZXh0KGUpIHtcbiAgICAgICAgICAgIHJldHVybiBlLnRhcmdldC5zZWxlY3QoKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFtcImluY3JlbWVudFwiXSwgdXBkYXRlVGltZSk7XG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFwiYmx1clwiLCB1cGRhdGVUaW1lLCB7XG4gICAgICAgICAgICBjYXB0dXJlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2sodGltZUluY3JlbWVudCkpO1xuICAgICAgICAgIGJpbmQoW3NlbGYuaG91ckVsZW1lbnQsIHNlbGYubWludXRlRWxlbWVudF0sIFtcImZvY3VzXCIsIFwiY2xpY2tcIl0sIHNlbFRleHQpO1xuICAgICAgICAgIGlmIChzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCkgYmluZChzZWxmLnNlY29uZEVsZW1lbnQsIFwiZm9jdXNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuc2Vjb25kRWxlbWVudCAmJiBzZWxmLnNlY29uZEVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGJpbmQoc2VsZi5hbVBNLCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZVRpbWUoZSk7XG4gICAgICAgICAgICAgIHRyaWdnZXJDaGFuZ2UoKTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24ganVtcFRvRGF0ZShqdW1wRGF0ZSkge1xuICAgICAgICB2YXIganVtcFRvID0ganVtcERhdGUgIT09IHVuZGVmaW5lZCA/IHNlbGYucGFyc2VEYXRlKGp1bXBEYXRlKSA6IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqIHx8IChzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYuY29uZmlnLm1pbkRhdGUgPiBzZWxmLm5vdyA/IHNlbGYuY29uZmlnLm1pbkRhdGUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY29uZmlnLm1heERhdGUgPCBzZWxmLm5vdyA/IHNlbGYuY29uZmlnLm1heERhdGUgOiBzZWxmLm5vdyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoanVtcFRvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudFllYXIgPSBqdW1wVG8uZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0ganVtcFRvLmdldE1vbnRoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgZS5tZXNzYWdlID0gXCJJbnZhbGlkIGRhdGUgc3VwcGxpZWQ6IFwiICsganVtcFRvO1xuICAgICAgICAgIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRpbWVJbmNyZW1lbnQoZSkge1xuICAgICAgICBpZiAofmUudGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKFwiYXJyb3dcIikpIGluY3JlbWVudE51bUlucHV0KGUsIGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcImFycm93VXBcIikgPyAxIDogLTEpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpbmNyZW1lbnROdW1JbnB1dChlLCBkZWx0YSwgaW5wdXRFbGVtKSB7XG4gICAgICAgIHZhciB0YXJnZXQgPSBlICYmIGUudGFyZ2V0O1xuICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dEVsZW0gfHwgdGFyZ2V0ICYmIHRhcmdldC5wYXJlbnROb2RlICYmIHRhcmdldC5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ7XG4gICAgICAgIHZhciBldmVudCA9IGNyZWF0ZUV2ZW50KFwiaW5jcmVtZW50XCIpO1xuICAgICAgICBldmVudC5kZWx0YSA9IGRlbHRhO1xuICAgICAgICBpbnB1dCAmJiBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGQoKSB7XG4gICAgICAgIHZhciBmcmFnbWVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLWNhbGVuZGFyXCIpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnRhYkluZGV4ID0gLTE7XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5ub0NhbGVuZGFyKSB7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoYnVpbGRNb250aE5hdigpKTtcbiAgICAgICAgICBzZWxmLmlubmVyQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1pbm5lckNvbnRhaW5lclwiKTtcblxuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZy53ZWVrTnVtYmVycykge1xuICAgICAgICAgICAgdmFyIF9idWlsZFdlZWtzID0gYnVpbGRXZWVrcygpLFxuICAgICAgICAgICAgICAgIHdlZWtXcmFwcGVyID0gX2J1aWxkV2Vla3Mud2Vla1dyYXBwZXIsXG4gICAgICAgICAgICAgICAgd2Vla051bWJlcnMgPSBfYnVpbGRXZWVrcy53ZWVrTnVtYmVycztcblxuICAgICAgICAgICAgc2VsZi5pbm5lckNvbnRhaW5lci5hcHBlbmRDaGlsZCh3ZWVrV3JhcHBlcik7XG4gICAgICAgICAgICBzZWxmLndlZWtOdW1iZXJzID0gd2Vla051bWJlcnM7XG4gICAgICAgICAgICBzZWxmLndlZWtXcmFwcGVyID0gd2Vla1dyYXBwZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZi5yQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1yQ29udGFpbmVyXCIpO1xuICAgICAgICAgIHNlbGYuckNvbnRhaW5lci5hcHBlbmRDaGlsZChidWlsZFdlZWtkYXlzKCkpO1xuXG4gICAgICAgICAgaWYgKCFzZWxmLmRheXNDb250YWluZXIpIHtcbiAgICAgICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItZGF5c1wiKTtcbiAgICAgICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lci50YWJJbmRleCA9IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJ1aWxkRGF5cygpO1xuICAgICAgICAgIHNlbGYuckNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWxmLmRheXNDb250YWluZXIpO1xuICAgICAgICAgIHNlbGYuaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VsZi5yQ29udGFpbmVyKTtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzZWxmLmlubmVyQ29udGFpbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoYnVpbGRUaW1lKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJyYW5nZU1vZGVcIiwgc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhbmltYXRlXCIsIHNlbGYuY29uZmlnLmFuaW1hdGUgPT09IHRydWUpO1xuICAgICAgICB0b2dnbGVDbGFzcyhzZWxmLmNhbGVuZGFyQ29udGFpbmVyLCBcIm11bHRpTW9udGhcIiwgc2VsZi5jb25maWcuc2hvd01vbnRocyA+IDEpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgICAgICAgdmFyIGN1c3RvbUFwcGVuZCA9IHNlbGYuY29uZmlnLmFwcGVuZFRvICE9PSB1bmRlZmluZWQgJiYgc2VsZi5jb25maWcuYXBwZW5kVG8ubm9kZVR5cGUgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lIHx8IHNlbGYuY29uZmlnLnN0YXRpYykge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChzZWxmLmNvbmZpZy5pbmxpbmUgPyBcImlubGluZVwiIDogXCJzdGF0aWNcIik7XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lKSB7XG4gICAgICAgICAgICBpZiAoIWN1c3RvbUFwcGVuZCAmJiBzZWxmLmVsZW1lbnQucGFyZW50Tm9kZSkgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIHNlbGYuX2lucHV0Lm5leHRTaWJsaW5nKTtlbHNlIGlmIChzZWxmLmNvbmZpZy5hcHBlbmRUbyAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5hcHBlbmRUby5hcHBlbmRDaGlsZChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuc3RhdGljKSB7XG4gICAgICAgICAgICB2YXIgd3JhcHBlciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd3JhcHBlclwiKTtcbiAgICAgICAgICAgIGlmIChzZWxmLmVsZW1lbnQucGFyZW50Tm9kZSkgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIHNlbGYuZWxlbWVudCk7XG4gICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHNlbGYuZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCkgd3JhcHBlci5hcHBlbmRDaGlsZChzZWxmLmFsdElucHV0KTtcbiAgICAgICAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgIXNlbGYuY29uZmlnLmlubGluZSkgKHNlbGYuY29uZmlnLmFwcGVuZFRvICE9PSB1bmRlZmluZWQgPyBzZWxmLmNvbmZpZy5hcHBlbmRUbyA6IHdpbmRvdy5kb2N1bWVudC5ib2R5KS5hcHBlbmRDaGlsZChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY3JlYXRlRGF5KGNsYXNzTmFtZSwgZGF0ZSwgZGF5TnVtYmVyLCBpKSB7XG4gICAgICAgIHZhciBkYXRlSXNFbmFibGVkID0gaXNFbmFibGVkKGRhdGUsIHRydWUpLFxuICAgICAgICAgICAgZGF5RWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLWRheSBcIiArIGNsYXNzTmFtZSwgZGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKSk7XG4gICAgICAgIGRheUVsZW1lbnQuZGF0ZU9iaiA9IGRhdGU7XG4gICAgICAgIGRheUVsZW1lbnQuJGkgPSBpO1xuICAgICAgICBkYXlFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgc2VsZi5mb3JtYXREYXRlKGRhdGUsIHNlbGYuY29uZmlnLmFyaWFEYXRlRm9ybWF0KSk7XG5cbiAgICAgICAgaWYgKGNsYXNzTmFtZS5pbmRleE9mKFwiaGlkZGVuXCIpID09PSAtMSAmJiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5ub3cpID09PSAwKSB7XG4gICAgICAgICAgc2VsZi50b2RheURhdGVFbGVtID0gZGF5RWxlbWVudDtcbiAgICAgICAgICBkYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ0b2RheVwiKTtcbiAgICAgICAgICBkYXlFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtY3VycmVudFwiLCBcImRhdGVcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0ZUlzRW5hYmxlZCkge1xuICAgICAgICAgIGRheUVsZW1lbnQudGFiSW5kZXggPSAtMTtcblxuICAgICAgICAgIGlmIChpc0RhdGVTZWxlY3RlZChkYXRlKSkge1xuICAgICAgICAgICAgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwic2VsZWN0ZWRcIik7XG4gICAgICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0gPSBkYXlFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSB7XG4gICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKGRheUVsZW1lbnQsIFwic3RhcnRSYW5nZVwiLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0gJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdHJ1ZSkgPT09IDApO1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhkYXlFbGVtZW50LCBcImVuZFJhbmdlXCIsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSAmJiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzFdLCB0cnVlKSA9PT0gMCk7XG4gICAgICAgICAgICAgIGlmIChjbGFzc05hbWUgPT09IFwibmV4dE1vbnRoRGF5XCIpIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImluUmFuZ2VcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImRpc2FibGVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChpc0RhdGVJblJhbmdlKGRhdGUpICYmICFpc0RhdGVTZWxlY3RlZChkYXRlKSkgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiaW5SYW5nZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLndlZWtOdW1iZXJzICYmIHNlbGYuY29uZmlnLnNob3dNb250aHMgPT09IDEgJiYgY2xhc3NOYW1lICE9PSBcInByZXZNb250aERheVwiICYmIGRheU51bWJlciAlIDcgPT09IDEpIHtcbiAgICAgICAgICBzZWxmLndlZWtOdW1iZXJzLmluc2VydEFkamFjZW50SFRNTChcImJlZm9yZWVuZFwiLCBcIjxzcGFuIGNsYXNzPSdmbGF0cGlja3ItZGF5Jz5cIiArIHNlbGYuY29uZmlnLmdldFdlZWsoZGF0ZSkgKyBcIjwvc3Bhbj5cIik7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkRheUNyZWF0ZVwiLCBkYXlFbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGRheUVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzT25EYXlFbGVtKHRhcmdldE5vZGUpIHtcbiAgICAgICAgdGFyZ2V0Tm9kZS5mb2N1cygpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSBvbk1vdXNlT3Zlcih0YXJnZXROb2RlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZ2V0Rmlyc3RBdmFpbGFibGVEYXkoZGVsdGEpIHtcbiAgICAgICAgdmFyIHN0YXJ0TW9udGggPSBkZWx0YSA+IDAgPyAwIDogc2VsZi5jb25maWcuc2hvd01vbnRocyAtIDE7XG4gICAgICAgIHZhciBlbmRNb250aCA9IGRlbHRhID4gMCA/IHNlbGYuY29uZmlnLnNob3dNb250aHMgOiAtMTtcblxuICAgICAgICBmb3IgKHZhciBtID0gc3RhcnRNb250aDsgbSAhPSBlbmRNb250aDsgbSArPSBkZWx0YSkge1xuICAgICAgICAgIHZhciBtb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttXTtcbiAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IGRlbHRhID4gMCA/IDAgOiBtb250aC5jaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgICAgICAgIHZhciBlbmRJbmRleCA9IGRlbHRhID4gMCA/IG1vbnRoLmNoaWxkcmVuLmxlbmd0aCA6IC0xO1xuXG4gICAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0SW5kZXg7IGkgIT0gZW5kSW5kZXg7IGkgKz0gZGVsdGEpIHtcbiAgICAgICAgICAgIHZhciBjID0gbW9udGguY2hpbGRyZW5baV07XG4gICAgICAgICAgICBpZiAoYy5jbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgaXNFbmFibGVkKGMuZGF0ZU9iaikpIHJldHVybiBjO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGdldE5leHRBdmFpbGFibGVEYXkoY3VycmVudCwgZGVsdGEpIHtcbiAgICAgICAgdmFyIGdpdmVuTW9udGggPSBjdXJyZW50LmNsYXNzTmFtZS5pbmRleE9mKFwiTW9udGhcIikgPT09IC0xID8gY3VycmVudC5kYXRlT2JqLmdldE1vbnRoKCkgOiBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgdmFyIGVuZE1vbnRoID0gZGVsdGEgPiAwID8gc2VsZi5jb25maWcuc2hvd01vbnRocyA6IC0xO1xuICAgICAgICB2YXIgbG9vcERlbHRhID0gZGVsdGEgPiAwID8gMSA6IC0xO1xuXG4gICAgICAgIGZvciAodmFyIG0gPSBnaXZlbk1vbnRoIC0gc2VsZi5jdXJyZW50TW9udGg7IG0gIT0gZW5kTW9udGg7IG0gKz0gbG9vcERlbHRhKSB7XG4gICAgICAgICAgdmFyIG1vbnRoID0gc2VsZi5kYXlzQ29udGFpbmVyLmNoaWxkcmVuW21dO1xuICAgICAgICAgIHZhciBzdGFydEluZGV4ID0gZ2l2ZW5Nb250aCAtIHNlbGYuY3VycmVudE1vbnRoID09PSBtID8gY3VycmVudC4kaSArIGRlbHRhIDogZGVsdGEgPCAwID8gbW9udGguY2hpbGRyZW4ubGVuZ3RoIC0gMSA6IDA7XG4gICAgICAgICAgdmFyIG51bU1vbnRoRGF5cyA9IG1vbnRoLmNoaWxkcmVuLmxlbmd0aDtcblxuICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydEluZGV4OyBpID49IDAgJiYgaSA8IG51bU1vbnRoRGF5cyAmJiBpICE9IChkZWx0YSA+IDAgPyBudW1Nb250aERheXMgOiAtMSk7IGkgKz0gbG9vcERlbHRhKSB7XG4gICAgICAgICAgICB2YXIgYyA9IG1vbnRoLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGMuY2xhc3NOYW1lLmluZGV4T2YoXCJoaWRkZW5cIikgPT09IC0xICYmIGlzRW5hYmxlZChjLmRhdGVPYmopICYmIE1hdGguYWJzKGN1cnJlbnQuJGkgLSBpKSA+PSBNYXRoLmFicyhkZWx0YSkpIHJldHVybiBmb2N1c09uRGF5RWxlbShjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmNoYW5nZU1vbnRoKGxvb3BEZWx0YSk7XG4gICAgICAgIGZvY3VzT25EYXkoZ2V0Rmlyc3RBdmFpbGFibGVEYXkobG9vcERlbHRhKSwgMCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzT25EYXkoY3VycmVudCwgb2Zmc2V0KSB7XG4gICAgICAgIHZhciBkYXlGb2N1c2VkID0gaXNJblZpZXcoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XG4gICAgICAgIHZhciBzdGFydEVsZW0gPSBjdXJyZW50ICE9PSB1bmRlZmluZWQgPyBjdXJyZW50IDogZGF5Rm9jdXNlZCA/IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0gIT09IHVuZGVmaW5lZCAmJiBpc0luVmlldyhzZWxmLnNlbGVjdGVkRGF0ZUVsZW0pID8gc2VsZi5zZWxlY3RlZERhdGVFbGVtIDogc2VsZi50b2RheURhdGVFbGVtICE9PSB1bmRlZmluZWQgJiYgaXNJblZpZXcoc2VsZi50b2RheURhdGVFbGVtKSA/IHNlbGYudG9kYXlEYXRlRWxlbSA6IGdldEZpcnN0QXZhaWxhYmxlRGF5KG9mZnNldCA+IDAgPyAxIDogLTEpO1xuICAgICAgICBpZiAoc3RhcnRFbGVtID09PSB1bmRlZmluZWQpIHJldHVybiBzZWxmLl9pbnB1dC5mb2N1cygpO1xuICAgICAgICBpZiAoIWRheUZvY3VzZWQpIHJldHVybiBmb2N1c09uRGF5RWxlbShzdGFydEVsZW0pO1xuICAgICAgICBnZXROZXh0QXZhaWxhYmxlRGF5KHN0YXJ0RWxlbSwgb2Zmc2V0KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aERheXMoeWVhciwgbW9udGgpIHtcbiAgICAgICAgdmFyIGZpcnN0T2ZNb250aCA9IChuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSkuZ2V0RGF5KCkgLSBzZWxmLmwxMG4uZmlyc3REYXlPZldlZWsgKyA3KSAlIDc7XG4gICAgICAgIHZhciBwcmV2TW9udGhEYXlzID0gc2VsZi51dGlscy5nZXREYXlzSW5Nb250aCgobW9udGggLSAxICsgMTIpICUgMTIpO1xuICAgICAgICB2YXIgZGF5c0luTW9udGggPSBzZWxmLnV0aWxzLmdldERheXNJbk1vbnRoKG1vbnRoKSxcbiAgICAgICAgICAgIGRheXMgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLFxuICAgICAgICAgICAgaXNNdWx0aU1vbnRoID0gc2VsZi5jb25maWcuc2hvd01vbnRocyA+IDEsXG4gICAgICAgICAgICBwcmV2TW9udGhEYXlDbGFzcyA9IGlzTXVsdGlNb250aCA/IFwicHJldk1vbnRoRGF5IGhpZGRlblwiIDogXCJwcmV2TW9udGhEYXlcIixcbiAgICAgICAgICAgIG5leHRNb250aERheUNsYXNzID0gaXNNdWx0aU1vbnRoID8gXCJuZXh0TW9udGhEYXkgaGlkZGVuXCIgOiBcIm5leHRNb250aERheVwiO1xuICAgICAgICB2YXIgZGF5TnVtYmVyID0gcHJldk1vbnRoRGF5cyArIDEgLSBmaXJzdE9mTW9udGgsXG4gICAgICAgICAgICBkYXlJbmRleCA9IDA7XG5cbiAgICAgICAgZm9yICg7IGRheU51bWJlciA8PSBwcmV2TW9udGhEYXlzOyBkYXlOdW1iZXIrKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KHByZXZNb250aERheUNsYXNzLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheU51bWJlciksIGRheU51bWJlciwgZGF5SW5kZXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoZGF5TnVtYmVyID0gMTsgZGF5TnVtYmVyIDw9IGRheXNJbk1vbnRoOyBkYXlOdW1iZXIrKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KFwiXCIsIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXlOdW1iZXIpLCBkYXlOdW1iZXIsIGRheUluZGV4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBkYXlOdW0gPSBkYXlzSW5Nb250aCArIDE7IGRheU51bSA8PSA0MiAtIGZpcnN0T2ZNb250aCAmJiAoc2VsZi5jb25maWcuc2hvd01vbnRocyA9PT0gMSB8fCBkYXlJbmRleCAlIDcgIT09IDApOyBkYXlOdW0rKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KG5leHRNb250aERheUNsYXNzLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIGRheU51bSAlIGRheXNJbk1vbnRoKSwgZGF5TnVtLCBkYXlJbmRleCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRheUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJkYXlDb250YWluZXJcIik7XG4gICAgICAgIGRheUNvbnRhaW5lci5hcHBlbmRDaGlsZChkYXlzKTtcbiAgICAgICAgcmV0dXJuIGRheUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGREYXlzKCkge1xuICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjbGVhck5vZGUoc2VsZi5kYXlzQ29udGFpbmVyKTtcbiAgICAgICAgaWYgKHNlbGYud2Vla051bWJlcnMpIGNsZWFyTm9kZShzZWxmLndlZWtOdW1iZXJzKTtcbiAgICAgICAgdmFyIGZyYWcgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBpKyspIHtcbiAgICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKHNlbGYuY3VycmVudFllYXIsIHNlbGYuY3VycmVudE1vbnRoLCAxKTtcbiAgICAgICAgICBkLnNldE1vbnRoKHNlbGYuY3VycmVudE1vbnRoICsgaSk7XG4gICAgICAgICAgZnJhZy5hcHBlbmRDaGlsZChidWlsZE1vbnRoRGF5cyhkLmdldEZ1bGxZZWFyKCksIGQuZ2V0TW9udGgoKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5kYXlzQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWcpO1xuICAgICAgICBzZWxmLmRheXMgPSBzZWxmLmRheXNDb250YWluZXIuZmlyc3RDaGlsZDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aCgpIHtcbiAgICAgICAgdmFyIGNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItbW9udGhcIik7XG4gICAgICAgIHZhciBtb250aE5hdkZyYWdtZW50ID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgdmFyIG1vbnRoRWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiY3VyLW1vbnRoXCIpO1xuICAgICAgICBtb250aEVsZW1lbnQudGl0bGUgPSBzZWxmLmwxMG4uc2Nyb2xsVGl0bGU7XG4gICAgICAgIHZhciB5ZWFySW5wdXQgPSBjcmVhdGVOdW1iZXJJbnB1dChcImN1ci15ZWFyXCIsIHtcbiAgICAgICAgICB0YWJpbmRleDogXCItMVwiXG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgeWVhckVsZW1lbnQgPSB5ZWFySW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgeWVhckVsZW1lbnQudGl0bGUgPSBzZWxmLmwxMG4uc2Nyb2xsVGl0bGU7XG4gICAgICAgIHllYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgc2VsZi5sMTBuLnllYXJBcmlhTGFiZWwpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSkgeWVhckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlKSB7XG4gICAgICAgICAgeWVhckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIHllYXJFbGVtZW50LmRpc2FibGVkID0gISFzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGN1cnJlbnRNb250aCA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItY3VycmVudC1tb250aFwiKTtcbiAgICAgICAgY3VycmVudE1vbnRoLmFwcGVuZENoaWxkKG1vbnRoRWxlbWVudCk7XG4gICAgICAgIGN1cnJlbnRNb250aC5hcHBlbmRDaGlsZCh5ZWFySW5wdXQpO1xuICAgICAgICBtb250aE5hdkZyYWdtZW50LmFwcGVuZENoaWxkKGN1cnJlbnRNb250aCk7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChtb250aE5hdkZyYWdtZW50KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgICAgICB5ZWFyRWxlbWVudDogeWVhckVsZW1lbnQsXG4gICAgICAgICAgbW9udGhFbGVtZW50OiBtb250aEVsZW1lbnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aHMoKSB7XG4gICAgICAgIGNsZWFyTm9kZShzZWxmLm1vbnRoTmF2KTtcbiAgICAgICAgc2VsZi5tb250aE5hdi5hcHBlbmRDaGlsZChzZWxmLnByZXZNb250aE5hdik7XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IHNlbGYuY29uZmlnLnNob3dNb250aHM7IG0tLTspIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBidWlsZE1vbnRoKCk7XG4gICAgICAgICAgc2VsZi55ZWFyRWxlbWVudHMucHVzaChtb250aC55ZWFyRWxlbWVudCk7XG4gICAgICAgICAgc2VsZi5tb250aEVsZW1lbnRzLnB1c2gobW9udGgubW9udGhFbGVtZW50KTtcbiAgICAgICAgICBzZWxmLm1vbnRoTmF2LmFwcGVuZENoaWxkKG1vbnRoLmNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLm1vbnRoTmF2LmFwcGVuZENoaWxkKHNlbGYubmV4dE1vbnRoTmF2KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aE5hdigpIHtcbiAgICAgICAgc2VsZi5tb250aE5hdiA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItbW9udGhzXCIpO1xuICAgICAgICBzZWxmLnllYXJFbGVtZW50cyA9IFtdO1xuICAgICAgICBzZWxmLm1vbnRoRWxlbWVudHMgPSBbXTtcbiAgICAgICAgc2VsZi5wcmV2TW9udGhOYXYgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci1wcmV2LW1vbnRoXCIpO1xuICAgICAgICBzZWxmLnByZXZNb250aE5hdi5pbm5lckhUTUwgPSBzZWxmLmNvbmZpZy5wcmV2QXJyb3c7XG4gICAgICAgIHNlbGYubmV4dE1vbnRoTmF2ID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3ItbmV4dC1tb250aFwiKTtcbiAgICAgICAgc2VsZi5uZXh0TW9udGhOYXYuaW5uZXJIVE1MID0gc2VsZi5jb25maWcubmV4dEFycm93O1xuICAgICAgICBidWlsZE1vbnRocygpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZiwgXCJfaGlkZVByZXZNb250aEFycm93XCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLl9faGlkZVByZXZNb250aEFycm93O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXQoYm9vbCkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX19oaWRlUHJldk1vbnRoQXJyb3cgIT09IGJvb2wpIHtcbiAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5wcmV2TW9udGhOYXYsIFwiZGlzYWJsZWRcIiwgYm9vbCk7XG4gICAgICAgICAgICAgIHNlbGYuX19oaWRlUHJldk1vbnRoQXJyb3cgPSBib29sO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLCBcIl9oaWRlTmV4dE1vbnRoQXJyb3dcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19oaWRlTmV4dE1vbnRoQXJyb3c7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChib29sKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5fX2hpZGVOZXh0TW9udGhBcnJvdyAhPT0gYm9vbCkge1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhzZWxmLm5leHRNb250aE5hdiwgXCJkaXNhYmxlZFwiLCBib29sKTtcbiAgICAgICAgICAgICAgc2VsZi5fX2hpZGVOZXh0TW9udGhBcnJvdyA9IGJvb2w7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc2VsZi5jdXJyZW50WWVhckVsZW1lbnQgPSBzZWxmLnllYXJFbGVtZW50c1swXTtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICByZXR1cm4gc2VsZi5tb250aE5hdjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRUaW1lKCkge1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNUaW1lXCIpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubm9DYWxlbmRhcikgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwibm9DYWxlbmRhclwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci10aW1lXCIpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdmFyIHNlcGFyYXRvciA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yXCIsIFwiOlwiKTtcbiAgICAgICAgdmFyIGhvdXJJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLWhvdXJcIik7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQgPSBob3VySW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgdmFyIG1pbnV0ZUlucHV0ID0gY3JlYXRlTnVtYmVySW5wdXQoXCJmbGF0cGlja3ItbWludXRlXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQgPSBtaW51dGVJbnB1dC5jaGlsZE5vZGVzWzBdO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnRhYkluZGV4ID0gc2VsZi5taW51dGVFbGVtZW50LnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQudmFsdWUgPSBwYWQoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRIb3VycygpIDogc2VsZi5jb25maWcudGltZV8yNGhyID8gc2VsZi5jb25maWcuZGVmYXVsdEhvdXIgOiBtaWxpdGFyeTJhbXBtKHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyKSk7XG4gICAgICAgIHNlbGYubWludXRlRWxlbWVudC52YWx1ZSA9IHBhZChzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLmdldE1pbnV0ZXMoKSA6IHNlbGYuY29uZmlnLmRlZmF1bHRNaW51dGUpO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiLCBzZWxmLmNvbmZpZy5ob3VySW5jcmVtZW50LnRvU3RyaW5nKCkpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIsIHNlbGYuY29uZmlnLm1pbnV0ZUluY3JlbWVudC50b1N0cmluZygpKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiLCBzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyBcIjBcIiA6IFwiMVwiKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1heFwiLCBzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyBcIjIzXCIgOiBcIjEyXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgXCIwXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgXCI1OVwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKGhvdXJJbnB1dCk7XG4gICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZXBhcmF0b3IpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQobWludXRlSW5wdXQpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcudGltZV8yNGhyKSBzZWxmLnRpbWVDb250YWluZXIuY2xhc3NMaXN0LmFkZChcInRpbWUyNGhyXCIpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVTZWNvbmRzKSB7XG4gICAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNTZWNvbmRzXCIpO1xuICAgICAgICAgIHZhciBzZWNvbmRJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLXNlY29uZFwiKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQgPSBzZWNvbmRJbnB1dC5jaGlsZE5vZGVzWzBdO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC52YWx1ZSA9IHBhZChzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLmdldFNlY29uZHMoKSA6IHNlbGYuY29uZmlnLmRlZmF1bHRTZWNvbmRzKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIsIHNlbGYubWludXRlRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN0ZXBcIikpO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIikpO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1heFwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIikpO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci10aW1lLXNlcGFyYXRvclwiLCBcIjpcIikpO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWNvbmRJbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlbGYuY29uZmlnLnRpbWVfMjRocikge1xuICAgICAgICAgIHNlbGYuYW1QTSA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLWFtLXBtXCIsIHNlbGYubDEwbi5hbVBNW2ludCgoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmhvdXJFbGVtZW50LnZhbHVlIDogc2VsZi5jb25maWcuZGVmYXVsdEhvdXIpID4gMTEpXSk7XG4gICAgICAgICAgc2VsZi5hbVBNLnRpdGxlID0gc2VsZi5sMTBuLnRvZ2dsZVRpdGxlO1xuICAgICAgICAgIHNlbGYuYW1QTS50YWJJbmRleCA9IC0xO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWxmLmFtUE0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNlbGYudGltZUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRXZWVrZGF5cygpIHtcbiAgICAgICAgaWYgKCFzZWxmLndlZWtkYXlDb250YWluZXIpIHNlbGYud2Vla2RheUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd2Vla2RheXNcIik7ZWxzZSBjbGVhck5vZGUoc2VsZi53ZWVrZGF5Q29udGFpbmVyKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gc2VsZi5jb25maWcuc2hvd01vbnRoczsgaS0tOykge1xuICAgICAgICAgIHZhciBjb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXJcIik7XG4gICAgICAgICAgc2VsZi53ZWVrZGF5Q29udGFpbmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVXZWVrZGF5cygpO1xuICAgICAgICByZXR1cm4gc2VsZi53ZWVrZGF5Q29udGFpbmVyO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVXZWVrZGF5cygpIHtcbiAgICAgICAgdmFyIGZpcnN0RGF5T2ZXZWVrID0gc2VsZi5sMTBuLmZpcnN0RGF5T2ZXZWVrO1xuICAgICAgICB2YXIgd2Vla2RheXMgPSBzZWxmLmwxMG4ud2Vla2RheXMuc2hvcnRoYW5kLmNvbmNhdCgpO1xuXG4gICAgICAgIGlmIChmaXJzdERheU9mV2VlayA+IDAgJiYgZmlyc3REYXlPZldlZWsgPCB3ZWVrZGF5cy5sZW5ndGgpIHtcbiAgICAgICAgICB3ZWVrZGF5cyA9IHdlZWtkYXlzLnNwbGljZShmaXJzdERheU9mV2Vlaywgd2Vla2RheXMubGVuZ3RoKS5jb25jYXQod2Vla2RheXMuc3BsaWNlKDAsIGZpcnN0RGF5T2ZXZWVrKSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBpID0gc2VsZi5jb25maWcuc2hvd01vbnRoczsgaS0tOykge1xuICAgICAgICAgIHNlbGYud2Vla2RheUNvbnRhaW5lci5jaGlsZHJlbltpXS5pbm5lckhUTUwgPSBcIlxcbiAgICAgIDxzcGFuIGNsYXNzPWZsYXRwaWNrci13ZWVrZGF5PlxcbiAgICAgICAgXCIgKyB3ZWVrZGF5cy5qb2luKFwiPC9zcGFuPjxzcGFuIGNsYXNzPWZsYXRwaWNrci13ZWVrZGF5PlwiKSArIFwiXFxuICAgICAgPC9zcGFuPlxcbiAgICAgIFwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkV2Vla3MoKSB7XG4gICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcImhhc1dlZWtzXCIpO1xuICAgICAgICB2YXIgd2Vla1dyYXBwZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWt3cmFwcGVyXCIpO1xuICAgICAgICB3ZWVrV3JhcHBlci5hcHBlbmRDaGlsZChjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci13ZWVrZGF5XCIsIHNlbGYubDEwbi53ZWVrQWJicmV2aWF0aW9uKSk7XG4gICAgICAgIHZhciB3ZWVrTnVtYmVycyA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd2Vla3NcIik7XG4gICAgICAgIHdlZWtXcmFwcGVyLmFwcGVuZENoaWxkKHdlZWtOdW1iZXJzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3ZWVrV3JhcHBlcjogd2Vla1dyYXBwZXIsXG4gICAgICAgICAgd2Vla051bWJlcnM6IHdlZWtOdW1iZXJzXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNoYW5nZU1vbnRoKHZhbHVlLCBpc19vZmZzZXQpIHtcbiAgICAgICAgaWYgKGlzX29mZnNldCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgaXNfb2Zmc2V0ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkZWx0YSA9IGlzX29mZnNldCA/IHZhbHVlIDogdmFsdWUgLSBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgaWYgKGRlbHRhIDwgMCAmJiBzZWxmLl9oaWRlUHJldk1vbnRoQXJyb3cgPT09IHRydWUgfHwgZGVsdGEgPiAwICYmIHNlbGYuX2hpZGVOZXh0TW9udGhBcnJvdyA9PT0gdHJ1ZSkgcmV0dXJuO1xuICAgICAgICBzZWxmLmN1cnJlbnRNb250aCArPSBkZWx0YTtcblxuICAgICAgICBpZiAoc2VsZi5jdXJyZW50TW9udGggPCAwIHx8IHNlbGYuY3VycmVudE1vbnRoID4gMTEpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRZZWFyICs9IHNlbGYuY3VycmVudE1vbnRoID4gMTEgPyAxIDogLTE7XG4gICAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSAoc2VsZi5jdXJyZW50TW9udGggKyAxMikgJSAxMjtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblllYXJDaGFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25Nb250aENoYW5nZVwiKTtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjbGVhcih0cmlnZ2VyQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2VFdmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgdHJpZ2dlckNoYW5nZUV2ZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCAhPT0gdW5kZWZpbmVkKSBzZWxmLmFsdElucHV0LnZhbHVlID0gXCJcIjtcbiAgICAgICAgaWYgKHNlbGYubW9iaWxlSW5wdXQgIT09IHVuZGVmaW5lZCkgc2VsZi5tb2JpbGVJbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtdO1xuICAgICAgICBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA9IHVuZGVmaW5lZDtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUgPT09IHRydWUpIHtcbiAgICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlRXZlbnQpIHRyaWdnZXJFdmVudChcIm9uQ2hhbmdlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjbG9zZSgpIHtcbiAgICAgICAgc2VsZi5pc09wZW4gPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUpIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoXCJvcGVuXCIpO1xuXG4gICAgICAgICAgc2VsZi5faW5wdXQuY2xhc3NMaXN0LnJlbW92ZShcImFjdGl2ZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2xvc2VcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZyAhPT0gdW5kZWZpbmVkKSB0cmlnZ2VyRXZlbnQoXCJvbkRlc3Ryb3lcIik7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHNlbGYuX2hhbmRsZXJzLmxlbmd0aDsgaS0tOykge1xuICAgICAgICAgIHZhciBoID0gc2VsZi5faGFuZGxlcnNbaV07XG4gICAgICAgICAgaC5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoaC5ldmVudCwgaC5oYW5kbGVyLCBoLm9wdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5faGFuZGxlcnMgPSBbXTtcblxuICAgICAgICBpZiAoc2VsZi5tb2JpbGVJbnB1dCkge1xuICAgICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0LnBhcmVudE5vZGUpIHNlbGYubW9iaWxlSW5wdXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzZWxmLm1vYmlsZUlucHV0KTtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIgJiYgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5wYXJlbnROb2RlKSBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG5cbiAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQpIHtcbiAgICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dC5wYXJlbnROb2RlKSBzZWxmLmFsdElucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5hbHRJbnB1dCk7XG4gICAgICAgICAgZGVsZXRlIHNlbGYuYWx0SW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5pbnB1dCkge1xuICAgICAgICAgIHNlbGYuaW5wdXQudHlwZSA9IHNlbGYuaW5wdXQuX3R5cGU7XG4gICAgICAgICAgc2VsZi5pbnB1dC5jbGFzc0xpc3QucmVtb3ZlKFwiZmxhdHBpY2tyLWlucHV0XCIpO1xuICAgICAgICAgIHNlbGYuaW5wdXQucmVtb3ZlQXR0cmlidXRlKFwicmVhZG9ubHlcIik7XG4gICAgICAgICAgc2VsZi5pbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBbXCJfc2hvd1RpbWVJbnB1dFwiLCBcImxhdGVzdFNlbGVjdGVkRGF0ZU9ialwiLCBcIl9oaWRlTmV4dE1vbnRoQXJyb3dcIiwgXCJfaGlkZVByZXZNb250aEFycm93XCIsIFwiX19oaWRlTmV4dE1vbnRoQXJyb3dcIiwgXCJfX2hpZGVQcmV2TW9udGhBcnJvd1wiLCBcImlzTW9iaWxlXCIsIFwiaXNPcGVuXCIsIFwic2VsZWN0ZWREYXRlRWxlbVwiLCBcIm1pbkRhdGVIYXNUaW1lXCIsIFwibWF4RGF0ZUhhc1RpbWVcIiwgXCJkYXlzXCIsIFwiZGF5c0NvbnRhaW5lclwiLCBcIl9pbnB1dFwiLCBcIl9wb3NpdGlvbkVsZW1lbnRcIiwgXCJpbm5lckNvbnRhaW5lclwiLCBcInJDb250YWluZXJcIiwgXCJtb250aE5hdlwiLCBcInRvZGF5RGF0ZUVsZW1cIiwgXCJjYWxlbmRhckNvbnRhaW5lclwiLCBcIndlZWtkYXlDb250YWluZXJcIiwgXCJwcmV2TW9udGhOYXZcIiwgXCJuZXh0TW9udGhOYXZcIiwgXCJjdXJyZW50TW9udGhFbGVtZW50XCIsIFwiY3VycmVudFllYXJFbGVtZW50XCIsIFwibmF2aWdhdGlvbkN1cnJlbnRNb250aFwiLCBcInNlbGVjdGVkRGF0ZUVsZW1cIiwgXCJjb25maWdcIl0uZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkZWxldGUgc2VsZltrXTtcbiAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaXNDYWxlbmRhckVsZW0oZWxlbSkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcuYXBwZW5kVG8gJiYgc2VsZi5jb25maWcuYXBwZW5kVG8uY29udGFpbnMoZWxlbSkpIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jb250YWlucyhlbGVtKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZG9jdW1lbnRDbGljayhlKSB7XG4gICAgICAgIGlmIChzZWxmLmlzT3BlbiAmJiAhc2VsZi5jb25maWcuaW5saW5lKSB7XG4gICAgICAgICAgdmFyIGlzQ2FsZW5kYXJFbGVtZW50ID0gaXNDYWxlbmRhckVsZW0oZS50YXJnZXQpO1xuICAgICAgICAgIHZhciBpc0lucHV0ID0gZS50YXJnZXQgPT09IHNlbGYuaW5wdXQgfHwgZS50YXJnZXQgPT09IHNlbGYuYWx0SW5wdXQgfHwgc2VsZi5lbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KSB8fCBlLnBhdGggJiYgZS5wYXRoLmluZGV4T2YgJiYgKH5lLnBhdGguaW5kZXhPZihzZWxmLmlucHV0KSB8fCB+ZS5wYXRoLmluZGV4T2Yoc2VsZi5hbHRJbnB1dCkpO1xuICAgICAgICAgIHZhciBsb3N0Rm9jdXMgPSBlLnR5cGUgPT09IFwiYmx1clwiID8gaXNJbnB1dCAmJiBlLnJlbGF0ZWRUYXJnZXQgJiYgIWlzQ2FsZW5kYXJFbGVtKGUucmVsYXRlZFRhcmdldCkgOiAhaXNJbnB1dCAmJiAhaXNDYWxlbmRhckVsZW1lbnQ7XG4gICAgICAgICAgdmFyIGlzSWdub3JlZCA9ICFzZWxmLmNvbmZpZy5pZ25vcmVkRm9jdXNFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbS5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAobG9zdEZvY3VzICYmIGlzSWdub3JlZCkge1xuICAgICAgICAgICAgc2VsZi5jbG9zZSgpO1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiICYmIHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgc2VsZi5jbGVhcihmYWxzZSk7XG4gICAgICAgICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNoYW5nZVllYXIobmV3WWVhcikge1xuICAgICAgICBpZiAoIW5ld1llYXIgfHwgc2VsZi5jb25maWcubWluRGF0ZSAmJiBuZXdZZWFyIDwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpIHx8IHNlbGYuY29uZmlnLm1heERhdGUgJiYgbmV3WWVhciA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSkgcmV0dXJuO1xuICAgICAgICB2YXIgbmV3WWVhck51bSA9IG5ld1llYXIsXG4gICAgICAgICAgICBpc05ld1llYXIgPSBzZWxmLmN1cnJlbnRZZWFyICE9PSBuZXdZZWFyTnVtO1xuICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0gbmV3WWVhck51bSB8fCBzZWxmLmN1cnJlbnRZZWFyO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY3VycmVudFllYXIgPT09IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSkge1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gTWF0aC5taW4oc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNb250aCgpLCBzZWxmLmN1cnJlbnRNb250aCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmN1cnJlbnRZZWFyID09PSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IE1hdGgubWF4KHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0TW9udGgoKSwgc2VsZi5jdXJyZW50TW9udGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTmV3WWVhcikge1xuICAgICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRW5hYmxlZChkYXRlLCB0aW1lbGVzcykge1xuICAgICAgICBpZiAodGltZWxlc3MgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRpbWVsZXNzID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYXRlVG9DaGVjayA9IHNlbGYucGFyc2VEYXRlKGRhdGUsIHVuZGVmaW5lZCwgdGltZWxlc3MpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBkYXRlVG9DaGVjayAmJiBjb21wYXJlRGF0ZXMoZGF0ZVRvQ2hlY2ssIHNlbGYuY29uZmlnLm1pbkRhdGUsIHRpbWVsZXNzICE9PSB1bmRlZmluZWQgPyB0aW1lbGVzcyA6ICFzZWxmLm1pbkRhdGVIYXNUaW1lKSA8IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZSAmJiBkYXRlVG9DaGVjayAmJiBjb21wYXJlRGF0ZXMoZGF0ZVRvQ2hlY2ssIHNlbGYuY29uZmlnLm1heERhdGUsIHRpbWVsZXNzICE9PSB1bmRlZmluZWQgPyB0aW1lbGVzcyA6ICFzZWxmLm1heERhdGVIYXNUaW1lKSA+IDApIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZS5sZW5ndGggPT09IDAgJiYgc2VsZi5jb25maWcuZGlzYWJsZS5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoZGF0ZVRvQ2hlY2sgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgYm9vbCA9IHNlbGYuY29uZmlnLmVuYWJsZS5sZW5ndGggPiAwLFxuICAgICAgICAgICAgYXJyYXkgPSBib29sID8gc2VsZi5jb25maWcuZW5hYmxlIDogc2VsZi5jb25maWcuZGlzYWJsZTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMCwgZDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZCA9IGFycmF5W2ldO1xuICAgICAgICAgIGlmICh0eXBlb2YgZCA9PT0gXCJmdW5jdGlvblwiICYmIGQoZGF0ZVRvQ2hlY2spKSByZXR1cm4gYm9vbDtlbHNlIGlmIChkIGluc3RhbmNlb2YgRGF0ZSAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkICYmIGQuZ2V0VGltZSgpID09PSBkYXRlVG9DaGVjay5nZXRUaW1lKCkpIHJldHVybiBib29sO2Vsc2UgaWYgKHR5cGVvZiBkID09PSBcInN0cmluZ1wiICYmIGRhdGVUb0NoZWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZhciBwYXJzZWQgPSBzZWxmLnBhcnNlRGF0ZShkLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZCAmJiBwYXJzZWQuZ2V0VGltZSgpID09PSBkYXRlVG9DaGVjay5nZXRUaW1lKCkgPyBib29sIDogIWJvb2w7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZCA9PT0gXCJvYmplY3RcIiAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkICYmIGQuZnJvbSAmJiBkLnRvICYmIGRhdGVUb0NoZWNrLmdldFRpbWUoKSA+PSBkLmZyb20uZ2V0VGltZSgpICYmIGRhdGVUb0NoZWNrLmdldFRpbWUoKSA8PSBkLnRvLmdldFRpbWUoKSkgcmV0dXJuIGJvb2w7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gIWJvb2w7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzSW5WaWV3KGVsZW0pIHtcbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSByZXR1cm4gZWxlbS5jbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgc2VsZi5kYXlzQ29udGFpbmVyLmNvbnRhaW5zKGVsZW0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgICAgIHZhciBpc0lucHV0ID0gZS50YXJnZXQgPT09IHNlbGYuX2lucHV0O1xuICAgICAgICB2YXIgYWxsb3dJbnB1dCA9IHNlbGYuY29uZmlnLmFsbG93SW5wdXQ7XG4gICAgICAgIHZhciBhbGxvd0tleWRvd24gPSBzZWxmLmlzT3BlbiAmJiAoIWFsbG93SW5wdXQgfHwgIWlzSW5wdXQpO1xuICAgICAgICB2YXIgYWxsb3dJbmxpbmVLZXlkb3duID0gc2VsZi5jb25maWcuaW5saW5lICYmIGlzSW5wdXQgJiYgIWFsbG93SW5wdXQ7XG5cbiAgICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMTMgJiYgaXNJbnB1dCkge1xuICAgICAgICAgIGlmIChhbGxvd0lucHV0KSB7XG4gICAgICAgICAgICBzZWxmLnNldERhdGUoc2VsZi5faW5wdXQudmFsdWUsIHRydWUsIGUudGFyZ2V0ID09PSBzZWxmLmFsdElucHV0ID8gc2VsZi5jb25maWcuYWx0Rm9ybWF0IDogc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICByZXR1cm4gZS50YXJnZXQuYmx1cigpO1xuICAgICAgICAgIH0gZWxzZSBzZWxmLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0NhbGVuZGFyRWxlbShlLnRhcmdldCkgfHwgYWxsb3dLZXlkb3duIHx8IGFsbG93SW5saW5lS2V5ZG93bikge1xuICAgICAgICAgIHZhciBpc1RpbWVPYmogPSAhIXNlbGYudGltZUNvbnRhaW5lciAmJiBzZWxmLnRpbWVDb250YWluZXIuY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICAgICAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgMTM6XG4gICAgICAgICAgICAgIGlmIChpc1RpbWVPYmopIHVwZGF0ZVRpbWUoKTtlbHNlIHNlbGVjdERhdGUoZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDI3OlxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGZvY3VzQW5kQ2xvc2UoKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgIGNhc2UgNDY6XG4gICAgICAgICAgICAgIGlmIChpc0lucHV0ICYmICFzZWxmLmNvbmZpZy5hbGxvd0lucHV0KSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHNlbGYuY2xlYXIoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDM3OlxuICAgICAgICAgICAgY2FzZSAzOTpcbiAgICAgICAgICAgICAgaWYgKCFpc1RpbWVPYmopIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICE9PSB1bmRlZmluZWQgJiYgKGFsbG93SW5wdXQgPT09IGZhbHNlIHx8IGlzSW5WaWV3KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSkge1xuICAgICAgICAgICAgICAgICAgdmFyIF9kZWx0YSA9IGUua2V5Q29kZSA9PT0gMzkgPyAxIDogLTE7XG5cbiAgICAgICAgICAgICAgICAgIGlmICghZS5jdHJsS2V5KSBmb2N1c09uRGF5KHVuZGVmaW5lZCwgX2RlbHRhKTtlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlTW9udGgoX2RlbHRhKTtcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNPbkRheShnZXRGaXJzdEF2YWlsYWJsZURheSgxKSwgMCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGYuaG91ckVsZW1lbnQpIHNlbGYuaG91ckVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAzODpcbiAgICAgICAgICAgIGNhc2UgNDA6XG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgdmFyIGRlbHRhID0gZS5rZXlDb2RlID09PSA0MCA/IDEgOiAtMTtcblxuICAgICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGUuY3RybEtleSkge1xuICAgICAgICAgICAgICAgICAgY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyIC0gZGVsdGEpO1xuICAgICAgICAgICAgICAgICAgZm9jdXNPbkRheShnZXRGaXJzdEF2YWlsYWJsZURheSgxKSwgMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNUaW1lT2JqKSBmb2N1c09uRGF5KHVuZGVmaW5lZCwgZGVsdGEgKiA3KTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1RpbWVPYmogJiYgc2VsZi5ob3VyRWxlbWVudCkgc2VsZi5ob3VyRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVRpbWUoZSk7XG5cbiAgICAgICAgICAgICAgICBzZWxmLl9kZWJvdW5jZWRDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICAgIGlmICghaXNUaW1lT2JqKSBicmVhaztcbiAgICAgICAgICAgICAgdmFyIGVsZW1zID0gW3NlbGYuaG91ckVsZW1lbnQsIHNlbGYubWludXRlRWxlbWVudCwgc2VsZi5zZWNvbmRFbGVtZW50LCBzZWxmLmFtUE1dLmZpbHRlcihmdW5jdGlvbiAoeCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdmFyIGkgPSBlbGVtcy5pbmRleE9mKGUudGFyZ2V0KTtcblxuICAgICAgICAgICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZWxlbXNbaSArIChlLnNoaWZ0S2V5ID8gLTEgOiAxKV07XG5cbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQgJiYgZS50YXJnZXQgPT09IHNlbGYuYW1QTSkge1xuICAgICAgICAgIHN3aXRjaCAoZS5rZXkpIHtcbiAgICAgICAgICAgIGNhc2Ugc2VsZi5sMTBuLmFtUE1bMF0uY2hhckF0KDApOlxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVswXS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1bMF07XG4gICAgICAgICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVsxXS5jaGFyQXQoMCk6XG4gICAgICAgICAgICBjYXNlIHNlbGYubDEwbi5hbVBNWzFdLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICAgICAgICBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVsxXTtcbiAgICAgICAgICAgICAgc2V0SG91cnNGcm9tSW5wdXRzKCk7XG4gICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uS2V5RG93blwiLCBlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25Nb3VzZU92ZXIoZWxlbSkge1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCAhPT0gMSB8fCAhZWxlbS5jbGFzc0xpc3QuY29udGFpbnMoXCJmbGF0cGlja3ItZGF5XCIpIHx8IGVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKFwiZGlzYWJsZWRcIikpIHJldHVybjtcbiAgICAgICAgdmFyIGhvdmVyRGF0ZSA9IGVsZW0uZGF0ZU9iai5nZXRUaW1lKCksXG4gICAgICAgICAgICBpbml0aWFsRGF0ZSA9IHNlbGYucGFyc2VEYXRlKHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdW5kZWZpbmVkLCB0cnVlKS5nZXRUaW1lKCksXG4gICAgICAgICAgICByYW5nZVN0YXJ0RGF0ZSA9IE1hdGgubWluKGhvdmVyRGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKSksXG4gICAgICAgICAgICByYW5nZUVuZERhdGUgPSBNYXRoLm1heChob3ZlckRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkpO1xuICAgICAgICB2YXIgY29udGFpbnNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB2YXIgbWluUmFuZ2UgPSAwLFxuICAgICAgICAgICAgbWF4UmFuZ2UgPSAwO1xuXG4gICAgICAgIGZvciAodmFyIHQgPSByYW5nZVN0YXJ0RGF0ZTsgdCA8IHJhbmdlRW5kRGF0ZTsgdCArPSBkdXJhdGlvbi5EQVkpIHtcbiAgICAgICAgICBpZiAoIWlzRW5hYmxlZChuZXcgRGF0ZSh0KSwgdHJ1ZSkpIHtcbiAgICAgICAgICAgIGNvbnRhaW5zRGlzYWJsZWQgPSBjb250YWluc0Rpc2FibGVkIHx8IHQgPiByYW5nZVN0YXJ0RGF0ZSAmJiB0IDwgcmFuZ2VFbmREYXRlO1xuICAgICAgICAgICAgaWYgKHQgPCBpbml0aWFsRGF0ZSAmJiAoIW1pblJhbmdlIHx8IHQgPiBtaW5SYW5nZSkpIG1pblJhbmdlID0gdDtlbHNlIGlmICh0ID4gaW5pdGlhbERhdGUgJiYgKCFtYXhSYW5nZSB8fCB0IDwgbWF4UmFuZ2UpKSBtYXhSYW5nZSA9IHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IDA7IG0gPCBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBtKyspIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBzZWxmLmRheXNDb250YWluZXIuY2hpbGRyZW5bbV07XG4gICAgICAgICAgdmFyIHByZXZNb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttIC0gMV07XG5cbiAgICAgICAgICB2YXIgX2xvb3AgPSBmdW5jdGlvbiBfbG9vcChpLCBsKSB7XG4gICAgICAgICAgICB2YXIgZGF5RWxlbSA9IG1vbnRoLmNoaWxkcmVuW2ldLFxuICAgICAgICAgICAgICAgIGRhdGUgPSBkYXlFbGVtLmRhdGVPYmo7XG4gICAgICAgICAgICB2YXIgdGltZXN0YW1wID0gZGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgICAgICB2YXIgb3V0T2ZSYW5nZSA9IG1pblJhbmdlID4gMCAmJiB0aW1lc3RhbXAgPCBtaW5SYW5nZSB8fCBtYXhSYW5nZSA+IDAgJiYgdGltZXN0YW1wID4gbWF4UmFuZ2U7XG5cbiAgICAgICAgICAgIGlmIChvdXRPZlJhbmdlKSB7XG4gICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LmFkZChcIm5vdEFsbG93ZWRcIik7XG4gICAgICAgICAgICAgIFtcImluUmFuZ2VcIiwgXCJzdGFydFJhbmdlXCIsIFwiZW5kUmFuZ2VcIl0uZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LnJlbW92ZShjKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJldHVybiBcImNvbnRpbnVlXCI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5zRGlzYWJsZWQgJiYgIW91dE9mUmFuZ2UpIHJldHVybiBcImNvbnRpbnVlXCI7XG5cbiAgICAgICAgICAgIFtcInN0YXJ0UmFuZ2VcIiwgXCJpblJhbmdlXCIsIFwiZW5kUmFuZ2VcIiwgXCJub3RBbGxvd2VkXCJdLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgICAgICAgZGF5RWxlbS5jbGFzc0xpc3QucmVtb3ZlKGMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbGVtLmNsYXNzTGlzdC5hZGQoaG92ZXJEYXRlIDwgc2VsZi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKSA/IFwic3RhcnRSYW5nZVwiIDogXCJlbmRSYW5nZVwiKTtcblxuICAgICAgICAgICAgaWYgKG1vbnRoLmNvbnRhaW5zKGVsZW0pIHx8ICEobSA+IDAgJiYgcHJldk1vbnRoICYmIHByZXZNb250aC5sYXN0Q2hpbGQuZGF0ZU9iai5nZXRUaW1lKCkgPj0gdGltZXN0YW1wKSkge1xuICAgICAgICAgICAgICBpZiAoaW5pdGlhbERhdGUgPCBob3ZlckRhdGUgJiYgdGltZXN0YW1wID09PSBpbml0aWFsRGF0ZSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwic3RhcnRSYW5nZVwiKTtlbHNlIGlmIChpbml0aWFsRGF0ZSA+IGhvdmVyRGF0ZSAmJiB0aW1lc3RhbXAgPT09IGluaXRpYWxEYXRlKSBkYXlFbGVtLmNsYXNzTGlzdC5hZGQoXCJlbmRSYW5nZVwiKTtcbiAgICAgICAgICAgICAgaWYgKHRpbWVzdGFtcCA+PSBtaW5SYW5nZSAmJiAobWF4UmFuZ2UgPT09IDAgfHwgdGltZXN0YW1wIDw9IG1heFJhbmdlKSAmJiBpc0JldHdlZW4odGltZXN0YW1wLCBpbml0aWFsRGF0ZSwgaG92ZXJEYXRlKSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwiaW5SYW5nZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBtb250aC5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBfcmV0ID0gX2xvb3AoaSwgbCk7XG5cbiAgICAgICAgICAgIGlmIChfcmV0ID09PSBcImNvbnRpbnVlXCIpIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvblJlc2l6ZSgpIHtcbiAgICAgICAgaWYgKHNlbGYuaXNPcGVuICYmICFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgIXNlbGYuY29uZmlnLmlubGluZSkgcG9zaXRpb25DYWxlbmRhcigpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvcGVuKGUsIHBvc2l0aW9uRWxlbWVudCkge1xuICAgICAgICBpZiAocG9zaXRpb25FbGVtZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgICBwb3NpdGlvbkVsZW1lbnQgPSBzZWxmLl9pbnB1dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmlzTW9iaWxlID09PSB0cnVlKSB7XG4gICAgICAgICAgaWYgKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUudGFyZ2V0ICYmIGUudGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNlbGYubW9iaWxlSW5wdXQgIT09IHVuZGVmaW5lZCAmJiBzZWxmLm1vYmlsZUlucHV0LmZvY3VzKCk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25PcGVuXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLl9pbnB1dC5kaXNhYmxlZCB8fCBzZWxmLmNvbmZpZy5pbmxpbmUpIHJldHVybjtcbiAgICAgICAgdmFyIHdhc09wZW4gPSBzZWxmLmlzT3BlbjtcbiAgICAgICAgc2VsZi5pc09wZW4gPSB0cnVlO1xuXG4gICAgICAgIGlmICghd2FzT3Blbikge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcIm9wZW5cIik7XG5cbiAgICAgICAgICBzZWxmLl9pbnB1dC5jbGFzc0xpc3QuYWRkKFwiYWN0aXZlXCIpO1xuXG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25PcGVuXCIpO1xuICAgICAgICAgIHBvc2l0aW9uQ2FsZW5kYXIocG9zaXRpb25FbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lID09PSB0cnVlICYmIHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPT09IHRydWUpIHtcbiAgICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2VsZi5zZXREYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCA/IG5ldyBEYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0VGltZSgpKSA6IG5ldyBEYXRlKCksIGZhbHNlKTtcbiAgICAgICAgICAgIHNldERlZmF1bHRIb3VycygpO1xuICAgICAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuYWxsb3dJbnB1dCA9PT0gZmFsc2UgJiYgKGUgPT09IHVuZGVmaW5lZCB8fCAhc2VsZi50aW1lQ29udGFpbmVyLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkpKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaG91ckVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG1pbk1heERhdGVTZXR0ZXIodHlwZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICB2YXIgZGF0ZU9iaiA9IHNlbGYuY29uZmlnW1wiX1wiICsgdHlwZSArIFwiRGF0ZVwiXSA9IHNlbGYucGFyc2VEYXRlKGRhdGUsIHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICAgIHZhciBpbnZlcnNlRGF0ZU9iaiA9IHNlbGYuY29uZmlnW1wiX1wiICsgKHR5cGUgPT09IFwibWluXCIgPyBcIm1heFwiIDogXCJtaW5cIikgKyBcIkRhdGVcIl07XG5cbiAgICAgICAgICBpZiAoZGF0ZU9iaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZWxmW3R5cGUgPT09IFwibWluXCIgPyBcIm1pbkRhdGVIYXNUaW1lXCIgOiBcIm1heERhdGVIYXNUaW1lXCJdID0gZGF0ZU9iai5nZXRIb3VycygpID4gMCB8fCBkYXRlT2JqLmdldE1pbnV0ZXMoKSA+IDAgfHwgZGF0ZU9iai5nZXRTZWNvbmRzKCkgPiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMpIHtcbiAgICAgICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IHNlbGYuc2VsZWN0ZWREYXRlcy5maWx0ZXIoZnVuY3Rpb24gKGQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGlzRW5hYmxlZChkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoICYmIHR5cGUgPT09IFwibWluXCIpIHNldEhvdXJzRnJvbURhdGUoZGF0ZU9iaik7XG4gICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIpIHtcbiAgICAgICAgICAgIHJlZHJhdygpO1xuICAgICAgICAgICAgaWYgKGRhdGVPYmogIT09IHVuZGVmaW5lZCkgc2VsZi5jdXJyZW50WWVhckVsZW1lbnRbdHlwZV0gPSBkYXRlT2JqLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtlbHNlIHNlbGYuY3VycmVudFllYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0eXBlKTtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudFllYXJFbGVtZW50LmRpc2FibGVkID0gISFpbnZlcnNlRGF0ZU9iaiAmJiBkYXRlT2JqICE9PSB1bmRlZmluZWQgJiYgaW52ZXJzZURhdGVPYmouZ2V0RnVsbFllYXIoKSA9PT0gZGF0ZU9iai5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcGFyc2VDb25maWcoKSB7XG4gICAgICAgIHZhciBib29sT3B0cyA9IFtcIndyYXBcIiwgXCJ3ZWVrTnVtYmVyc1wiLCBcImFsbG93SW5wdXRcIiwgXCJjbGlja09wZW5zXCIsIFwidGltZV8yNGhyXCIsIFwiZW5hYmxlVGltZVwiLCBcIm5vQ2FsZW5kYXJcIiwgXCJhbHRJbnB1dFwiLCBcInNob3J0aGFuZEN1cnJlbnRNb250aFwiLCBcImlubGluZVwiLCBcInN0YXRpY1wiLCBcImVuYWJsZVNlY29uZHNcIiwgXCJkaXNhYmxlTW9iaWxlXCJdO1xuICAgICAgICB2YXIgaG9va3MgPSBbXCJvbkNoYW5nZVwiLCBcIm9uQ2xvc2VcIiwgXCJvbkRheUNyZWF0ZVwiLCBcIm9uRGVzdHJveVwiLCBcIm9uS2V5RG93blwiLCBcIm9uTW9udGhDaGFuZ2VcIiwgXCJvbk9wZW5cIiwgXCJvblBhcnNlQ29uZmlnXCIsIFwib25SZWFkeVwiLCBcIm9uVmFsdWVVcGRhdGVcIiwgXCJvblllYXJDaGFuZ2VcIiwgXCJvblByZUNhbGVuZGFyUG9zaXRpb25cIl07XG4gICAgICAgIHZhciB1c2VyQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgaW5zdGFuY2VDb25maWcsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZWxlbWVudC5kYXRhc2V0IHx8IHt9KSkpO1xuICAgICAgICB2YXIgZm9ybWF0cyQkMSA9IHt9O1xuICAgICAgICBzZWxmLmNvbmZpZy5wYXJzZURhdGUgPSB1c2VyQ29uZmlnLnBhcnNlRGF0ZTtcbiAgICAgICAgc2VsZi5jb25maWcuZm9ybWF0RGF0ZSA9IHVzZXJDb25maWcuZm9ybWF0RGF0ZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcImVuYWJsZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX2VuYWJsZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGRhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZy5fZW5hYmxlID0gcGFyc2VEYXRlUnVsZXMoZGF0ZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJkaXNhYmxlXCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5fZGlzYWJsZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGRhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZy5fZGlzYWJsZSA9IHBhcnNlRGF0ZVJ1bGVzKGRhdGVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgdGltZU1vZGUgPSB1c2VyQ29uZmlnLm1vZGUgPT09IFwidGltZVwiO1xuXG4gICAgICAgIGlmICghdXNlckNvbmZpZy5kYXRlRm9ybWF0ICYmICh1c2VyQ29uZmlnLmVuYWJsZVRpbWUgfHwgdGltZU1vZGUpKSB7XG4gICAgICAgICAgZm9ybWF0cyQkMS5kYXRlRm9ybWF0ID0gdXNlckNvbmZpZy5ub0NhbGVuZGFyIHx8IHRpbWVNb2RlID8gXCJIOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTXCIgOiBcIlwiKSA6IGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnLmRhdGVGb3JtYXQgKyBcIiBIOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTXCIgOiBcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VyQ29uZmlnLmFsdElucHV0ICYmICh1c2VyQ29uZmlnLmVuYWJsZVRpbWUgfHwgdGltZU1vZGUpICYmICF1c2VyQ29uZmlnLmFsdEZvcm1hdCkge1xuICAgICAgICAgIGZvcm1hdHMkJDEuYWx0Rm9ybWF0ID0gdXNlckNvbmZpZy5ub0NhbGVuZGFyIHx8IHRpbWVNb2RlID8gXCJoOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTIEtcIiA6IFwiIEtcIikgOiBmbGF0cGlja3IuZGVmYXVsdENvbmZpZy5hbHRGb3JtYXQgKyAoXCIgaDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6U1wiIDogXCJcIikgKyBcIiBLXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1pbkRhdGVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9taW5EYXRlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhEYXRlU2V0dGVyKFwibWluXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwibWF4RGF0ZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX21heERhdGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IG1pbk1heERhdGVTZXR0ZXIoXCJtYXhcIilcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIG1pbk1heFRpbWVTZXR0ZXIgPSBmdW5jdGlvbiBtaW5NYXhUaW1lU2V0dGVyKHR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgICAgc2VsZi5jb25maWdbdHlwZSA9PT0gXCJtaW5cIiA/IFwiX21pblRpbWVcIiA6IFwiX21heFRpbWVcIl0gPSBzZWxmLnBhcnNlRGF0ZSh2YWwsIFwiSDppXCIpO1xuICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1pblRpbWVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9taW5UaW1lO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhUaW1lU2V0dGVyKFwibWluXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwibWF4VGltZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX21heFRpbWU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IG1pbk1heFRpbWVTZXR0ZXIoXCJtYXhcIilcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHVzZXJDb25maWcubW9kZSA9PT0gXCJ0aW1lXCIpIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyID0gdHJ1ZTtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5lbmFibGVUaW1lID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5hc3NpZ24oc2VsZi5jb25maWcsIGZvcm1hdHMkJDEsIHVzZXJDb25maWcpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYm9vbE9wdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZ1tib29sT3B0c1tpXV0gPSBzZWxmLmNvbmZpZ1tib29sT3B0c1tpXV0gPT09IHRydWUgfHwgc2VsZi5jb25maWdbYm9vbE9wdHNbaV1dID09PSBcInRydWVcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIF9pID0gaG9va3MubGVuZ3RoOyBfaS0tOykge1xuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZ1tob29rc1tfaV1dICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY29uZmlnW2hvb2tzW19pXV0gPSBhcnJheWlmeShzZWxmLmNvbmZpZ1tob29rc1tfaV1dIHx8IFtdKS5tYXAoYmluZFRvSW5zdGFuY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuaXNNb2JpbGUgPSAhc2VsZi5jb25maWcuZGlzYWJsZU1vYmlsZSAmJiAhc2VsZi5jb25maWcuaW5saW5lICYmIHNlbGYuY29uZmlnLm1vZGUgPT09IFwic2luZ2xlXCIgJiYgIXNlbGYuY29uZmlnLmRpc2FibGUubGVuZ3RoICYmICFzZWxmLmNvbmZpZy5lbmFibGUubGVuZ3RoICYmICFzZWxmLmNvbmZpZy53ZWVrTnVtYmVycyAmJiAvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbiAgICAgICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgc2VsZi5jb25maWcucGx1Z2lucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICAgICAgdmFyIHBsdWdpbkNvbmYgPSBzZWxmLmNvbmZpZy5wbHVnaW5zW19pMl0oc2VsZikgfHwge307XG5cbiAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGx1Z2luQ29uZikge1xuICAgICAgICAgICAgaWYgKH5ob29rcy5pbmRleE9mKGtleSkpIHtcbiAgICAgICAgICAgICAgc2VsZi5jb25maWdba2V5XSA9IGFycmF5aWZ5KHBsdWdpbkNvbmZba2V5XSkubWFwKGJpbmRUb0luc3RhbmNlKS5jb25jYXQoc2VsZi5jb25maWdba2V5XSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB1c2VyQ29uZmlnW2tleV0gPT09IFwidW5kZWZpbmVkXCIpIHNlbGYuY29uZmlnW2tleV0gPSBwbHVnaW5Db25mW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25QYXJzZUNvbmZpZ1wiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0dXBMb2NhbGUoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2VsZi5jb25maWcubG9jYWxlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBmbGF0cGlja3IubDEwbnNbc2VsZi5jb25maWcubG9jYWxlXSA9PT0gXCJ1bmRlZmluZWRcIikgc2VsZi5jb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcImZsYXRwaWNrcjogaW52YWxpZCBsb2NhbGUgXCIgKyBzZWxmLmNvbmZpZy5sb2NhbGUpKTtcbiAgICAgICAgc2VsZi5sMTBuID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQsIHR5cGVvZiBzZWxmLmNvbmZpZy5sb2NhbGUgPT09IFwib2JqZWN0XCIgPyBzZWxmLmNvbmZpZy5sb2NhbGUgOiBzZWxmLmNvbmZpZy5sb2NhbGUgIT09IFwiZGVmYXVsdFwiID8gZmxhdHBpY2tyLmwxMG5zW3NlbGYuY29uZmlnLmxvY2FsZV0gOiB1bmRlZmluZWQpO1xuICAgICAgICB0b2tlblJlZ2V4LksgPSBcIihcIiArIHNlbGYubDEwbi5hbVBNWzBdICsgXCJ8XCIgKyBzZWxmLmwxMG4uYW1QTVsxXSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMF0udG9Mb3dlckNhc2UoKSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMV0udG9Mb3dlckNhc2UoKSArIFwiKVwiO1xuICAgICAgICBzZWxmLmZvcm1hdERhdGUgPSBjcmVhdGVEYXRlRm9ybWF0dGVyKHNlbGYpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBwb3NpdGlvbkNhbGVuZGFyKGN1c3RvbVBvc2l0aW9uRWxlbWVudCkge1xuICAgICAgICBpZiAoc2VsZi5jYWxlbmRhckNvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uUHJlQ2FsZW5kYXJQb3NpdGlvblwiKTtcbiAgICAgICAgdmFyIHBvc2l0aW9uRWxlbWVudCA9IGN1c3RvbVBvc2l0aW9uRWxlbWVudCB8fCBzZWxmLl9wb3NpdGlvbkVsZW1lbnQ7XG4gICAgICAgIHZhciBjYWxlbmRhckhlaWdodCA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNoaWxkcmVuLCBmdW5jdGlvbiAoYWNjLCBjaGlsZCkge1xuICAgICAgICAgIHJldHVybiBhY2MgKyBjaGlsZC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH0sIDApLFxuICAgICAgICAgICAgY2FsZW5kYXJXaWR0aCA9IHNlbGYuY2FsZW5kYXJDb250YWluZXIub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBjb25maWdQb3MgPSBzZWxmLmNvbmZpZy5wb3NpdGlvbi5zcGxpdChcIiBcIiksXG4gICAgICAgICAgICBjb25maWdQb3NWZXJ0aWNhbCA9IGNvbmZpZ1Bvc1swXSxcbiAgICAgICAgICAgIGNvbmZpZ1Bvc0hvcml6b250YWwgPSBjb25maWdQb3MubGVuZ3RoID4gMSA/IGNvbmZpZ1Bvc1sxXSA6IG51bGwsXG4gICAgICAgICAgICBpbnB1dEJvdW5kcyA9IHBvc2l0aW9uRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICAgIGRpc3RhbmNlRnJvbUJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGlucHV0Qm91bmRzLmJvdHRvbSxcbiAgICAgICAgICAgIHNob3dPblRvcCA9IGNvbmZpZ1Bvc1ZlcnRpY2FsID09PSBcImFib3ZlXCIgfHwgY29uZmlnUG9zVmVydGljYWwgIT09IFwiYmVsb3dcIiAmJiBkaXN0YW5jZUZyb21Cb3R0b20gPCBjYWxlbmRhckhlaWdodCAmJiBpbnB1dEJvdW5kcy50b3AgPiBjYWxlbmRhckhlaWdodDtcbiAgICAgICAgdmFyIHRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCArIGlucHV0Qm91bmRzLnRvcCArICghc2hvd09uVG9wID8gcG9zaXRpb25FbGVtZW50Lm9mZnNldEhlaWdodCArIDIgOiAtY2FsZW5kYXJIZWlnaHQgLSAyKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhcnJvd1RvcFwiLCAhc2hvd09uVG9wKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhcnJvd0JvdHRvbVwiLCBzaG93T25Ub3ApO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lKSByZXR1cm47XG4gICAgICAgIHZhciBsZWZ0ID0gd2luZG93LnBhZ2VYT2Zmc2V0ICsgaW5wdXRCb3VuZHMubGVmdCAtIChjb25maWdQb3NIb3Jpem9udGFsICE9IG51bGwgJiYgY29uZmlnUG9zSG9yaXpvbnRhbCA9PT0gXCJjZW50ZXJcIiA/IChjYWxlbmRhcldpZHRoIC0gaW5wdXRCb3VuZHMud2lkdGgpIC8gMiA6IDApO1xuICAgICAgICB2YXIgcmlnaHQgPSB3aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCAtIGlucHV0Qm91bmRzLnJpZ2h0O1xuICAgICAgICB2YXIgcmlnaHRNb3N0ID0gbGVmdCArIGNhbGVuZGFyV2lkdGggPiB3aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJyaWdodE1vc3RcIiwgcmlnaHRNb3N0KTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLnN0YXRpYykgcmV0dXJuO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArIFwicHhcIjtcblxuICAgICAgICBpZiAoIXJpZ2h0TW9zdCkge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdCA9IGxlZnQgKyBcInB4XCI7XG4gICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yaWdodCA9IFwiYXV0b1wiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdCA9IFwiYXV0b1wiO1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmlnaHQgPSByaWdodCArIFwicHhcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiByZWRyYXcoKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5ub0NhbGVuZGFyIHx8IHNlbGYuaXNNb2JpbGUpIHJldHVybjtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZm9jdXNBbmRDbG9zZSgpIHtcbiAgICAgICAgc2VsZi5faW5wdXQuZm9jdXMoKTtcblxuICAgICAgICBpZiAod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIk1TSUVcIikgIT09IC0xIHx8IG5hdmlnYXRvci5tc01heFRvdWNoUG9pbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KHNlbGYuY2xvc2UsIDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZWxlY3REYXRlKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHZhciBpc1NlbGVjdGFibGUgPSBmdW5jdGlvbiBpc1NlbGVjdGFibGUoZGF5KSB7XG4gICAgICAgICAgcmV0dXJuIGRheS5jbGFzc0xpc3QgJiYgZGF5LmNsYXNzTGlzdC5jb250YWlucyhcImZsYXRwaWNrci1kYXlcIikgJiYgIWRheS5jbGFzc0xpc3QuY29udGFpbnMoXCJkaXNhYmxlZFwiKSAmJiAhZGF5LmNsYXNzTGlzdC5jb250YWlucyhcIm5vdEFsbG93ZWRcIik7XG4gICAgICAgIH07XG5cbiAgICAgICAgdmFyIHQgPSBmaW5kUGFyZW50KGUudGFyZ2V0LCBpc1NlbGVjdGFibGUpO1xuICAgICAgICBpZiAodCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHZhciB0YXJnZXQgPSB0O1xuICAgICAgICB2YXIgc2VsZWN0ZWREYXRlID0gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPSBuZXcgRGF0ZSh0YXJnZXQuZGF0ZU9iai5nZXRUaW1lKCkpO1xuICAgICAgICB2YXIgc2hvdWxkQ2hhbmdlTW9udGggPSAoc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPCBzZWxmLmN1cnJlbnRNb250aCB8fCBzZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA+IHNlbGYuY3VycmVudE1vbnRoICsgc2VsZi5jb25maWcuc2hvd01vbnRocyAtIDEpICYmIHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIjtcbiAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVFbGVtID0gdGFyZ2V0O1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJzaW5nbGVcIikgc2VsZi5zZWxlY3RlZERhdGVzID0gW3NlbGVjdGVkRGF0ZV07ZWxzZSBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICAgICAgdmFyIHNlbGVjdGVkSW5kZXggPSBpc0RhdGVTZWxlY3RlZChzZWxlY3RlZERhdGUpO1xuICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4KSBzZWxmLnNlbGVjdGVkRGF0ZXMuc3BsaWNlKHBhcnNlSW50KHNlbGVjdGVkSW5kZXgpLCAxKTtlbHNlIHNlbGYuc2VsZWN0ZWREYXRlcy5wdXNoKHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSB7XG4gICAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDIpIHNlbGYuY2xlYXIoZmFsc2UpO1xuICAgICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcy5wdXNoKHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgaWYgKGNvbXBhcmVEYXRlcyhzZWxlY3RlZERhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdHJ1ZSkgIT09IDApIHNlbGYuc2VsZWN0ZWREYXRlcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgICAgICByZXR1cm4gYS5nZXRUaW1lKCkgLSBiLmdldFRpbWUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZXRIb3Vyc0Zyb21JbnB1dHMoKTtcblxuICAgICAgICBpZiAoc2hvdWxkQ2hhbmdlTW9udGgpIHtcbiAgICAgICAgICB2YXIgaXNOZXdZZWFyID0gc2VsZi5jdXJyZW50WWVhciAhPT0gc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgc2VsZi5jdXJyZW50WWVhciA9IHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gc2VsZWN0ZWREYXRlLmdldE1vbnRoKCk7XG4gICAgICAgICAgaWYgKGlzTmV3WWVhcikgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uTW9udGhDaGFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVOYXZpZ2F0aW9uQ3VycmVudE1vbnRoKCk7XG4gICAgICAgIGJ1aWxkRGF5cygpO1xuICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUpIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBzZWxmLnNob3dUaW1lSW5wdXQgPSB0cnVlO1xuICAgICAgICB9LCA1MCk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBvbk1vdXNlT3Zlcih0YXJnZXQpO1xuICAgICAgICAgIH0gZWxzZSB1cGRhdGVOYXZpZ2F0aW9uQ3VycmVudE1vbnRoKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNob3VsZENoYW5nZU1vbnRoICYmIHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIiAmJiBzZWxmLmNvbmZpZy5zaG93TW9udGhzID09PSAxKSBmb2N1c09uRGF5RWxlbSh0YXJnZXQpO2Vsc2Ugc2VsZi5zZWxlY3RlZERhdGVFbGVtICYmIHNlbGYuc2VsZWN0ZWREYXRlRWxlbS5mb2N1cygpO1xuICAgICAgICBpZiAoc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkKSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHNlbGYuaG91ckVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIH0sIDQ1MSk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICB2YXIgc2luZ2xlID0gc2VsZi5jb25maWcubW9kZSA9PT0gXCJzaW5nbGVcIiAmJiAhc2VsZi5jb25maWcuZW5hYmxlVGltZTtcbiAgICAgICAgICB2YXIgcmFuZ2UgPSBzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIgJiYgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMiAmJiAhc2VsZi5jb25maWcuZW5hYmxlVGltZTtcblxuICAgICAgICAgIGlmIChzaW5nbGUgfHwgcmFuZ2UpIHtcbiAgICAgICAgICAgIGZvY3VzQW5kQ2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyQ2hhbmdlKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBDQUxMQkFDS1MgPSB7XG4gICAgICAgIGxvY2FsZTogW3NldHVwTG9jYWxlLCB1cGRhdGVXZWVrZGF5c10sXG4gICAgICAgIHNob3dNb250aHM6IFtidWlsZE1vbnRocywgc2V0Q2FsZW5kYXJXaWR0aCwgYnVpbGRXZWVrZGF5c11cbiAgICAgIH07XG5cbiAgICAgIGZ1bmN0aW9uIHNldChvcHRpb24sIHZhbHVlKSB7XG4gICAgICAgIGlmIChvcHRpb24gIT09IG51bGwgJiYgdHlwZW9mIG9wdGlvbiA9PT0gXCJvYmplY3RcIikgT2JqZWN0LmFzc2lnbihzZWxmLmNvbmZpZywgb3B0aW9uKTtlbHNlIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZ1tvcHRpb25dID0gdmFsdWU7XG4gICAgICAgICAgaWYgKENBTExCQUNLU1tvcHRpb25dICE9PSB1bmRlZmluZWQpIENBTExCQUNLU1tvcHRpb25dLmZvckVhY2goZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgIHJldHVybiB4KCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZi5yZWRyYXcoKTtcbiAgICAgICAganVtcFRvRGF0ZSgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRTZWxlY3RlZERhdGUoaW5wdXREYXRlLCBmb3JtYXQpIHtcbiAgICAgICAgdmFyIGRhdGVzID0gW107XG4gICAgICAgIGlmIChpbnB1dERhdGUgaW5zdGFuY2VvZiBBcnJheSkgZGF0ZXMgPSBpbnB1dERhdGUubWFwKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGYucGFyc2VEYXRlKGQsIGZvcm1hdCk7XG4gICAgICAgIH0pO2Vsc2UgaWYgKGlucHV0RGF0ZSBpbnN0YW5jZW9mIERhdGUgfHwgdHlwZW9mIGlucHV0RGF0ZSA9PT0gXCJudW1iZXJcIikgZGF0ZXMgPSBbc2VsZi5wYXJzZURhdGUoaW5wdXREYXRlLCBmb3JtYXQpXTtlbHNlIGlmICh0eXBlb2YgaW5wdXREYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgc3dpdGNoIChzZWxmLmNvbmZpZy5tb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwic2luZ2xlXCI6XG4gICAgICAgICAgICBjYXNlIFwidGltZVwiOlxuICAgICAgICAgICAgICBkYXRlcyA9IFtzZWxmLnBhcnNlRGF0ZShpbnB1dERhdGUsIGZvcm1hdCldO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcIm11bHRpcGxlXCI6XG4gICAgICAgICAgICAgIGRhdGVzID0gaW5wdXREYXRlLnNwbGl0KHNlbGYuY29uZmlnLmNvbmp1bmN0aW9uKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwicmFuZ2VcIjpcbiAgICAgICAgICAgICAgZGF0ZXMgPSBpbnB1dERhdGUuc3BsaXQoc2VsZi5sMTBuLnJhbmdlU2VwYXJhdG9yKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBzZWxmLmNvbmZpZy5lcnJvckhhbmRsZXIobmV3IEVycm9yKFwiSW52YWxpZCBkYXRlIHN1cHBsaWVkOiBcIiArIEpTT04uc3RyaW5naWZ5KGlucHV0RGF0ZSkpKTtcbiAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVzID0gZGF0ZXMuZmlsdGVyKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIGQgaW5zdGFuY2VvZiBEYXRlICYmIGlzRW5hYmxlZChkLCBmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSBzZWxmLnNlbGVjdGVkRGF0ZXMuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgIHJldHVybiBhLmdldFRpbWUoKSAtIGIuZ2V0VGltZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0RGF0ZShkYXRlLCB0cmlnZ2VyQ2hhbmdlLCBmb3JtYXQpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmb3JtYXQgPT09IHZvaWQgMCkge1xuICAgICAgICAgIGZvcm1hdCA9IHNlbGYuY29uZmlnLmRhdGVGb3JtYXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0ZSAhPT0gMCAmJiAhZGF0ZSB8fCBkYXRlIGluc3RhbmNlb2YgQXJyYXkgJiYgZGF0ZS5sZW5ndGggPT09IDApIHJldHVybiBzZWxmLmNsZWFyKHRyaWdnZXJDaGFuZ2UpO1xuICAgICAgICBzZXRTZWxlY3RlZERhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDA7XG4gICAgICAgIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gc2VsZi5zZWxlY3RlZERhdGVzWzBdO1xuICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICBqdW1wVG9EYXRlKCk7XG4gICAgICAgIHNldEhvdXJzRnJvbURhdGUoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUodHJpZ2dlckNoYW5nZSk7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlKSB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcGFyc2VEYXRlUnVsZXMoYXJyKSB7XG4gICAgICAgIHJldHVybiBhcnIuc2xpY2UoKS5tYXAoZnVuY3Rpb24gKHJ1bGUpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJ1bGUgPT09IFwibnVtYmVyXCIgfHwgcnVsZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLnBhcnNlRGF0ZShydWxlLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocnVsZSAmJiB0eXBlb2YgcnVsZSA9PT0gXCJvYmplY3RcIiAmJiBydWxlLmZyb20gJiYgcnVsZS50bykgcmV0dXJuIHtcbiAgICAgICAgICAgIGZyb206IHNlbGYucGFyc2VEYXRlKHJ1bGUuZnJvbSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHRvOiBzZWxmLnBhcnNlRGF0ZShydWxlLnRvLCB1bmRlZmluZWQpXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBydWxlO1xuICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwRGF0ZXMoKSB7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtdO1xuICAgICAgICBzZWxmLm5vdyA9IHNlbGYucGFyc2VEYXRlKHNlbGYuY29uZmlnLm5vdykgfHwgbmV3IERhdGUoKTtcbiAgICAgICAgdmFyIHByZWxvYWRlZERhdGUgPSBzZWxmLmNvbmZpZy5kZWZhdWx0RGF0ZSB8fCAoc2VsZi5pbnB1dC5wbGFjZWhvbGRlci5sZW5ndGggPiAwICYmIHNlbGYuaW5wdXQudmFsdWUgPT09IHNlbGYuaW5wdXQucGxhY2Vob2xkZXIgPyBudWxsIDogc2VsZi5pbnB1dC52YWx1ZSk7XG4gICAgICAgIGlmIChwcmVsb2FkZWREYXRlKSBzZXRTZWxlY3RlZERhdGUocHJlbG9hZGVkRGF0ZSwgc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgIHZhciBpbml0aWFsRGF0ZSA9IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwID8gc2VsZi5zZWxlY3RlZERhdGVzWzBdIDogc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmNvbmZpZy5taW5EYXRlLmdldFRpbWUoKSA+IHNlbGYubm93LmdldFRpbWUoKSA/IHNlbGYuY29uZmlnLm1pbkRhdGUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY29uZmlnLm1heERhdGUuZ2V0VGltZSgpIDwgc2VsZi5ub3cuZ2V0VGltZSgpID8gc2VsZi5jb25maWcubWF4RGF0ZSA6IHNlbGYubm93O1xuICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0gaW5pdGlhbERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSBpbml0aWFsRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDApIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gc2VsZi5zZWxlY3RlZERhdGVzWzBdO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluVGltZSAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5taW5UaW1lID0gc2VsZi5wYXJzZURhdGUoc2VsZi5jb25maWcubWluVGltZSwgXCJIOmlcIik7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQpIHNlbGYuY29uZmlnLm1heFRpbWUgPSBzZWxmLnBhcnNlRGF0ZShzZWxmLmNvbmZpZy5tYXhUaW1lLCBcIkg6aVwiKTtcbiAgICAgICAgc2VsZi5taW5EYXRlSGFzVGltZSA9ICEhc2VsZi5jb25maWcubWluRGF0ZSAmJiAoc2VsZi5jb25maWcubWluRGF0ZS5nZXRIb3VycygpID4gMCB8fCBzZWxmLmNvbmZpZy5taW5EYXRlLmdldE1pbnV0ZXMoKSA+IDAgfHwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRTZWNvbmRzKCkgPiAwKTtcbiAgICAgICAgc2VsZi5tYXhEYXRlSGFzVGltZSA9ICEhc2VsZi5jb25maWcubWF4RGF0ZSAmJiAoc2VsZi5jb25maWcubWF4RGF0ZS5nZXRIb3VycygpID4gMCB8fCBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldE1pbnV0ZXMoKSA+IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRTZWNvbmRzKCkgPiAwKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYsIFwic2hvd1RpbWVJbnB1dFwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2hvd1RpbWVJbnB1dDtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGJvb2wpIHtcbiAgICAgICAgICAgIHNlbGYuX3Nob3dUaW1lSW5wdXQgPSBib29sO1xuICAgICAgICAgICAgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIpIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwic2hvd1RpbWVJbnB1dFwiLCBib29sKTtcbiAgICAgICAgICAgIHNlbGYuaXNPcGVuICYmIHBvc2l0aW9uQ2FsZW5kYXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXR1cElucHV0cygpIHtcbiAgICAgICAgc2VsZi5pbnB1dCA9IHNlbGYuY29uZmlnLndyYXAgPyBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJbZGF0YS1pbnB1dF1cIikgOiBlbGVtZW50O1xuXG4gICAgICAgIGlmICghc2VsZi5pbnB1dCkge1xuICAgICAgICAgIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoXCJJbnZhbGlkIGlucHV0IGVsZW1lbnQgc3BlY2lmaWVkXCIpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmlucHV0Ll90eXBlID0gc2VsZi5pbnB1dC50eXBlO1xuICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgc2VsZi5pbnB1dC5jbGFzc0xpc3QuYWRkKFwiZmxhdHBpY2tyLWlucHV0XCIpO1xuICAgICAgICBzZWxmLl9pbnB1dCA9IHNlbGYuaW5wdXQ7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmFsdElucHV0KSB7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dCA9IGNyZWF0ZUVsZW1lbnQoc2VsZi5pbnB1dC5ub2RlTmFtZSwgc2VsZi5pbnB1dC5jbGFzc05hbWUgKyBcIiBcIiArIHNlbGYuY29uZmlnLmFsdElucHV0Q2xhc3MpO1xuICAgICAgICAgIHNlbGYuX2lucHV0ID0gc2VsZi5hbHRJbnB1dDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnBsYWNlaG9sZGVyID0gc2VsZi5pbnB1dC5wbGFjZWhvbGRlcjtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LmRpc2FibGVkID0gc2VsZi5pbnB1dC5kaXNhYmxlZDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnJlcXVpcmVkID0gc2VsZi5pbnB1dC5yZXF1aXJlZDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnRhYkluZGV4ID0gc2VsZi5pbnB1dC50YWJJbmRleDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgICBzZWxmLmlucHV0LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJoaWRkZW5cIik7XG4gICAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgc2VsZi5pbnB1dC5wYXJlbnROb2RlKSBzZWxmLmlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYuYWx0SW5wdXQsIHNlbGYuaW5wdXQubmV4dFNpYmxpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5hbGxvd0lucHV0KSBzZWxmLl9pbnB1dC5zZXRBdHRyaWJ1dGUoXCJyZWFkb25seVwiLCBcInJlYWRvbmx5XCIpO1xuICAgICAgICBzZWxmLl9wb3NpdGlvbkVsZW1lbnQgPSBzZWxmLmNvbmZpZy5wb3NpdGlvbkVsZW1lbnQgfHwgc2VsZi5faW5wdXQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwTW9iaWxlKCkge1xuICAgICAgICB2YXIgaW5wdXRUeXBlID0gc2VsZi5jb25maWcuZW5hYmxlVGltZSA/IHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPyBcInRpbWVcIiA6IFwiZGF0ZXRpbWUtbG9jYWxcIiA6IFwiZGF0ZVwiO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0ID0gY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHNlbGYuaW5wdXQuY2xhc3NOYW1lICsgXCIgZmxhdHBpY2tyLW1vYmlsZVwiKTtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5zdGVwID0gc2VsZi5pbnB1dC5nZXRBdHRyaWJ1dGUoXCJzdGVwXCIpIHx8IFwiYW55XCI7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQudGFiSW5kZXggPSAxO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnR5cGUgPSBpbnB1dFR5cGU7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQuZGlzYWJsZWQgPSBzZWxmLmlucHV0LmRpc2FibGVkO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnJlcXVpcmVkID0gc2VsZi5pbnB1dC5yZXF1aXJlZDtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5wbGFjZWhvbGRlciA9IHNlbGYuaW5wdXQucGxhY2Vob2xkZXI7XG4gICAgICAgIHNlbGYubW9iaWxlRm9ybWF0U3RyID0gaW5wdXRUeXBlID09PSBcImRhdGV0aW1lLWxvY2FsXCIgPyBcIlktbS1kXFxcXFRIOmk6U1wiIDogaW5wdXRUeXBlID09PSBcImRhdGVcIiA/IFwiWS1tLWRcIiA6IFwiSDppOlNcIjtcblxuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0LmRlZmF1bHRWYWx1ZSA9IHNlbGYubW9iaWxlSW5wdXQudmFsdWUgPSBzZWxmLmZvcm1hdERhdGUoc2VsZi5zZWxlY3RlZERhdGVzWzBdLCBzZWxmLm1vYmlsZUZvcm1hdFN0cik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSkgc2VsZi5tb2JpbGVJbnB1dC5taW4gPSBzZWxmLmZvcm1hdERhdGUoc2VsZi5jb25maWcubWluRGF0ZSwgXCJZLW0tZFwiKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1heERhdGUpIHNlbGYubW9iaWxlSW5wdXQubWF4ID0gc2VsZi5mb3JtYXREYXRlKHNlbGYuY29uZmlnLm1heERhdGUsIFwiWS1tLWRcIik7XG4gICAgICAgIHNlbGYuaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0ICE9PSB1bmRlZmluZWQpIHNlbGYuYWx0SW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc2VsZi5pbnB1dC5wYXJlbnROb2RlKSBzZWxmLmlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYubW9iaWxlSW5wdXQsIHNlbGYuaW5wdXQubmV4dFNpYmxpbmcpO1xuICAgICAgICB9IGNhdGNoIChfYSkge31cblxuICAgICAgICBiaW5kKHNlbGYubW9iaWxlSW5wdXQsIFwiY2hhbmdlXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgc2VsZi5zZXREYXRlKGUudGFyZ2V0LnZhbHVlLCBmYWxzZSwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2hhbmdlXCIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2xvc2VcIik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0b2dnbGUoZSkge1xuICAgICAgICBpZiAoc2VsZi5pc09wZW4gPT09IHRydWUpIHJldHVybiBzZWxmLmNsb3NlKCk7XG4gICAgICAgIHNlbGYub3BlbihlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdHJpZ2dlckV2ZW50KGV2ZW50LCBkYXRhKSB7XG4gICAgICAgIHZhciBob29rcyA9IHNlbGYuY29uZmlnW2V2ZW50XTtcblxuICAgICAgICBpZiAoaG9va3MgIT09IHVuZGVmaW5lZCAmJiBob29rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGhvb2tzW2ldICYmIGkgPCBob29rcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaG9va3NbaV0oc2VsZi5zZWxlY3RlZERhdGVzLCBzZWxmLmlucHV0LnZhbHVlLCBzZWxmLCBkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQgPT09IFwib25DaGFuZ2VcIikge1xuICAgICAgICAgIHNlbGYuaW5wdXQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudChcImNoYW5nZVwiKSk7XG4gICAgICAgICAgc2VsZi5pbnB1dC5kaXNwYXRjaEV2ZW50KGNyZWF0ZUV2ZW50KFwiaW5wdXRcIikpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNyZWF0ZUV2ZW50KG5hbWUpIHtcbiAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpO1xuICAgICAgICBlLmluaXRFdmVudChuYW1lLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRGF0ZVNlbGVjdGVkKGRhdGUpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoY29tcGFyZURhdGVzKHNlbGYuc2VsZWN0ZWREYXRlc1tpXSwgZGF0ZSkgPT09IDApIHJldHVybiBcIlwiICsgaTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaXNEYXRlSW5SYW5nZShkYXRlKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCIgfHwgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlcyhkYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0pID49IDAgJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSkgPD0gMDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgfHwgc2VsZi5pc01vYmlsZSB8fCAhc2VsZi5tb250aE5hdikgcmV0dXJuO1xuICAgICAgICBzZWxmLnllYXJFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh5ZWFyRWxlbWVudCwgaSkge1xuICAgICAgICAgIHZhciBkID0gbmV3IERhdGUoc2VsZi5jdXJyZW50WWVhciwgc2VsZi5jdXJyZW50TW9udGgsIDEpO1xuICAgICAgICAgIGQuc2V0TW9udGgoc2VsZi5jdXJyZW50TW9udGggKyBpKTtcbiAgICAgICAgICBzZWxmLm1vbnRoRWxlbWVudHNbaV0udGV4dENvbnRlbnQgPSBtb250aFRvU3RyKGQuZ2V0TW9udGgoKSwgc2VsZi5jb25maWcuc2hvcnRoYW5kQ3VycmVudE1vbnRoLCBzZWxmLmwxMG4pICsgXCIgXCI7XG4gICAgICAgICAgeWVhckVsZW1lbnQudmFsdWUgPSBkLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGYuX2hpZGVQcmV2TW9udGhBcnJvdyA9IHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCAmJiAoc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpID8gc2VsZi5jdXJyZW50TW9udGggPD0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50WWVhciA8IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIHNlbGYuX2hpZGVOZXh0TW9udGhBcnJvdyA9IHNlbGYuY29uZmlnLm1heERhdGUgIT09IHVuZGVmaW5lZCAmJiAoc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpID8gc2VsZi5jdXJyZW50TW9udGggKyAxID4gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50WWVhciA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZVZhbHVlKHRyaWdnZXJDaGFuZ2UpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2UgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDApIHJldHVybiBzZWxmLmNsZWFyKHRyaWdnZXJDaGFuZ2UpO1xuXG4gICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5tb2JpbGVGb3JtYXRTdHIpIHtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnZhbHVlID0gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogIT09IHVuZGVmaW5lZCA/IHNlbGYuZm9ybWF0RGF0ZShzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpIDogXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBqb2luQ2hhciA9IHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIiA/IHNlbGYuY29uZmlnLmNvbmp1bmN0aW9uIDogc2VsZi5sMTBuLnJhbmdlU2VwYXJhdG9yO1xuICAgICAgICBzZWxmLmlucHV0LnZhbHVlID0gc2VsZi5zZWxlY3RlZERhdGVzLm1hcChmdW5jdGlvbiAoZE9iaikge1xuICAgICAgICAgIHJldHVybiBzZWxmLmZvcm1hdERhdGUoZE9iaiwgc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgIH0pLmpvaW4oam9pbkNoYXIpO1xuXG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnZhbHVlID0gc2VsZi5zZWxlY3RlZERhdGVzLm1hcChmdW5jdGlvbiAoZE9iaikge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuZm9ybWF0RGF0ZShkT2JqLCBzZWxmLmNvbmZpZy5hbHRGb3JtYXQpO1xuICAgICAgICAgIH0pLmpvaW4oam9pbkNoYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgIT09IGZhbHNlKSB0cmlnZ2VyRXZlbnQoXCJvblZhbHVlVXBkYXRlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbk1vbnRoTmF2Q2xpY2soZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHZhciBpc1ByZXZNb250aCA9IHNlbGYucHJldk1vbnRoTmF2LmNvbnRhaW5zKGUudGFyZ2V0KTtcbiAgICAgICAgdmFyIGlzTmV4dE1vbnRoID0gc2VsZi5uZXh0TW9udGhOYXYuY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICAgIGlmIChpc1ByZXZNb250aCB8fCBpc05leHRNb250aCkge1xuICAgICAgICAgIGNoYW5nZU1vbnRoKGlzUHJldk1vbnRoID8gLTEgOiAxKTtcbiAgICAgICAgfSBlbHNlIGlmIChzZWxmLnllYXJFbGVtZW50cy5pbmRleE9mKGUudGFyZ2V0KSA+PSAwKSB7XG4gICAgICAgICAgZS50YXJnZXQuc2VsZWN0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYXJyb3dVcFwiKSkge1xuICAgICAgICAgIHNlbGYuY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyICsgMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYXJyb3dEb3duXCIpKSB7XG4gICAgICAgICAgc2VsZi5jaGFuZ2VZZWFyKHNlbGYuY3VycmVudFllYXIgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0aW1lV3JhcHBlcihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdmFyIGlzS2V5RG93biA9IGUudHlwZSA9PT0gXCJrZXlkb3duXCIsXG4gICAgICAgICAgICBpbnB1dCA9IGUudGFyZ2V0O1xuXG4gICAgICAgIGlmIChzZWxmLmFtUE0gIT09IHVuZGVmaW5lZCAmJiBlLnRhcmdldCA9PT0gc2VsZi5hbVBNKSB7XG4gICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1baW50KHNlbGYuYW1QTS50ZXh0Q29udGVudCA9PT0gc2VsZi5sMTBuLmFtUE1bMF0pXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBtaW4gPSBwYXJzZUZsb2F0KGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtbWluXCIpKSxcbiAgICAgICAgICAgIG1heCA9IHBhcnNlRmxvYXQoaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIikpLFxuICAgICAgICAgICAgc3RlcCA9IHBhcnNlRmxvYXQoaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIpKSxcbiAgICAgICAgICAgIGN1clZhbHVlID0gcGFyc2VJbnQoaW5wdXQudmFsdWUsIDEwKSxcbiAgICAgICAgICAgIGRlbHRhID0gZS5kZWx0YSB8fCAoaXNLZXlEb3duID8gZS53aGljaCA9PT0gMzggPyAxIDogLTEgOiAwKTtcbiAgICAgICAgdmFyIG5ld1ZhbHVlID0gY3VyVmFsdWUgKyBzdGVwICogZGVsdGE7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dC52YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpbnB1dC52YWx1ZS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICB2YXIgaXNIb3VyRWxlbSA9IGlucHV0ID09PSBzZWxmLmhvdXJFbGVtZW50LFxuICAgICAgICAgICAgICBpc01pbnV0ZUVsZW0gPSBpbnB1dCA9PT0gc2VsZi5taW51dGVFbGVtZW50O1xuXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlIDwgbWluKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IG1heCArIG5ld1ZhbHVlICsgaW50KCFpc0hvdXJFbGVtKSArIChpbnQoaXNIb3VyRWxlbSkgJiYgaW50KCFzZWxmLmFtUE0pKTtcbiAgICAgICAgICAgIGlmIChpc01pbnV0ZUVsZW0pIGluY3JlbWVudE51bUlucHV0KHVuZGVmaW5lZCwgLTEsIHNlbGYuaG91ckVsZW1lbnQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobmV3VmFsdWUgPiBtYXgpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gaW5wdXQgPT09IHNlbGYuaG91ckVsZW1lbnQgPyBuZXdWYWx1ZSAtIG1heCAtIGludCghc2VsZi5hbVBNKSA6IG1pbjtcbiAgICAgICAgICAgIGlmIChpc01pbnV0ZUVsZW0pIGluY3JlbWVudE51bUlucHV0KHVuZGVmaW5lZCwgMSwgc2VsZi5ob3VyRWxlbWVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYuYW1QTSAmJiBpc0hvdXJFbGVtICYmIChzdGVwID09PSAxID8gbmV3VmFsdWUgKyBjdXJWYWx1ZSA9PT0gMjMgOiBNYXRoLmFicyhuZXdWYWx1ZSAtIGN1clZhbHVlKSA+IHN0ZXApKSB7XG4gICAgICAgICAgICBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVtpbnQoc2VsZi5hbVBNLnRleHRDb250ZW50ID09PSBzZWxmLmwxMG4uYW1QTVswXSldO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0LnZhbHVlID0gcGFkKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbml0KCk7XG4gICAgICByZXR1cm4gc2VsZjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBfZmxhdHBpY2tyKG5vZGVMaXN0LCBjb25maWcpIHtcbiAgICAgIHZhciBub2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5vZGVMaXN0KTtcbiAgICAgIHZhciBpbnN0YW5jZXMgPSBbXTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKFwiZGF0YS1mcC1vbWl0XCIpICE9PSBudWxsKSBjb250aW51ZTtcblxuICAgICAgICAgIGlmIChub2RlLl9mbGF0cGlja3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbm9kZS5fZmxhdHBpY2tyLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgbm9kZS5fZmxhdHBpY2tyID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5vZGUuX2ZsYXRwaWNrciA9IEZsYXRwaWNrckluc3RhbmNlKG5vZGUsIGNvbmZpZyB8fCB7fSk7XG4gICAgICAgICAgaW5zdGFuY2VzLnB1c2gobm9kZS5fZmxhdHBpY2tyKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluc3RhbmNlcy5sZW5ndGggPT09IDEgPyBpbnN0YW5jZXNbMF0gOiBpbnN0YW5jZXM7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgSFRNTENvbGxlY3Rpb24ucHJvdG90eXBlLmZsYXRwaWNrciA9IE5vZGVMaXN0LnByb3RvdHlwZS5mbGF0cGlja3IgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBfZmxhdHBpY2tyKHRoaXMsIGNvbmZpZyk7XG4gICAgICB9O1xuXG4gICAgICBIVE1MRWxlbWVudC5wcm90b3R5cGUuZmxhdHBpY2tyID0gZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgICByZXR1cm4gX2ZsYXRwaWNrcihbdGhpc10sIGNvbmZpZyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBmbGF0cGlja3IgPSBmdW5jdGlvbiBmbGF0cGlja3Ioc2VsZWN0b3IsIGNvbmZpZykge1xuICAgICAgaWYgKHNlbGVjdG9yIGluc3RhbmNlb2YgTm9kZUxpc3QpIHJldHVybiBfZmxhdHBpY2tyKHNlbGVjdG9yLCBjb25maWcpO2Vsc2UgaWYgKHR5cGVvZiBzZWxlY3RvciA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9mbGF0cGlja3Iod2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpLCBjb25maWcpO1xuICAgICAgcmV0dXJuIF9mbGF0cGlja3IoW3NlbGVjdG9yXSwgY29uZmlnKTtcbiAgICB9O1xuXG4gICAgZmxhdHBpY2tyLmRlZmF1bHRDb25maWcgPSBkZWZhdWx0cztcbiAgICBmbGF0cGlja3IubDEwbnMgPSB7XG4gICAgICBlbjogT2JqZWN0LmFzc2lnbih7fSwgZW5nbGlzaCksXG4gICAgICBkZWZhdWx0OiBPYmplY3QuYXNzaWduKHt9LCBlbmdsaXNoKVxuICAgIH07XG5cbiAgICBmbGF0cGlja3IubG9jYWxpemUgPSBmdW5jdGlvbiAobDEwbikge1xuICAgICAgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQgPSBPYmplY3QuYXNzaWduKHt9LCBmbGF0cGlja3IubDEwbnMuZGVmYXVsdCwgbDEwbik7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5zZXREZWZhdWx0cyA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmRlZmF1bHRDb25maWcsIGNvbmZpZyk7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5wYXJzZURhdGUgPSBjcmVhdGVEYXRlUGFyc2VyKHt9KTtcbiAgICBmbGF0cGlja3IuZm9ybWF0RGF0ZSA9IGNyZWF0ZURhdGVGb3JtYXR0ZXIoe30pO1xuICAgIGZsYXRwaWNrci5jb21wYXJlRGF0ZXMgPSBjb21wYXJlRGF0ZXM7XG5cbiAgICBpZiAodHlwZW9mIGpRdWVyeSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgalF1ZXJ5LmZuLmZsYXRwaWNrciA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIF9mbGF0cGlja3IodGhpcywgY29uZmlnKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgRGF0ZS5wcm90b3R5cGUuZnBfaW5jciA9IGZ1bmN0aW9uIChkYXlzKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUodGhpcy5nZXRGdWxsWWVhcigpLCB0aGlzLmdldE1vbnRoKCksIHRoaXMuZ2V0RGF0ZSgpICsgKHR5cGVvZiBkYXlzID09PSBcInN0cmluZ1wiID8gcGFyc2VJbnQoZGF5cywgMTApIDogZGF5cykpO1xuICAgIH07XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmZsYXRwaWNrciA9IGZsYXRwaWNrcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZmxhdHBpY2tyO1xuXG59KSkpO1xuXG5cbi8qKiovIH0pLFxuLyogMjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMzApO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihmYWxzZSkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9mbGF0cGlja3IuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9mbGF0cGlja3IuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cbi8qKiovIH0pLFxuLyogMzAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5mbGF0cGlja3ItY2FsZW5kYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvcGFjaXR5OjA7ZGlzcGxheTpub25lO3RleHQtYWxpZ246Y2VudGVyO3Zpc2liaWxpdHk6aGlkZGVuO3BhZGRpbmc6MDstd2Via2l0LWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lO2RpcmVjdGlvbjpsdHI7Ym9yZGVyOjA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjVweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozMDcuODc1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tcy10b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTYsLTFweCAwIDAgI2U2ZTZlNiwwIDFweCAwICNlNmU2ZTYsMCAtMXB4IDAgI2U2ZTZlNiwwIDNweCAxM3B4IHJnYmEoMCwwLDAsLjA4KTtib3gtc2hhZG93OjFweCAwIDAgI2U2ZTZlNiwtMXB4IDAgMCAjZTZlNmU2LDAgMXB4IDAgI2U2ZTZlNiwwIC0xcHggMCAjZTZlNmU2LDAgM3B4IDEzcHggcmdiYSgwLDAsMCwuMDgpfS5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5lLC5mbGF0cGlja3ItY2FsZW5kYXIub3BlbntvcGFjaXR5OjE7bWF4LWhlaWdodDo2NDBweDt2aXNpYmlsaXR5OnZpc2libGV9LmZsYXRwaWNrci1jYWxlbmRhci5vcGVue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6OTk5OTl9LmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlLm9wZW57LXdlYmtpdC1hbmltYXRpb246ZnBGYWRlSW5Eb3duIC4zcyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpO2FuaW1hdGlvbjpmcEZhZGVJbkRvd24gLjNzIGN1YmljLWJlemllciguMjMsMSwuMzIsMSl9LmZsYXRwaWNrci1jYWxlbmRhci5pbmxpbmV7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MnB4fS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGlje3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDEwMCUgKyAycHgpfS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljLm9wZW57ei1pbmRleDo5OTk7ZGlzcGxheTpibG9ja30uZmxhdHBpY2tyLWNhbGVuZGFyLm11bHRpTW9udGggLmZsYXRwaWNrci1kYXlzIC5kYXlDb250YWluZXI6bnRoLWNoaWxkKG4rMSkgLmZsYXRwaWNrci1kYXkuaW5SYW5nZTpudGgtY2hpbGQoN24rNyl7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzIpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzEpey13ZWJraXQtYm94LXNoYWRvdzotMnB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi0ycHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1RpbWUgLmRheUNvbnRhaW5lciwuZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVye2JvcmRlci1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVye2JvcmRlci1sZWZ0OjB9LmZsYXRwaWNrci1jYWxlbmRhci5zaG93VGltZUlucHV0Lmhhc1RpbWUgLmZsYXRwaWNrci10aW1le2hlaWdodDo0MHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5ub0NhbGVuZGFyLmhhc1RpbWUgLmZsYXRwaWNrci10aW1le2hlaWdodDphdXRvfS5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lO2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OlxcXCJcXFwiO2hlaWdodDowO3dpZHRoOjA7bGVmdDoyMnB4fS5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmJlZm9yZXtsZWZ0OmF1dG87cmlnaHQ6MjJweH0uZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZXtib3JkZXItd2lkdGg6NXB4O21hcmdpbjowIC01cHh9LmZsYXRwaWNrci1jYWxlbmRhcjphZnRlcntib3JkZXItd2lkdGg6NHB4O21hcmdpbjowIC00cHh9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZXtib3R0b206MTAwJX0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZXtib3JkZXItYm90dG9tLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlcntib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmJlZm9yZXt0b3A6MTAwJX0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlcntib3JkZXItdG9wLWNvbG9yOiNmZmZ9LmZsYXRwaWNrci1jYWxlbmRhcjpmb2N1c3tvdXRsaW5lOjB9LmZsYXRwaWNrci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5mbGF0cGlja3ItbW9udGhze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1tb250aHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnJnYmEoMCwwLDAsLjkpO2ZpbGw6cmdiYSgwLDAsMCwuOSk7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6MTt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoe3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xpbmUtaGVpZ2h0OjE2cHg7aGVpZ2h0OjI4cHg7cGFkZGluZzoxMHB4O3otaW5kZXg6Mztjb2xvcjpyZ2JhKDAsMCwwLC45KTtmaWxsOnJnYmEoMCwwLDAsLjkpfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5kaXNhYmxlZCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZGlzYWJsZWR7ZGlzcGxheTpub25lfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aCBpLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGh7bGVmdDowfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLW5leHQtbW9udGh7cmlnaHQ6MH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVye2NvbG9yOiM5NTllYTl9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoOmhvdmVyIHN2ZywuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGg6aG92ZXIgc3Zne2ZpbGw6I2Y2NDc0N30uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmd7d2lkdGg6MTRweDtoZWlnaHQ6MTRweH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnIHBhdGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoIHN2ZyBwYXRoey13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xczt0cmFuc2l0aW9uOmZpbGwgLjFzO2ZpbGw6aW5oZXJpdH0ubnVtSW5wdXRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDphdXRvfS5udW1JbnB1dFdyYXBwZXIgaW5wdXQsLm51bUlucHV0V3JhcHBlciBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5udW1JbnB1dFdyYXBwZXIgaW5wdXR7d2lkdGg6MTAwJX0ubnVtSW5wdXRXcmFwcGVyIGlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5udW1JbnB1dFdyYXBwZXIgc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3dpZHRoOjE0cHg7cGFkZGluZzowIDRweCAwIDJweDtoZWlnaHQ6NTAlO2xpbmUtaGVpZ2h0OjUwJTtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC4xNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5udW1JbnB1dFdyYXBwZXIgc3Bhbjpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpfS5udW1JbnB1dFdyYXBwZXIgc3BhbjphY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yKX0ubnVtSW5wdXRXcmFwcGVyIHNwYW46YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OlxcXCJcXFwiO3Bvc2l0aW9uOmFic29sdXRlfS5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1Vwe3RvcDowO2JvcmRlci1ib3R0b206MH0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlcntib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC42KTt0b3A6MjYlfS5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd257dG9wOjUwJX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NHB4IHNvbGlkIHJnYmEoNTcsNTcsNTcsLjYpO3RvcDo0MCV9Lm51bUlucHV0V3JhcHBlciBzcGFuIHN2Z3t3aWR0aDppbmhlcml0O2hlaWdodDphdXRvfS5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmcgcGF0aHtmaWxsOnJnYmEoMCwwLDAsLjUpfS5udW1JbnB1dFdyYXBwZXI6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNSl9Lm51bUlucHV0V3JhcHBlcjpob3ZlciBzcGFue29wYWNpdHk6MX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGh7Zm9udC1zaXplOjEzNSU7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXdlaWdodDozMDA7Y29sb3I6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo3NSU7bGVmdDoxMi41JTtwYWRkaW5nOjYuMTZweCAwIDA7bGluZS1oZWlnaHQ6MTtoZWlnaHQ6MjhweDtkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aHtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjppbmhlcml0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0Oi41Y2g7cGFkZGluZzowfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA1KX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlcnt3aWR0aDo2Y2g7d2lkdGg6N2NoXFxcXDA7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuOSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtjdXJzb3I6dGV4dDtwYWRkaW5nOjAgMCAwIC41Y2g7bWFyZ2luOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6aW5oZXJpdDtoZWlnaHQ6YXV0bztib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7dmVydGljYWwtYWxpZ246aW5pdGlhbH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXI6Zm9jdXN7b3V0bGluZTowfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyW2Rpc2FibGVkXTpob3Zlcntmb250LXNpemU6MTAwJTtjb2xvcjpyZ2JhKDAsMCwwLC41KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmV9LmZsYXRwaWNrci13ZWVrZGF5c3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoyOHB4fS5mbGF0cGlja3Itd2Vla2RheXMsLmZsYXRwaWNrci13ZWVrZGF5cyAuZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uZmxhdHBpY2tyLXdlZWtkYXlzIC5mbGF0cGlja3Itd2Vla2RheWNvbnRhaW5lcixzcGFuLmZsYXRwaWNrci13ZWVrZGF5ey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX1zcGFuLmZsYXRwaWNrci13ZWVrZGF5e2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZTo5MCU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDAsMCwwLC41NCk7bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OmJvbGRlcn0uZGF5Q29udGFpbmVyLC5mbGF0cGlja3Itd2Vla3N7cGFkZGluZzoxcHggMCAwfS5mbGF0cGlja3ItZGF5c3twb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt3aWR0aDozMDcuODc1cHh9LmZsYXRwaWNrci1kYXlzOmZvY3Vze291dGxpbmU6MH0uZGF5Q29udGFpbmVye3BhZGRpbmc6MDtvdXRsaW5lOjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjMwNy44NzVweDttaW4td2lkdGg6MzA3Ljg3NXB4O21heC13aWR0aDozMDcuODc1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7LW1zLWZsZXgtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfS5kYXlDb250YWluZXIrLmRheUNvbnRhaW5lcnstd2Via2l0LWJveC1zaGFkb3c6LTFweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi0xcHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci1kYXl7YmFja2dyb3VuZDpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxNTBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzM5MzkzOTtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo0MDA7d2lkdGg6MTQuMjg1NzE0MyU7LXdlYmtpdC1mbGV4LWJhc2lzOjE0LjI4NTcxNDMlOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjE0LjI4NTcxNDMlO2ZsZXgtYmFzaXM6MTQuMjg1NzE0MyU7bWF4LXdpZHRoOjM5cHg7aGVpZ2h0OjM5cHg7bGluZS1oZWlnaHQ6MzlweDttYXJnaW46MDtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uZmxhdHBpY2tyLWRheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpmb2N1cywuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6aG92ZXIsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LnRvZGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpob3ZlciwuZmxhdHBpY2tyLWRheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5OmhvdmVye2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtiYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1kYXkudG9kYXl7Ym9yZGVyLWNvbG9yOiM5NTllYTl9LmZsYXRwaWNrci1kYXkudG9kYXk6Zm9jdXMsLmZsYXRwaWNrci1kYXkudG9kYXk6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM5NTllYTk7YmFja2dyb3VuZDojOTU5ZWE5O2NvbG9yOiNmZmZ9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UucHJldk1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmZvY3VzLC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLmluUmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cywuZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpob3ZlciwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlOmZvY3VzLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6aG92ZXJ7YmFja2dyb3VuZDojNTY5ZmY3Oy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojNTY5ZmY3fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2V7Ym9yZGVyLXJhZGl1czo1MHB4IDAgMCA1MHB4fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuZW5kUmFuZ2V7Ym9yZGVyLXJhZGl1czowIDUwcHggNTBweCAwfS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UrLmVuZFJhbmdlOm5vdCg6bnRoLWNoaWxkKDduKzEpKSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSl7LXdlYmtpdC1ib3gtc2hhZG93Oi0xMHB4IDAgMCAjNTY5ZmY3O2JveC1zaGFkb3c6LTEwcHggMCAwICM1NjlmZjd9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5zdGFydFJhbmdlLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZXtib3JkZXItcmFkaXVzOjUwcHh9LmZsYXRwaWNrci1kYXkuaW5SYW5nZXtib3JkZXItcmFkaXVzOjA7LXdlYmtpdC1ib3gtc2hhZG93Oi01cHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2O2JveC1zaGFkb3c6LTVweCAwIDAgI2U2ZTZlNiw1cHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci1kYXkuZGlzYWJsZWQsLmZsYXRwaWNrci1kYXkuZGlzYWJsZWQ6aG92ZXIsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQsLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZC5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZC5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5e2NvbG9yOnJnYmEoNTcsNTcsNTcsLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0fS5mbGF0cGlja3ItZGF5LmRpc2FibGVkLC5mbGF0cGlja3ItZGF5LmRpc2FibGVkOmhvdmVye2N1cnNvcjpub3QtYWxsb3dlZDtjb2xvcjpyZ2JhKDU3LDU3LDU3LC4xKX0uZmxhdHBpY2tyLWRheS53ZWVrLnNlbGVjdGVke2JvcmRlci1yYWRpdXM6MDstd2Via2l0LWJveC1zaGFkb3c6LTVweCAwIDAgIzU2OWZmNyw1cHggMCAwICM1NjlmZjc7Ym94LXNoYWRvdzotNXB4IDAgMCAjNTY5ZmY3LDVweCAwIDAgIzU2OWZmN30uZmxhdHBpY2tyLWRheS5oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheXttYXJnaW4tdG9wOjFweH0uZmxhdHBpY2tyLXdlZWt3cmFwcGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnR9LmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtze3BhZGRpbmc6MCAxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTY7Ym94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXl7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO2xpbmUtaGVpZ2h0OjI4cHh9LmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXksLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXk6aG92ZXJ7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO2NvbG9yOnJnYmEoNTcsNTcsNTcsLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOmRlZmF1bHQ7Ym9yZGVyOm5vbmV9LmZsYXRwaWNrci1pbm5lckNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5mbGF0cGlja3ItaW5uZXJDb250YWluZXIsLmZsYXRwaWNrci1yQ29udGFpbmVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZmxhdHBpY2tyLXJDb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzowfS5mbGF0cGlja3ItdGltZXt0ZXh0LWFsaWduOmNlbnRlcjtvdXRsaW5lOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtsaW5lLWhlaWdodDo0MHB4O21heC1oZWlnaHQ6NDBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci10aW1lOmFmdGVye2NvbnRlbnQ6XFxcIlxcXCI7ZGlzcGxheTp0YWJsZTtjbGVhcjpib3RofS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTt3aWR0aDo0MCU7aGVpZ2h0OjQwcHg7ZmxvYXQ6bGVmdH0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzkzOTM5fS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci10b3AtY29sb3I6IzM5MzkzOX0uZmxhdHBpY2tyLXRpbWUuaGFzU2Vjb25kcyAubnVtSW5wdXRXcmFwcGVye3dpZHRoOjI2JX0uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlcnt3aWR0aDo0OSV9LmZsYXRwaWNrci10aW1lIGlucHV0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojMzkzOTM5O2ZvbnQtc2l6ZToxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLWhvdXJ7Zm9udC13ZWlnaHQ6NzAwfS5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3ItbWludXRlLC5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25ke2ZvbnQtd2VpZ2h0OjQwMH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQ6Zm9jdXN7b3V0bGluZTowO2JvcmRlcjowfS5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtLC5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9ye2hlaWdodDppbmhlcml0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojMzkzOTM5O2ZvbnQtd2VpZ2h0OjcwMDt3aWR0aDoyJTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbXtvdXRsaW5lOjA7d2lkdGg6MTglO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjQwMH0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpmb2N1cywuZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3ZlciwuZmxhdHBpY2tyLXRpbWUgaW5wdXQ6Zm9jdXMsLmZsYXRwaWNrci10aW1lIGlucHV0OmhvdmVye2JhY2tncm91bmQ6I2YzZjNmM30uZmxhdHBpY2tyLWlucHV0W3JlYWRvbmx5XXtjdXJzb3I6cG9pbnRlcn1ALXdlYmtpdC1rZXlmcmFtZXMgZnBGYWRlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZwRmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19XCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cbi8qKiovIH0pXG4vKioqKioqLyBdKTtcbn0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWdjLWJhc2ljLmJ1bmRsZS5qcy5tYXAiLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5hcnJheS5mb3ItZWFjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuQXJyYXkuZm9yRWFjaDtcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5BcnJheS5pbmNsdWRlcztcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm51bWJlci5pcy1pbnRlZ2VyJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5OdW1iZXIuaXNJbnRlZ2VyO1xuIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5TdHJpbmcuc3RhcnRzV2l0aDtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSBmdW5jdGlvbiEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbiIsIi8vIDIyLjEuMy4zMSBBcnJheS5wcm90b3R5cGVbQEB1bnNjb3BhYmxlc11cbnZhciBVTlNDT1BBQkxFUyA9IHJlcXVpcmUoJy4vX3drcycpKCd1bnNjb3BhYmxlcycpO1xudmFyIEFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGU7XG5pZiAoQXJyYXlQcm90b1tVTlNDT1BBQkxFU10gPT0gdW5kZWZpbmVkKSByZXF1aXJlKCcuL19oaWRlJykoQXJyYXlQcm90bywgVU5TQ09QQUJMRVMsIHt9KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICBBcnJheVByb3RvW1VOU0NPUEFCTEVTXVtrZXldID0gdHJ1ZTtcbn07XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhbiBvYmplY3QhJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyBmYWxzZSAtPiBBcnJheSNpbmRleE9mXG4vLyB0cnVlICAtPiBBcnJheSNpbmNsdWRlc1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIHRvQWJzb2x1dGVJbmRleCA9IHJlcXVpcmUoJy4vX3RvLWFic29sdXRlLWluZGV4Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChJU19JTkNMVURFUykge1xuICByZXR1cm4gZnVuY3Rpb24gKCR0aGlzLCBlbCwgZnJvbUluZGV4KSB7XG4gICAgdmFyIE8gPSB0b0lPYmplY3QoJHRoaXMpO1xuICAgIHZhciBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gdG9BYnNvbHV0ZUluZGV4KGZyb21JbmRleCwgbGVuZ3RoKTtcbiAgICB2YXIgdmFsdWU7XG4gICAgLy8gQXJyYXkjaW5jbHVkZXMgdXNlcyBTYW1lVmFsdWVaZXJvIGVxdWFsaXR5IGFsZ29yaXRobVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBpZiAoSVNfSU5DTFVERVMgJiYgZWwgIT0gZWwpIHdoaWxlIChsZW5ndGggPiBpbmRleCkge1xuICAgICAgdmFsdWUgPSBPW2luZGV4KytdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgICAgaWYgKHZhbHVlICE9IHZhbHVlKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBBcnJheSNpbmRleE9mIGlnbm9yZXMgaG9sZXMsIEFycmF5I2luY2x1ZGVzIC0gbm90XG4gICAgfSBlbHNlIGZvciAoO2xlbmd0aCA+IGluZGV4OyBpbmRleCsrKSBpZiAoSVNfSU5DTFVERVMgfHwgaW5kZXggaW4gTykge1xuICAgICAgaWYgKE9baW5kZXhdID09PSBlbCkgcmV0dXJuIElTX0lOQ0xVREVTIHx8IGluZGV4IHx8IDA7XG4gICAgfSByZXR1cm4gIUlTX0lOQ0xVREVTICYmIC0xO1xuICB9O1xufTtcbiIsIi8vIDAgLT4gQXJyYXkjZm9yRWFjaFxuLy8gMSAtPiBBcnJheSNtYXBcbi8vIDIgLT4gQXJyYXkjZmlsdGVyXG4vLyAzIC0+IEFycmF5I3NvbWVcbi8vIDQgLT4gQXJyYXkjZXZlcnlcbi8vIDUgLT4gQXJyYXkjZmluZFxuLy8gNiAtPiBBcnJheSNmaW5kSW5kZXhcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciBhc2MgPSByZXF1aXJlKCcuL19hcnJheS1zcGVjaWVzLWNyZWF0ZScpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoVFlQRSwgJGNyZWF0ZSkge1xuICB2YXIgSVNfTUFQID0gVFlQRSA9PSAxO1xuICB2YXIgSVNfRklMVEVSID0gVFlQRSA9PSAyO1xuICB2YXIgSVNfU09NRSA9IFRZUEUgPT0gMztcbiAgdmFyIElTX0VWRVJZID0gVFlQRSA9PSA0O1xuICB2YXIgSVNfRklORF9JTkRFWCA9IFRZUEUgPT0gNjtcbiAgdmFyIE5PX0hPTEVTID0gVFlQRSA9PSA1IHx8IElTX0ZJTkRfSU5ERVg7XG4gIHZhciBjcmVhdGUgPSAkY3JlYXRlIHx8IGFzYztcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgY2FsbGJhY2tmbiwgdGhhdCkge1xuICAgIHZhciBPID0gdG9PYmplY3QoJHRoaXMpO1xuICAgIHZhciBzZWxmID0gSU9iamVjdChPKTtcbiAgICB2YXIgZiA9IGN0eChjYWxsYmFja2ZuLCB0aGF0LCAzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoc2VsZi5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgdmFyIHJlc3VsdCA9IElTX01BUCA/IGNyZWF0ZSgkdGhpcywgbGVuZ3RoKSA6IElTX0ZJTFRFUiA/IGNyZWF0ZSgkdGhpcywgMCkgOiB1bmRlZmluZWQ7XG4gICAgdmFyIHZhbCwgcmVzO1xuICAgIGZvciAoO2xlbmd0aCA+IGluZGV4OyBpbmRleCsrKSBpZiAoTk9fSE9MRVMgfHwgaW5kZXggaW4gc2VsZikge1xuICAgICAgdmFsID0gc2VsZltpbmRleF07XG4gICAgICByZXMgPSBmKHZhbCwgaW5kZXgsIE8pO1xuICAgICAgaWYgKFRZUEUpIHtcbiAgICAgICAgaWYgKElTX01BUCkgcmVzdWx0W2luZGV4XSA9IHJlczsgICAvLyBtYXBcbiAgICAgICAgZWxzZSBpZiAocmVzKSBzd2l0Y2ggKFRZUEUpIHtcbiAgICAgICAgICBjYXNlIDM6IHJldHVybiB0cnVlOyAgICAgICAgICAgICAvLyBzb21lXG4gICAgICAgICAgY2FzZSA1OiByZXR1cm4gdmFsOyAgICAgICAgICAgICAgLy8gZmluZFxuICAgICAgICAgIGNhc2UgNjogcmV0dXJuIGluZGV4OyAgICAgICAgICAgIC8vIGZpbmRJbmRleFxuICAgICAgICAgIGNhc2UgMjogcmVzdWx0LnB1c2godmFsKTsgICAgICAgIC8vIGZpbHRlclxuICAgICAgICB9IGVsc2UgaWYgKElTX0VWRVJZKSByZXR1cm4gZmFsc2U7IC8vIGV2ZXJ5XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBJU19GSU5EX0lOREVYID8gLTEgOiBJU19TT01FIHx8IElTX0VWRVJZID8gSVNfRVZFUlkgOiByZXN1bHQ7XG4gIH07XG59O1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJy4vX2lzLWFycmF5Jyk7XG52YXIgU1BFQ0lFUyA9IHJlcXVpcmUoJy4vX3drcycpKCdzcGVjaWVzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9yaWdpbmFsKSB7XG4gIHZhciBDO1xuICBpZiAoaXNBcnJheShvcmlnaW5hbCkpIHtcbiAgICBDID0gb3JpZ2luYWwuY29uc3RydWN0b3I7XG4gICAgLy8gY3Jvc3MtcmVhbG0gZmFsbGJhY2tcbiAgICBpZiAodHlwZW9mIEMgPT0gJ2Z1bmN0aW9uJyAmJiAoQyA9PT0gQXJyYXkgfHwgaXNBcnJheShDLnByb3RvdHlwZSkpKSBDID0gdW5kZWZpbmVkO1xuICAgIGlmIChpc09iamVjdChDKSkge1xuICAgICAgQyA9IENbU1BFQ0lFU107XG4gICAgICBpZiAoQyA9PT0gbnVsbCkgQyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gcmV0dXJuIEMgPT09IHVuZGVmaW5lZCA/IEFycmF5IDogQztcbn07XG4iLCIvLyA5LjQuMi4zIEFycmF5U3BlY2llc0NyZWF0ZShvcmlnaW5hbEFycmF5LCBsZW5ndGgpXG52YXIgc3BlY2llc0NvbnN0cnVjdG9yID0gcmVxdWlyZSgnLi9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3RvcicpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCwgbGVuZ3RoKSB7XG4gIHJldHVybiBuZXcgKHNwZWNpZXNDb25zdHJ1Y3RvcihvcmlnaW5hbCkpKGxlbmd0aCk7XG59O1xuIiwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGl0KS5zbGljZSg4LCAtMSk7XG59O1xuIiwidmFyIGNvcmUgPSBtb2R1bGUuZXhwb3J0cyA9IHsgdmVyc2lvbjogJzIuNi41JyB9O1xuaWYgKHR5cGVvZiBfX2UgPT0gJ251bWJlcicpIF9fZSA9IGNvcmU7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsIi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCB0aGF0LCBsZW5ndGgpIHtcbiAgYUZ1bmN0aW9uKGZuKTtcbiAgaWYgKHRoYXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZuO1xuICBzd2l0Y2ggKGxlbmd0aCkge1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmN0aW9uIChhKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhKTtcbiAgICB9O1xuICAgIGNhc2UgMjogcmV0dXJuIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiKTtcbiAgICB9O1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiLCBjKTtcbiAgICB9O1xuICB9XG4gIHJldHVybiBmdW5jdGlvbiAoLyogLi4uYXJncyAqLykge1xuICAgIHJldHVybiBmbi5hcHBseSh0aGF0LCBhcmd1bWVudHMpO1xuICB9O1xufTtcbiIsIi8vIDcuMi4xIFJlcXVpcmVPYmplY3RDb2VyY2libGUoYXJndW1lbnQpXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgPT0gdW5kZWZpbmVkKSB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAgXCIgKyBpdCk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyBUaGFuaydzIElFOCBmb3IgaGlzIGZ1bm55IGRlZmluZVByb3BlcnR5XG5tb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGRvY3VtZW50ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuZG9jdW1lbnQ7XG4vLyB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBpcyAnb2JqZWN0JyBpbiBvbGQgSUVcbnZhciBpcyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpcyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbnZhciAkZXhwb3J0ID0gZnVuY3Rpb24gKHR5cGUsIG5hbWUsIHNvdXJjZSkge1xuICB2YXIgSVNfRk9SQ0VEID0gdHlwZSAmICRleHBvcnQuRjtcbiAgdmFyIElTX0dMT0JBTCA9IHR5cGUgJiAkZXhwb3J0Lkc7XG4gIHZhciBJU19TVEFUSUMgPSB0eXBlICYgJGV4cG9ydC5TO1xuICB2YXIgSVNfUFJPVE8gPSB0eXBlICYgJGV4cG9ydC5QO1xuICB2YXIgSVNfQklORCA9IHR5cGUgJiAkZXhwb3J0LkI7XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gfHwgKGdsb2JhbFtuYW1lXSA9IHt9KSA6IChnbG9iYWxbbmFtZV0gfHwge30pW1BST1RPVFlQRV07XG4gIHZhciBleHBvcnRzID0gSVNfR0xPQkFMID8gY29yZSA6IGNvcmVbbmFtZV0gfHwgKGNvcmVbbmFtZV0gPSB7fSk7XG4gIHZhciBleHBQcm90byA9IGV4cG9ydHNbUFJPVE9UWVBFXSB8fCAoZXhwb3J0c1tQUk9UT1RZUEVdID0ge30pO1xuICB2YXIga2V5LCBvd24sIG91dCwgZXhwO1xuICBpZiAoSVNfR0xPQkFMKSBzb3VyY2UgPSBuYW1lO1xuICBmb3IgKGtleSBpbiBzb3VyY2UpIHtcbiAgICAvLyBjb250YWlucyBpbiBuYXRpdmVcbiAgICBvd24gPSAhSVNfRk9SQ0VEICYmIHRhcmdldCAmJiB0YXJnZXRba2V5XSAhPT0gdW5kZWZpbmVkO1xuICAgIC8vIGV4cG9ydCBuYXRpdmUgb3IgcGFzc2VkXG4gICAgb3V0ID0gKG93biA/IHRhcmdldCA6IHNvdXJjZSlba2V5XTtcbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIGV4cCA9IElTX0JJTkQgJiYgb3duID8gY3R4KG91dCwgZ2xvYmFsKSA6IElTX1BST1RPICYmIHR5cGVvZiBvdXQgPT0gJ2Z1bmN0aW9uJyA/IGN0eChGdW5jdGlvbi5jYWxsLCBvdXQpIDogb3V0O1xuICAgIC8vIGV4dGVuZCBnbG9iYWxcbiAgICBpZiAodGFyZ2V0KSByZWRlZmluZSh0YXJnZXQsIGtleSwgb3V0LCB0eXBlICYgJGV4cG9ydC5VKTtcbiAgICAvLyBleHBvcnRcbiAgICBpZiAoZXhwb3J0c1trZXldICE9IG91dCkgaGlkZShleHBvcnRzLCBrZXksIGV4cCk7XG4gICAgaWYgKElTX1BST1RPICYmIGV4cFByb3RvW2tleV0gIT0gb3V0KSBleHBQcm90b1trZXldID0gb3V0O1xuICB9XG59O1xuZ2xvYmFsLmNvcmUgPSBjb3JlO1xuLy8gdHlwZSBiaXRtYXBcbiRleHBvcnQuRiA9IDE7ICAgLy8gZm9yY2VkXG4kZXhwb3J0LkcgPSAyOyAgIC8vIGdsb2JhbFxuJGV4cG9ydC5TID0gNDsgICAvLyBzdGF0aWNcbiRleHBvcnQuUCA9IDg7ICAgLy8gcHJvdG9cbiRleHBvcnQuQiA9IDE2OyAgLy8gYmluZFxuJGV4cG9ydC5XID0gMzI7ICAvLyB3cmFwXG4kZXhwb3J0LlUgPSA2NDsgIC8vIHNhZmVcbiRleHBvcnQuUiA9IDEyODsgLy8gcmVhbCBwcm90byBtZXRob2QgZm9yIGBsaWJyYXJ5YFxubW9kdWxlLmV4cG9ydHMgPSAkZXhwb3J0O1xuIiwidmFyIE1BVENIID0gcmVxdWlyZSgnLi9fd2tzJykoJ21hdGNoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVkpIHtcbiAgdmFyIHJlID0gLy4vO1xuICB0cnkge1xuICAgICcvLi8nW0tFWV0ocmUpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlW01BVENIXSA9IGZhbHNlO1xuICAgICAgcmV0dXJuICEnLy4vJ1tLRVldKHJlKTtcbiAgICB9IGNhdGNoIChmKSB7IC8qIGVtcHR5ICovIH1cbiAgfSByZXR1cm4gdHJ1ZTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCduYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nJywgRnVuY3Rpb24udG9TdHJpbmcpO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIiwidmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcbiIsInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgJiYgIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcXVpcmUoJy4vX2RvbS1jcmVhdGUnKSgnZGl2JyksICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCIvLyBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIGFuZCBub24tZW51bWVyYWJsZSBvbGQgVjggc3RyaW5nc1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QoJ3onKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKSA/IE9iamVjdCA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gY29mKGl0KSA9PSAnU3RyaW5nJyA/IGl0LnNwbGl0KCcnKSA6IE9iamVjdChpdCk7XG59O1xuIiwiLy8gNy4yLjIgSXNBcnJheShhcmd1bWVudClcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbm1vZHVsZS5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiBpc0FycmF5KGFyZykge1xuICByZXR1cm4gY29mKGFyZykgPT0gJ0FycmF5Jztcbn07XG4iLCIvLyAyMC4xLjIuMyBOdW1iZXIuaXNJbnRlZ2VyKG51bWJlcilcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNJbnRlZ2VyKGl0KSB7XG4gIHJldHVybiAhaXNPYmplY3QoaXQpICYmIGlzRmluaXRlKGl0KSAmJiBmbG9vcihpdCkgPT09IGl0O1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0eXBlb2YgaXQgPT09ICdvYmplY3QnID8gaXQgIT09IG51bGwgOiB0eXBlb2YgaXQgPT09ICdmdW5jdGlvbic7XG59O1xuIiwiLy8gNy4yLjggSXNSZWdFeHAoYXJndW1lbnQpXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbnZhciBNQVRDSCA9IHJlcXVpcmUoJy4vX3drcycpKCdtYXRjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIGlzUmVnRXhwO1xuICByZXR1cm4gaXNPYmplY3QoaXQpICYmICgoaXNSZWdFeHAgPSBpdFtNQVRDSF0pICE9PSB1bmRlZmluZWQgPyAhIWlzUmVnRXhwIDogY29mKGl0KSA9PSAnUmVnRXhwJyk7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmYWxzZTtcbiIsInZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGRQID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG5leHBvcnRzLmYgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcykge1xuICBhbk9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBhbk9iamVjdChBdHRyaWJ1dGVzKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBkUChPLCBQLCBBdHRyaWJ1dGVzKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmICgnZ2V0JyBpbiBBdHRyaWJ1dGVzIHx8ICdzZXQnIGluIEF0dHJpYnV0ZXMpIHRocm93IFR5cGVFcnJvcignQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQhJyk7XG4gIGlmICgndmFsdWUnIGluIEF0dHJpYnV0ZXMpIE9bUF0gPSBBdHRyaWJ1dGVzLnZhbHVlO1xuICByZXR1cm4gTztcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgU1JDID0gcmVxdWlyZSgnLi9fdWlkJykoJ3NyYycpO1xudmFyICR0b1N0cmluZyA9IHJlcXVpcmUoJy4vX2Z1bmN0aW9uLXRvLXN0cmluZycpO1xudmFyIFRPX1NUUklORyA9ICd0b1N0cmluZyc7XG52YXIgVFBMID0gKCcnICsgJHRvU3RyaW5nKS5zcGxpdChUT19TVFJJTkcpO1xuXG5yZXF1aXJlKCcuL19jb3JlJykuaW5zcGVjdFNvdXJjZSA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gJHRvU3RyaW5nLmNhbGwoaXQpO1xufTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE8sIGtleSwgdmFsLCBzYWZlKSB7XG4gIHZhciBpc0Z1bmN0aW9uID0gdHlwZW9mIHZhbCA9PSAnZnVuY3Rpb24nO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgJ25hbWUnKSB8fCBoaWRlKHZhbCwgJ25hbWUnLCBrZXkpO1xuICBpZiAoT1trZXldID09PSB2YWwpIHJldHVybjtcbiAgaWYgKGlzRnVuY3Rpb24pIGhhcyh2YWwsIFNSQykgfHwgaGlkZSh2YWwsIFNSQywgT1trZXldID8gJycgKyBPW2tleV0gOiBUUEwuam9pbihTdHJpbmcoa2V5KSkpO1xuICBpZiAoTyA9PT0gZ2xvYmFsKSB7XG4gICAgT1trZXldID0gdmFsO1xuICB9IGVsc2UgaWYgKCFzYWZlKSB7XG4gICAgZGVsZXRlIE9ba2V5XTtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfSBlbHNlIGlmIChPW2tleV0pIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSB7XG4gICAgaGlkZShPLCBrZXksIHZhbCk7XG4gIH1cbi8vIGFkZCBmYWtlIEZ1bmN0aW9uI3RvU3RyaW5nIGZvciBjb3JyZWN0IHdvcmsgd3JhcHBlZCBtZXRob2RzIC8gY29uc3RydWN0b3JzIHdpdGggbWV0aG9kcyBsaWtlIExvRGFzaCBpc05hdGl2ZVxufSkoRnVuY3Rpb24ucHJvdG90eXBlLCBUT19TVFJJTkcsIGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICByZXR1cm4gdHlwZW9mIHRoaXMgPT0gJ2Z1bmN0aW9uJyAmJiB0aGlzW1NSQ10gfHwgJHRvU3RyaW5nLmNhbGwodGhpcyk7XG59KTtcbiIsInZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIFNIQVJFRCA9ICdfX2NvcmUtanNfc2hhcmVkX18nO1xudmFyIHN0b3JlID0gZ2xvYmFsW1NIQVJFRF0gfHwgKGdsb2JhbFtTSEFSRURdID0ge30pO1xuXG4obW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICByZXR1cm4gc3RvcmVba2V5XSB8fCAoc3RvcmVba2V5XSA9IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHt9KTtcbn0pKCd2ZXJzaW9ucycsIFtdKS5wdXNoKHtcbiAgdmVyc2lvbjogY29yZS52ZXJzaW9uLFxuICBtb2RlOiByZXF1aXJlKCcuL19saWJyYXJ5JykgPyAncHVyZScgOiAnZ2xvYmFsJyxcbiAgY29weXJpZ2h0OiAnwqkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSdcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobWV0aG9kLCBhcmcpIHtcbiAgcmV0dXJuICEhbWV0aG9kICYmIGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jYWxsXG4gICAgYXJnID8gbWV0aG9kLmNhbGwobnVsbCwgZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9LCAxKSA6IG1ldGhvZC5jYWxsKG51bGwpO1xuICB9KTtcbn07XG4iLCIvLyBoZWxwZXIgZm9yIFN0cmluZyN7c3RhcnRzV2l0aCwgZW5kc1dpdGgsIGluY2x1ZGVzfVxudmFyIGlzUmVnRXhwID0gcmVxdWlyZSgnLi9faXMtcmVnZXhwJyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGhhdCwgc2VhcmNoU3RyaW5nLCBOQU1FKSB7XG4gIGlmIChpc1JlZ0V4cChzZWFyY2hTdHJpbmcpKSB0aHJvdyBUeXBlRXJyb3IoJ1N0cmluZyMnICsgTkFNRSArIFwiIGRvZXNuJ3QgYWNjZXB0IHJlZ2V4IVwiKTtcbiAgcmV0dXJuIFN0cmluZyhkZWZpbmVkKHRoYXQpKTtcbn07XG4iLCJ2YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIG1heCA9IE1hdGgubWF4O1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaW5kZXgsIGxlbmd0aCkge1xuICBpbmRleCA9IHRvSW50ZWdlcihpbmRleCk7XG4gIHJldHVybiBpbmRleCA8IDAgPyBtYXgoaW5kZXggKyBsZW5ndGgsIDApIDogbWluKGluZGV4LCBsZW5ndGgpO1xufTtcbiIsIi8vIDcuMS40IFRvSW50ZWdlclxudmFyIGNlaWwgPSBNYXRoLmNlaWw7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzTmFOKGl0ID0gK2l0KSA/IDAgOiAoaXQgPiAwID8gZmxvb3IgOiBjZWlsKShpdCk7XG59O1xuIiwiLy8gdG8gaW5kZXhlZCBvYmplY3QsIHRvT2JqZWN0IHdpdGggZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBzdHJpbmdzXG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIElPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbiIsIi8vIDcuMS4xNSBUb0xlbmd0aFxudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpdCA+IDAgPyBtaW4odG9JbnRlZ2VyKGl0KSwgMHgxZmZmZmZmZmZmZmZmZikgOiAwOyAvLyBwb3coMiwgNTMpIC0gMSA9PSA5MDA3MTk5MjU0NzQwOTkxXG59O1xuIiwiLy8gNy4xLjEzIFRvT2JqZWN0KGFyZ3VtZW50KVxudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4iLCIvLyA3LjEuMSBUb1ByaW1pdGl2ZShpbnB1dCBbLCBQcmVmZXJyZWRUeXBlXSlcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuLy8gaW5zdGVhZCBvZiB0aGUgRVM2IHNwZWMgdmVyc2lvbiwgd2UgZGlkbid0IGltcGxlbWVudCBAQHRvUHJpbWl0aXZlIGNhc2Vcbi8vIGFuZCB0aGUgc2Vjb25kIGFyZ3VtZW50IC0gZmxhZyAtIHByZWZlcnJlZCB0eXBlIGlzIGEgc3RyaW5nXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgUykge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgcmV0dXJuIGl0O1xuICB2YXIgZm4sIHZhbDtcbiAgaWYgKFMgJiYgdHlwZW9mIChmbiA9IGl0LnRvU3RyaW5nKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICh0eXBlb2YgKGZuID0gaXQudmFsdWVPZikgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAoIVMgJiYgdHlwZW9mIChmbiA9IGl0LnRvU3RyaW5nKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZVwiKTtcbn07XG4iLCJ2YXIgaWQgPSAwO1xudmFyIHB4ID0gTWF0aC5yYW5kb20oKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gJ1N5bWJvbCgnLmNvbmNhdChrZXkgPT09IHVuZGVmaW5lZCA/ICcnIDoga2V5LCAnKV8nLCAoKytpZCArIHB4KS50b1N0cmluZygzNikpO1xufTtcbiIsInZhciBzdG9yZSA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCd3a3MnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbnZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5TeW1ib2w7XG52YXIgVVNFX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT0gJ2Z1bmN0aW9uJztcblxudmFyICRleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gc3RvcmVbbmFtZV0gfHwgKHN0b3JlW25hbWVdID1cbiAgICBVU0VfU1lNQk9MICYmIFN5bWJvbFtuYW1lXSB8fCAoVVNFX1NZTUJPTCA/IFN5bWJvbCA6IHVpZCkoJ1N5bWJvbC4nICsgbmFtZSkpO1xufTtcblxuJGV4cG9ydHMuc3RvcmUgPSBzdG9yZTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGZvckVhY2ggPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMCk7XG52YXIgU1RSSUNUID0gcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLmZvckVhY2gsIHRydWUpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqICFTVFJJQ1QsICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjEwIC8gMTUuNC40LjE4IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIGZvckVhY2g6IGZ1bmN0aW9uIGZvckVhY2goY2FsbGJhY2tmbiAvKiAsIHRoaXNBcmcgKi8pIHtcbiAgICByZXR1cm4gJGZvckVhY2godGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIvLyAyMC4xLjIuMyBOdW1iZXIuaXNJbnRlZ2VyKG51bWJlcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywgeyBpc0ludGVnZXI6IHJlcXVpcmUoJy4vX2lzLWludGVnZXInKSB9KTtcbiIsIi8vIDIxLjEuMy4xOCBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nIFssIHBvc2l0aW9uIF0pXG4ndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY29udGV4dCA9IHJlcXVpcmUoJy4vX3N0cmluZy1jb250ZXh0Jyk7XG52YXIgU1RBUlRTX1dJVEggPSAnc3RhcnRzV2l0aCc7XG52YXIgJHN0YXJ0c1dpdGggPSAnJ1tTVEFSVFNfV0lUSF07XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMtaXMtcmVnZXhwJykoU1RBUlRTX1dJVEgpLCAnU3RyaW5nJywge1xuICBzdGFydHNXaXRoOiBmdW5jdGlvbiBzdGFydHNXaXRoKHNlYXJjaFN0cmluZyAvKiAsIHBvc2l0aW9uID0gMCAqLykge1xuICAgIHZhciB0aGF0ID0gY29udGV4dCh0aGlzLCBzZWFyY2hTdHJpbmcsIFNUQVJUU19XSVRIKTtcbiAgICB2YXIgaW5kZXggPSB0b0xlbmd0aChNYXRoLm1pbihhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCwgdGhhdC5sZW5ndGgpKTtcbiAgICB2YXIgc2VhcmNoID0gU3RyaW5nKHNlYXJjaFN0cmluZyk7XG4gICAgcmV0dXJuICRzdGFydHNXaXRoXG4gICAgICA/ICRzdGFydHNXaXRoLmNhbGwodGhhdCwgc2VhcmNoLCBpbmRleClcbiAgICAgIDogdGhhdC5zbGljZShpbmRleCwgaW5kZXggKyBzZWFyY2gubGVuZ3RoKSA9PT0gc2VhcmNoO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L0FycmF5LnByb3RvdHlwZS5pbmNsdWRlc1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkaW5jbHVkZXMgPSByZXF1aXJlKCcuL19hcnJheS1pbmNsdWRlcycpKHRydWUpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0FycmF5Jywge1xuICBpbmNsdWRlczogZnVuY3Rpb24gaW5jbHVkZXMoZWwgLyogLCBmcm9tSW5kZXggPSAwICovKSB7XG4gICAgcmV0dXJuICRpbmNsdWRlcyh0aGlzLCBlbCwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcblxucmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJykoJ2luY2x1ZGVzJyk7XG4iLCIndXNlIHN0cmljdCc7XG4vKipcbiAqIFtSZWN1cnNpdmVseSBwYXJzZXMgYSBzdHJpbmdpZmllZCBKU09OXVxuICogQHBhcmFtICB7W3R5cGVdfSBqc29uU3RyaW5nIFtzdHJpbmdpZmllZCBqc29uIHRvIHBhcnNlXVxuICogQHJldHVybiB7W3R5cGVdfSAgICAgICAgICAgIFtub3JtYWxpemVkIEphdmFzY3JpcHQgb2JqZWN0XVxuICovXG5mdW5jdGlvbiBkZWVwUGFyc2VKc29uKGpzb25TdHJpbmcpIHtcbiAgLy8gaWYgbm90IHN0cmluZ2lmaWVkIGpzb24gcmF0aGVyIGEgc2ltcGxlIHN0cmluZyB2YWx1ZSB0aGVuIEpTT04ucGFyc2Ugd2lsbCB0aHJvdyBlcnJvclxuICAvLyBvdGhlcndpc2UgY29udGludWUgcmVjdXJzaW9uXG4gIGlmICh0eXBlb2YganNvblN0cmluZyA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlZXBQYXJzZUpzb24oSlNPTi5wYXJzZShqc29uU3RyaW5nKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4ganNvblN0cmluZztcbiAgICB9XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShqc29uU3RyaW5nKSkge1xuICAgIC8vIGlmIGFuIGFycmF5IGlzIHJlY2VpdmVkLCBtYXAgb3ZlciB0aGUgYXJyYXkgYW5kIGRlZXBQYXJzZSBlYWNoIHZhbHVlXG4gICAgcmV0dXJuIGpzb25TdHJpbmcubWFwKHZhbCA9PiBkZWVwUGFyc2VKc29uKHZhbCkpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBqc29uU3RyaW5nID09PSAnb2JqZWN0JyAmJiBqc29uU3RyaW5nICE9PSBudWxsKSB7XG4gICAgLy8gaWYgYW4gb2JqZWN0IGlzIHJlY2VpdmVkIHRoZW4gZGVlcFBhcnNlIGVhY2ggZWxlbWVudCBpbiB0aGUgb2JqZWN0XG4gICAgLy8gdHlwZW9mIG51bGwgcmV0dXJucyAnb2JqZWN0JyB0b28sIHNvIHdlIGhhdmUgdG8gZWxpbWluYXRlIHRoYXRcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoanNvblN0cmluZykucmVkdWNlKChvYmosIGtleSkgPT4ge1xuICAgICAgb2JqW2tleV0gPSBkZWVwUGFyc2VKc29uKGpzb25TdHJpbmdba2V5XSk7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sIHt9KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBvdGhlcndpc2UgcmV0dXJuIHdoYXRldmVyIHdhcyByZWNlaXZlZFxuICAgIHJldHVybiBqc29uU3RyaW5nO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBkZWVwUGFyc2VKc29uIH07XG4iLCJpZighZ2xvYmFsW1wiQmFzaXNcIl0pIGdsb2JhbFtcIkJhc2lzXCJdID0ge307XG5tb2R1bGUuZXhwb3J0cyA9IGdsb2JhbFtcIkJhc2lzXCJdW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IHJlcXVpcmUoXCItIS4vYWdjLWJhc2ljLmJ1bmRsZS5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IGdsb2JhbFtcImpzc1wiXSA9IHJlcXVpcmUoXCItIS4vanNzLmpzXCIpOyIsIi8qXG4gKiBKU1MgdjAuNiAtIEphdmFTY3JpcHQgU3R5bGVzaGVldHNcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9Cb3g5L2pzc1xuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMSwgRGF2aWQgVGFuZ1xuICogTUlUIExpY2Vuc2VkIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocClcbiAqL1xudmFyIGpzcyA9IChmdW5jdGlvbigpIHtcbiAgICB2YXIgYWRqU2VsQXR0clJlZ2V4ID0gLygoPzpcXC58IylbXlxcLlxccyNdKykoKD86XFwufCMpW15cXC5cXHMjXSspL2c7XG4gICAgdmFyIGRvdWJsZUNvbG9uUHNldWRvRWxSZWdleCA9IC8oOjopKGJlZm9yZXxhZnRlcnxmaXJzdC1saW5lfGZpcnN0LWxldHRlcnxzZWxlY3Rpb24pLztcbiAgICB2YXIgc2luZ2xlQ29sb25Qc2V1ZG9FbFJlZ2V4ID0gLyhbXjpdKSg6KShiZWZvcmV8YWZ0ZXJ8Zmlyc3QtbGluZXxmaXJzdC1sZXR0ZXJ8c2VsZWN0aW9uKS87XG4gICAgdmFyIHNpbmdsZUNvbG9uRm9yUHNldWRvRWxlbWVudHM7IC8vIGZsYWcgZm9yIG9sZGVyIGJyb3dzZXJzXG5cbiAgICBmdW5jdGlvbiBnZXRTZWxlY3RvcnNBbmRSdWxlcyhzaGVldCkge1xuICAgICAgICB2YXIgcnVsZXMgPSBzaGVldC5jc3NSdWxlcyB8fCBzaGVldC5ydWxlcyB8fCBbXTtcbiAgICAgICAgdmFyIHJlc3VsdHMgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgLy8gT2xkZXIgYnJvd3NlcnMgYW5kIEZGIHJlcG9ydCBwc2V1ZG8gZWxlbWVudCBzZWxlY3RvcnMgaW4gYW4gb3V0ZGF0ZWQgZm9ybWF0XG4gICAgICAgICAgICB2YXIgc2VsZWN0b3JUZXh0ID0gdG9Eb3VibGVDb2xvblBzZXVkb0VsZW1lbnRzKHJ1bGVzW2ldLnNlbGVjdG9yVGV4dCk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdHNbc2VsZWN0b3JUZXh0XSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdHNbc2VsZWN0b3JUZXh0XSA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0c1tzZWxlY3RvclRleHRdLnB1c2goe1xuICAgICAgICAgICAgICAgIHNoZWV0OiBzaGVldCxcbiAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICBzdHlsZTogcnVsZXNbaV0uc3R5bGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFJ1bGVzKHNoZWV0LCBzZWxlY3Rvcikge1xuICAgICAgICB2YXIgcnVsZXMgPSBzaGVldC5jc3NSdWxlcyB8fCBzaGVldC5ydWxlcyB8fCBbXTtcbiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgICAgICAgLy8gQnJvd3NlcnMgcmVwb3J0IHNlbGVjdG9ycyBpbiBsb3dlcmNhc2VcbiAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgc2VsZWN0b3JUZXh0ID0gcnVsZXNbaV0uc2VsZWN0b3JUZXh0O1xuICAgICAgICAgICAgLy8gTm90ZSAtIGNlcnRhaW4gcnVsZXMgKGUuZy4gQHJ1bGVzKSBkb24ndCBoYXZlIHNlbGVjdG9yVGV4dFxuICAgICAgICAgICAgaWYgKHNlbGVjdG9yVGV4dCAmJiAoc2VsZWN0b3JUZXh0ID09IHNlbGVjdG9yIHx8IHNlbGVjdG9yVGV4dCA9PSBzd2FwQWRqU2VsQXR0cihzZWxlY3RvcikgfHwgc2VsZWN0b3JUZXh0ID09IHN3YXBQc2V1ZG9FbFN5bnRheChzZWxlY3RvcikpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgc2hlZXQ6IHNoZWV0LFxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2ldLnN0eWxlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWRkUnVsZShzaGVldCwgc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHJ1bGVzID0gc2hlZXQuY3NzUnVsZXMgfHwgc2hlZXQucnVsZXMgfHwgW107XG4gICAgICAgIHZhciBpbmRleCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgICAgdmFyIHBzZXVkb0VsZW1lbnRSdWxlID0gYWRkUHNldWRvRWxlbWVudFJ1bGUoc2hlZXQsIHNlbGVjdG9yLCBydWxlcywgaW5kZXgpO1xuXG4gICAgICAgIGlmICghcHNldWRvRWxlbWVudFJ1bGUpIHtcbiAgICAgICAgICAgIGFkZFJ1bGVUb1NoZWV0KHNoZWV0LCBzZWxlY3RvciwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hlZXQ6IHNoZWV0LFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2luZGV4XS5zdHlsZVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBhZGRSdWxlVG9TaGVldChzaGVldCwgc2VsZWN0b3IsIGluZGV4KSB7XG4gICAgICAgIGlmIChzaGVldC5pbnNlcnRSdWxlKSB7XG4gICAgICAgICAgICBzaGVldC5pbnNlcnRSdWxlKHNlbGVjdG9yICsgJyB7IH0nLCBpbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaGVldC5hZGRSdWxlKHNlbGVjdG9yLCBudWxsLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYW5kbGVzIHNpbmdsZSBjb2xvbiBzeW50YXggZm9yIG9sZGVyIGJyb3dzZXJzIGFuZCBidWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5NjUxXG4gICAgZnVuY3Rpb24gYWRkUHNldWRvRWxlbWVudFJ1bGUoc2hlZXQsIHNlbGVjdG9yLCBydWxlcywgaW5kZXgpIHtcbiAgICAgICAgdmFyIGRvdWJsZUNvbG9uU2VsZWN0b3I7XG4gICAgICAgIHZhciBzaW5nbGVDb2xvblNlbGVjdG9yO1xuXG4gICAgICAgIGlmIChkb3VibGVDb2xvblBzZXVkb0VsUmVnZXguZXhlYyhzZWxlY3RvcikpIHtcbiAgICAgICAgICAgIGRvdWJsZUNvbG9uU2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgICAgICAgICAgIHNpbmdsZUNvbG9uU2VsZWN0b3IgPSB0b1NpbmdsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpO1xuICAgICAgICB9IGVsc2UgaWYgKHNpbmdsZUNvbG9uUHNldWRvRWxSZWdleC5leGVjKHNlbGVjdG9yKSkge1xuICAgICAgICAgICAgZG91YmxlQ29sb25TZWxlY3RvciA9IHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcik7XG4gICAgICAgICAgICBzaW5nbGVDb2xvblNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIE5vdCBkZWFsaW5nIHdpdGggYSBwc2V1ZG8gZWxlbWVudFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgICAgICAvLyBBc3N1bWUgbW9kZXJuIGJyb3dzZXIgYW5kIHRoZW4gY2hlY2sgaWYgc3VjY2Vzc2Z1bFxuICAgICAgICAgICAgYWRkUnVsZVRvU2hlZXQoc2hlZXQsIGRvdWJsZUNvbG9uU2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgICAgIGlmIChydWxlcy5sZW5ndGggPD0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc2luZ2xlQ29sb25Gb3JQc2V1ZG9FbGVtZW50cykge1xuICAgICAgICAgICAgYWRkUnVsZVRvU2hlZXQoc2hlZXQsIHNpbmdsZUNvbG9uU2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3IucmVwbGFjZShzaW5nbGVDb2xvblBzZXVkb0VsUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCwgc3VibWF0Y2gxLCBzdWJtYXRjaDIsIHN1Ym1hdGNoMykge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1hdGNoMSArICc6OicgKyBzdWJtYXRjaDM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvU2luZ2xlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3IucmVwbGFjZShkb3VibGVDb2xvblBzZXVkb0VsUmVnZXgsIGZ1bmN0aW9uKG1hdGNoLCBzdWJtYXRjaDEsIHN1Ym1hdGNoMikge1xuICAgICAgICAgICAgcmV0dXJuICc6JyArIHN1Ym1hdGNoMjtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW1vdmVSdWxlKHJ1bGUpIHtcbiAgICAgICAgdmFyIHNoZWV0ID0gcnVsZS5zaGVldDtcbiAgICAgICAgaWYgKHNoZWV0LmRlbGV0ZVJ1bGUpIHtcbiAgICAgICAgICAgIHNoZWV0LmRlbGV0ZVJ1bGUocnVsZS5pbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hlZXQucmVtb3ZlUnVsZSkge1xuICAgICAgICAgICAgc2hlZXQucmVtb3ZlUnVsZShydWxlLmluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGV4dGVuZChkZXN0LCBzcmMpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIHNyYykge1xuICAgICAgICAgICAgaWYgKCFzcmMuaGFzT3duUHJvcGVydHkoa2V5KSlcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGRlc3Rba2V5XSA9IHNyY1trZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFnZ3JlZ2F0ZVN0eWxlcyhydWxlcykge1xuICAgICAgICB2YXIgYWdncmVnYXRlID0ge307XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGV4dGVuZChhZ2dyZWdhdGUsIGRlY2xhcmVkUHJvcGVydGllcyhydWxlc1tpXS5zdHlsZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhZ2dyZWdhdGU7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGVjbGFyZWRQcm9wZXJ0aWVzKHN0eWxlKSB7XG4gICAgICAgIHZhciBkZWNsYXJlZCA9IHt9O1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBkZWNsYXJlZFtzdHlsZVtpXV0gPSBzdHlsZVt0b0NhbWVsQ2FzZShzdHlsZVtpXSldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWNsYXJlZDtcbiAgICB9XG5cbiAgICAvLyBJRTkgc3RvcmVzIHJ1bGVzIHdpdGggYXR0cmlidXRlcyAoY2xhc3NlcyBvciBJRCdzKSBhZGphY2VudCBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIgYXMgZGVmaW5lZFxuICAgIC8vIGNhdXNpbmcgdGhlbSB0byBub3QgYmUgZm91bmQsIHNvIHRoaXMgbWV0aG9kIHN3YXBzIFsjfC5dc2VsMVsjfC5dc2VsMiB0byBiZWNvbWUgWyN8Ll1zZWwyWyN8Ll1zZWwxXG4gICAgZnVuY3Rpb24gc3dhcEFkalNlbEF0dHIoc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHN3YXAgPSAnJztcbiAgICAgICAgdmFyIGxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IGFkalNlbEF0dHJSZWdleC5leGVjKHNlbGVjdG9yKSkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKG1hdGNoWzBdID09PSAnJylcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyaW5nKGxhc3RJbmRleCwgbWF0Y2guaW5kZXgpO1xuICAgICAgICAgICAgc3dhcCArPSBzZWxlY3Rvci5zdWJzdHIobWF0Y2guaW5kZXggKyBtYXRjaFsxXS5sZW5ndGgsIG1hdGNoWzJdLmxlbmd0aCk7XG4gICAgICAgICAgICBzd2FwICs9IHNlbGVjdG9yLnN1YnN0cihtYXRjaC5pbmRleCwgbWF0Y2hbMV0ubGVuZ3RoKTtcbiAgICAgICAgICAgIGxhc3RJbmRleCA9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyKGxhc3RJbmRleCk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gc3dhcDtcbiAgICB9O1xuXG4gICAgLy8gRkYgYW5kIG9sZGVyIGJyb3dzZXJzIHN0b3JlIHJ1bGVzIHdpdGggcHNldWRvIGVsZW1lbnRzIHVzaW5nIHNpbmdsZS1jb2xvbiBzeW50YXhcbiAgICBmdW5jdGlvbiBzd2FwUHNldWRvRWxTeW50YXgoc2VsZWN0b3IpIHtcbiAgICAgICAgaWYgKGRvdWJsZUNvbG9uUHNldWRvRWxSZWdleC5leGVjKHNlbGVjdG9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvU2luZ2xlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldFN0eWxlUHJvcGVydGllcyhydWxlLCBwcm9wZXJ0aWVzKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBwcm9wZXJ0aWVzW2tleV07XG4gICAgICAgICAgICB2YXIgaW1wb3J0YW50SW5kZXggPSB2YWx1ZS5pbmRleE9mKCcgIWltcG9ydGFudCcpO1xuXG4gICAgICAgICAgICAvLyBNb2Rlcm4gYnJvd3NlcnMgc2VlbSB0byBoYW5kbGUgb3ZlcnJpZGVzIGZpbmUsIGJ1dCBJRTkgZG9lc24ndFxuICAgICAgICAgICAgcnVsZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShrZXkpOyBcbiAgICAgICAgICAgIGlmIChpbXBvcnRhbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICBydWxlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUuc3Vic3RyKDAsIGltcG9ydGFudEluZGV4KSwgJ2ltcG9ydGFudCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBydWxlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9DYW1lbENhc2Uoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvLShbYS16XSkvZywgZnVuY3Rpb24gKG1hdGNoLCBzdWJtYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1hdGNoLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUNhbWVsQ2FzZWRQcm9wZXJ0eU5hbWVzKG9sZFByb3BzKSB7XG4gICAgICAgIHZhciBuZXdQcm9wcyA9IHt9O1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb2xkUHJvcHMpIHtcbiAgICAgICAgICAgIG5ld1Byb3BzW3VuQ2FtZWxDYXNlKGtleSldID0gb2xkUHJvcHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3UHJvcHM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdW5DYW1lbENhc2Uoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFtBLVpdKS9nLCBmdW5jdGlvbihtYXRjaCwgc3VibWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiAnLScgKyBzdWJtYXRjaC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgSnNzID0gZnVuY3Rpb24oZG9jKSB7XG4gICAgICAgIHRoaXMuZG9jID0gZG9jO1xuICAgICAgICB0aGlzLmhlYWQgPSB0aGlzLmRvYy5oZWFkIHx8IHRoaXMuZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gICAgICAgIHRoaXMuc2hlZXRzID0gdGhpcy5kb2Muc3R5bGVTaGVldHMgfHwgW107XG4gICAgfTtcblxuICAgIEpzcy5wcm90b3R5cGUgPSB7XG4gICAgICAgIC8vIFJldHVybnMgSlNTIHJ1bGVzIChzZWxlY3RvciBpcyBvcHRpb25hbClcbiAgICAgICAgZ2V0OiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRTaGVldCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBhZ2dyZWdhdGVTdHlsZXMoZ2V0UnVsZXModGhpcy5kZWZhdWx0U2hlZXQsIHNlbGVjdG9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRTZWxlY3RvcnNBbmRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCk7XG4gICAgICAgICAgICBmb3IgKHNlbGVjdG9yIGluIHJ1bGVzKSB7XG4gICAgICAgICAgICAgICAgcnVsZXNbc2VsZWN0b3JdID0gYWdncmVnYXRlU3R5bGVzKHJ1bGVzW3NlbGVjdG9yXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcnVsZXM7XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFJldHVybnMgYWxsIHJ1bGVzIChzZWxlY3RvciBpcyByZXF1aXJlZClcbiAgICAgICAgZ2V0QWxsOiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7fTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zaGVldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBleHRlbmQocHJvcGVydGllcywgYWdncmVnYXRlU3R5bGVzKGdldFJ1bGVzKHRoaXMuc2hlZXRzW2ldLCBzZWxlY3RvcikpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgICAgICB9LFxuICAgICAgICAvLyBBZGRzIEpTUyBydWxlcyBmb3IgdGhlIHNlbGVjdG9yIGJhc2VkIG9uIHRoZSBnaXZlbiBwcm9wZXJ0aWVzXG4gICAgICAgIHNldDogZnVuY3Rpb24oc2VsZWN0b3IsIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0U2hlZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRTaGVldCA9IHRoaXMuX2NyZWF0ZVNoZWV0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9wZXJ0aWVzID0gdHJhbnNmb3JtQ2FtZWxDYXNlZFByb3BlcnR5TmFtZXMocHJvcGVydGllcyk7XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpO1xuICAgICAgICAgICAgaWYgKCFydWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBydWxlcyA9IFthZGRSdWxlKHRoaXMuZGVmYXVsdFNoZWV0LCBzZWxlY3RvcildO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHNldFN0eWxlUHJvcGVydGllcyhydWxlc1tpXSwgcHJvcGVydGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFJlbW92ZXMgSlNTIHJ1bGVzIChzZWxlY3RvciBpcyBvcHRpb25hbClcbiAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRTaGVldClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpZiAoIXNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlU2hlZXQodGhpcy5kZWZhdWx0U2hlZXQpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRlZmF1bHRTaGVldDtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHJlbW92ZVJ1bGUocnVsZXNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGVzLmxlbmd0aDtcbiAgICAgICAgfSxcbiAgICAgICAgX2NyZWF0ZVNoZWV0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZU5vZGUgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgc3R5bGVOb2RlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgc3R5bGVOb2RlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgICAgIHRoaXMuaGVhZC5hcHBlbmRDaGlsZChzdHlsZU5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlTm9kZS5zaGVldDtcbiAgICAgICAgfSxcbiAgICAgICAgX3JlbW92ZVNoZWV0OiBmdW5jdGlvbihzaGVldCkge1xuICAgICAgICAgICAgdmFyIG5vZGUgPSBzaGVldC5vd25lck5vZGU7XG4gICAgICAgICAgICBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGV4cG9ydHMgPSBuZXcgSnNzKGRvY3VtZW50KTtcbiAgICBleHBvcnRzLmZvckRvY3VtZW50ID0gZnVuY3Rpb24oZG9jKSB7XG4gICAgICAgIHJldHVybiBuZXcgSnNzKGRvYyk7XG4gICAgfTtcbiAgICByZXR1cm4gZXhwb3J0cztcbn0pKCk7XG5cbnR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzICYmIChtb2R1bGUuZXhwb3J0cyA9IGpzcyk7IC8vIENvbW1vbkpTIHN1cHBvcnQiLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgU3ltYm9sID0gcm9vdC5TeW1ib2w7XG5cbm1vZHVsZS5leHBvcnRzID0gU3ltYm9sO1xuIiwiLyoqXG4gKiBBIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBgRnVuY3Rpb24jYXBwbHlgLCB0aGlzIGZ1bmN0aW9uIGludm9rZXMgYGZ1bmNgXG4gKiB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiBgdGhpc0FyZ2AgYW5kIHRoZSBhcmd1bWVudHMgb2YgYGFyZ3NgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzdWx0IG9mIGBmdW5jYC5cbiAqL1xuZnVuY3Rpb24gYXBwbHkoZnVuYywgdGhpc0FyZywgYXJncykge1xuICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcpO1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdKTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jLmNhbGwodGhpc0FyZywgYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICB9XG4gIHJldHVybiBmdW5jLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFwcGx5O1xuIiwidmFyIGJhc2VUaW1lcyA9IHJlcXVpcmUoJy4vX2Jhc2VUaW1lcycpLFxuICAgIGlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9pc0FyZ3VtZW50cycpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc0J1ZmZlciA9IHJlcXVpcmUoJy4vaXNCdWZmZXInKSxcbiAgICBpc0luZGV4ID0gcmVxdWlyZSgnLi9faXNJbmRleCcpLFxuICAgIGlzVHlwZWRBcnJheSA9IHJlcXVpcmUoJy4vaXNUeXBlZEFycmF5Jyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiB0aGUgYXJyYXktbGlrZSBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5oZXJpdGVkIFNwZWNpZnkgcmV0dXJuaW5nIGluaGVyaXRlZCBwcm9wZXJ0eSBuYW1lcy5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGFycmF5TGlrZUtleXModmFsdWUsIGluaGVyaXRlZCkge1xuICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKSxcbiAgICAgIGlzQXJnID0gIWlzQXJyICYmIGlzQXJndW1lbnRzKHZhbHVlKSxcbiAgICAgIGlzQnVmZiA9ICFpc0FyciAmJiAhaXNBcmcgJiYgaXNCdWZmZXIodmFsdWUpLFxuICAgICAgaXNUeXBlID0gIWlzQXJyICYmICFpc0FyZyAmJiAhaXNCdWZmICYmIGlzVHlwZWRBcnJheSh2YWx1ZSksXG4gICAgICBza2lwSW5kZXhlcyA9IGlzQXJyIHx8IGlzQXJnIHx8IGlzQnVmZiB8fCBpc1R5cGUsXG4gICAgICByZXN1bHQgPSBza2lwSW5kZXhlcyA/IGJhc2VUaW1lcyh2YWx1ZS5sZW5ndGgsIFN0cmluZykgOiBbXSxcbiAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgaWYgKChpbmhlcml0ZWQgfHwgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkgJiZcbiAgICAgICAgIShza2lwSW5kZXhlcyAmJiAoXG4gICAgICAgICAgIC8vIFNhZmFyaSA5IGhhcyBlbnVtZXJhYmxlIGBhcmd1bWVudHMubGVuZ3RoYCBpbiBzdHJpY3QgbW9kZS5cbiAgICAgICAgICAga2V5ID09ICdsZW5ndGgnIHx8XG4gICAgICAgICAgIC8vIE5vZGUuanMgMC4xMCBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiBidWZmZXJzLlxuICAgICAgICAgICAoaXNCdWZmICYmIChrZXkgPT0gJ29mZnNldCcgfHwga2V5ID09ICdwYXJlbnQnKSkgfHxcbiAgICAgICAgICAgLy8gUGhhbnRvbUpTIDIgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gdHlwZWQgYXJyYXlzLlxuICAgICAgICAgICAoaXNUeXBlICYmIChrZXkgPT0gJ2J1ZmZlcicgfHwga2V5ID09ICdieXRlTGVuZ3RoJyB8fCBrZXkgPT0gJ2J5dGVPZmZzZXQnKSkgfHxcbiAgICAgICAgICAgLy8gU2tpcCBpbmRleCBwcm9wZXJ0aWVzLlxuICAgICAgICAgICBpc0luZGV4KGtleSwgbGVuZ3RoKVxuICAgICAgICApKSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcnJheUxpa2VLZXlzO1xuIiwiLyoqXG4gKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ubWFwYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAqIHNob3J0aGFuZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIGFycmF5TWFwKGFycmF5LCBpdGVyYXRlZSkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoLFxuICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcnJheU1hcDtcbiIsInZhciBiYXNlQXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19iYXNlQXNzaWduVmFsdWUnKSxcbiAgICBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBBc3NpZ25zIGB2YWx1ZWAgdG8gYGtleWAgb2YgYG9iamVjdGAgaWYgdGhlIGV4aXN0aW5nIHZhbHVlIGlzIG5vdCBlcXVpdmFsZW50XG4gKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gKi9cbmZ1bmN0aW9uIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICB2YXIgb2JqVmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgaWYgKCEoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYgZXEob2JqVmFsdWUsIHZhbHVlKSkgfHxcbiAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICEoa2V5IGluIG9iamVjdCkpKSB7XG4gICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ25WYWx1ZTtcbiIsInZhciBkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX2RlZmluZVByb3BlcnR5Jyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYGFzc2lnblZhbHVlYCBhbmQgYGFzc2lnbk1lcmdlVmFsdWVgIHdpdGhvdXRcbiAqIHZhbHVlIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgPT0gJ19fcHJvdG9fXycgJiYgZGVmaW5lUHJvcGVydHkpIHtcbiAgICBkZWZpbmVQcm9wZXJ0eShvYmplY3QsIGtleSwge1xuICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAnZW51bWVyYWJsZSc6IHRydWUsXG4gICAgICAndmFsdWUnOiB2YWx1ZSxcbiAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUFzc2lnblZhbHVlO1xuIiwidmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX1N5bWJvbCcpLFxuICAgIGdldFJhd1RhZyA9IHJlcXVpcmUoJy4vX2dldFJhd1RhZycpLFxuICAgIG9iamVjdFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fb2JqZWN0VG9TdHJpbmcnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIG51bGxUYWcgPSAnW29iamVjdCBOdWxsXScsXG4gICAgdW5kZWZpbmVkVGFnID0gJ1tvYmplY3QgVW5kZWZpbmVkXSc7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHN5bVRvU3RyaW5nVGFnID0gU3ltYm9sID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBnZXRUYWdgIHdpdGhvdXQgZmFsbGJhY2tzIGZvciBidWdneSBlbnZpcm9ubWVudHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSkge1xuICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkVGFnIDogbnVsbFRhZztcbiAgfVxuICByZXR1cm4gKHN5bVRvU3RyaW5nVGFnICYmIHN5bVRvU3RyaW5nVGFnIGluIE9iamVjdCh2YWx1ZSkpXG4gICAgPyBnZXRSYXdUYWcodmFsdWUpXG4gICAgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUdldFRhZztcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXSc7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNBcmd1bWVudHNgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqL1xuZnVuY3Rpb24gYmFzZUlzQXJndW1lbnRzKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFyZ3NUYWc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUlzQXJndW1lbnRzO1xuIiwidmFyIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc01hc2tlZCA9IHJlcXVpcmUoJy4vX2lzTWFza2VkJyksXG4gICAgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0JyksXG4gICAgdG9Tb3VyY2UgPSByZXF1aXJlKCcuL190b1NvdXJjZScpO1xuXG4vKipcbiAqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGBcbiAqIFtzeW50YXggY2hhcmFjdGVyc10oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtcGF0dGVybnMpLlxuICovXG52YXIgcmVSZWdFeHBDaGFyID0gL1tcXFxcXiQuKis/KClbXFxde318XS9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaG9zdCBjb25zdHJ1Y3RvcnMgKFNhZmFyaSkuICovXG52YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZSxcbiAgICBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBpZiBhIG1ldGhvZCBpcyBuYXRpdmUuICovXG52YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cCgnXicgK1xuICBmdW5jVG9TdHJpbmcuY2FsbChoYXNPd25Qcm9wZXJ0eSkucmVwbGFjZShyZVJlZ0V4cENoYXIsICdcXFxcJCYnKVxuICAucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXFxcXCgpfCBmb3IgLis/KD89XFxcXFxcXSkvZywgJyQxLio/JykgKyAnJCdcbik7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbmF0aXZlIGZ1bmN0aW9uLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUlzTmF0aXZlKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpIHx8IGlzTWFza2VkKHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgcGF0dGVybiA9IGlzRnVuY3Rpb24odmFsdWUpID8gcmVJc05hdGl2ZSA6IHJlSXNIb3N0Q3RvcjtcbiAgcmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VJc05hdGl2ZTtcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzTGVuZ3RoID0gcmVxdWlyZSgnLi9pc0xlbmd0aCcpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgYXJyYXlUYWcgPSAnW29iamVjdCBBcnJheV0nLFxuICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgZGF0ZVRhZyA9ICdbb2JqZWN0IERhdGVdJyxcbiAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgbWFwVGFnID0gJ1tvYmplY3QgTWFwXScsXG4gICAgbnVtYmVyVGFnID0gJ1tvYmplY3QgTnVtYmVyXScsXG4gICAgb2JqZWN0VGFnID0gJ1tvYmplY3QgT2JqZWN0XScsXG4gICAgcmVnZXhwVGFnID0gJ1tvYmplY3QgUmVnRXhwXScsXG4gICAgc2V0VGFnID0gJ1tvYmplY3QgU2V0XScsXG4gICAgc3RyaW5nVGFnID0gJ1tvYmplY3QgU3RyaW5nXScsXG4gICAgd2Vha01hcFRhZyA9ICdbb2JqZWN0IFdlYWtNYXBdJztcblxudmFyIGFycmF5QnVmZmVyVGFnID0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJyxcbiAgICBkYXRhVmlld1RhZyA9ICdbb2JqZWN0IERhdGFWaWV3XScsXG4gICAgZmxvYXQzMlRhZyA9ICdbb2JqZWN0IEZsb2F0MzJBcnJheV0nLFxuICAgIGZsb2F0NjRUYWcgPSAnW29iamVjdCBGbG9hdDY0QXJyYXldJyxcbiAgICBpbnQ4VGFnID0gJ1tvYmplY3QgSW50OEFycmF5XScsXG4gICAgaW50MTZUYWcgPSAnW29iamVjdCBJbnQxNkFycmF5XScsXG4gICAgaW50MzJUYWcgPSAnW29iamVjdCBJbnQzMkFycmF5XScsXG4gICAgdWludDhUYWcgPSAnW29iamVjdCBVaW50OEFycmF5XScsXG4gICAgdWludDhDbGFtcGVkVGFnID0gJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICB1aW50MTZUYWcgPSAnW29iamVjdCBVaW50MTZBcnJheV0nLFxuICAgIHVpbnQzMlRhZyA9ICdbb2JqZWN0IFVpbnQzMkFycmF5XSc7XG5cbi8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIG9mIHR5cGVkIGFycmF5cy4gKi9cbnZhciB0eXBlZEFycmF5VGFncyA9IHt9O1xudHlwZWRBcnJheVRhZ3NbZmxvYXQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1tmbG9hdDY0VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQ4VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2ludDE2VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50OFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG50eXBlZEFycmF5VGFnc1thcmdzVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2FycmF5VGFnXSA9XG50eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9XG50eXBlZEFycmF5VGFnc1tkYXRhVmlld1RhZ10gPSB0eXBlZEFycmF5VGFnc1tkYXRlVGFnXSA9XG50eXBlZEFycmF5VGFnc1tlcnJvclRhZ10gPSB0eXBlZEFycmF5VGFnc1tmdW5jVGFnXSA9XG50eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9XG50eXBlZEFycmF5VGFnc1tvYmplY3RUYWddID0gdHlwZWRBcnJheVRhZ3NbcmVnZXhwVGFnXSA9XG50eXBlZEFycmF5VGFnc1tzZXRUYWddID0gdHlwZWRBcnJheVRhZ3Nbc3RyaW5nVGFnXSA9XG50eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzVHlwZWRBcnJheWAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBiYXNlSXNUeXBlZEFycmF5KHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmXG4gICAgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNUeXBlZEFycmF5O1xuIiwidmFyIGlzUHJvdG90eXBlID0gcmVxdWlyZSgnLi9faXNQcm90b3R5cGUnKSxcbiAgICBuYXRpdmVLZXlzID0gcmVxdWlyZSgnLi9fbmF0aXZlS2V5cycpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNgIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gYmFzZUtleXMob2JqZWN0KSB7XG4gIGlmICghaXNQcm90b3R5cGUob2JqZWN0KSkge1xuICAgIHJldHVybiBuYXRpdmVLZXlzKG9iamVjdCk7XG4gIH1cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBmb3IgKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUtleXM7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0JyksXG4gICAgaXNQcm90b3R5cGUgPSByZXF1aXJlKCcuL19pc1Byb3RvdHlwZScpLFxuICAgIG5hdGl2ZUtleXNJbiA9IHJlcXVpcmUoJy4vX25hdGl2ZUtleXNJbicpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNJbmAgd2hpY2ggZG9lc24ndCB0cmVhdCBzcGFyc2UgYXJyYXlzIGFzIGRlbnNlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBiYXNlS2V5c0luKG9iamVjdCkge1xuICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICByZXR1cm4gbmF0aXZlS2V5c0luKG9iamVjdCk7XG4gIH1cbiAgdmFyIGlzUHJvdG8gPSBpc1Byb3RvdHlwZShvYmplY3QpLFxuICAgICAgcmVzdWx0ID0gW107XG5cbiAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgIGlmICghKGtleSA9PSAnY29uc3RydWN0b3InICYmIChpc1Byb3RvIHx8ICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VLZXlzSW47XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnByb3BlcnR5T2ZgIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWNjZXNzb3IgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VQcm9wZXJ0eU9mKG9iamVjdCkge1xuICByZXR1cm4gZnVuY3Rpb24oa2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVByb3BlcnR5T2Y7XG4iLCJ2YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5JyksXG4gICAgb3ZlclJlc3QgPSByZXF1aXJlKCcuL19vdmVyUmVzdCcpLFxuICAgIHNldFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fc2V0VG9TdHJpbmcnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZXN0YCB3aGljaCBkb2Vzbid0IHZhbGlkYXRlIG9yIGNvZXJjZSBhcmd1bWVudHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gYmFzZVJlc3QoZnVuYywgc3RhcnQpIHtcbiAgcmV0dXJuIHNldFRvU3RyaW5nKG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCBpZGVudGl0eSksIGZ1bmMgKyAnJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVJlc3Q7XG4iLCJ2YXIgY29uc3RhbnQgPSByZXF1aXJlKCcuL2NvbnN0YW50JyksXG4gICAgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKCcuL19kZWZpbmVQcm9wZXJ0eScpLFxuICAgIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9pZGVudGl0eScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBzZXRUb1N0cmluZ2Agd2l0aG91dCBzdXBwb3J0IGZvciBob3QgbG9vcCBzaG9ydGluZy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtGdW5jdGlvbn0gc3RyaW5nIFRoZSBgdG9TdHJpbmdgIHJlc3VsdC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gKi9cbnZhciBiYXNlU2V0VG9TdHJpbmcgPSAhZGVmaW5lUHJvcGVydHkgPyBpZGVudGl0eSA6IGZ1bmN0aW9uKGZ1bmMsIHN0cmluZykge1xuICByZXR1cm4gZGVmaW5lUHJvcGVydHkoZnVuYywgJ3RvU3RyaW5nJywge1xuICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICdlbnVtZXJhYmxlJzogZmFsc2UsXG4gICAgJ3ZhbHVlJzogY29uc3RhbnQoc3RyaW5nKSxcbiAgICAnd3JpdGFibGUnOiB0cnVlXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlU2V0VG9TdHJpbmc7XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRpbWVzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHNcbiAqIG9yIG1heCBhcnJheSBsZW5ndGggY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIGludm9rZSBgaXRlcmF0ZWVgLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAqL1xuZnVuY3Rpb24gYmFzZVRpbWVzKG4sIGl0ZXJhdGVlKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgcmVzdWx0ID0gQXJyYXkobik7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBuKSB7XG4gICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGluZGV4KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VUaW1lcztcbiIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKSxcbiAgICBhcnJheU1hcCA9IHJlcXVpcmUoJy4vX2FycmF5TWFwJyksXG4gICAgaXNBcnJheSA9IHJlcXVpcmUoJy4vaXNBcnJheScpLFxuICAgIGlzU3ltYm9sID0gcmVxdWlyZSgnLi9pc1N5bWJvbCcpO1xuXG4vKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBJTkZJTklUWSA9IDEgLyAwO1xuXG4vKiogVXNlZCB0byBjb252ZXJ0IHN5bWJvbHMgdG8gcHJpbWl0aXZlcyBhbmQgc3RyaW5ncy4gKi9cbnZhciBzeW1ib2xQcm90byA9IFN5bWJvbCA/IFN5bWJvbC5wcm90b3R5cGUgOiB1bmRlZmluZWQsXG4gICAgc3ltYm9sVG9TdHJpbmcgPSBzeW1ib2xQcm90byA/IHN5bWJvbFByb3RvLnRvU3RyaW5nIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRvU3RyaW5nYCB3aGljaCBkb2Vzbid0IGNvbnZlcnQgbnVsbGlzaFxuICogdmFsdWVzIHRvIGVtcHR5IHN0cmluZ3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGJhc2VUb1N0cmluZyh2YWx1ZSkge1xuICAvLyBFeGl0IGVhcmx5IGZvciBzdHJpbmdzIHRvIGF2b2lkIGEgcGVyZm9ybWFuY2UgaGl0IGluIHNvbWUgZW52aXJvbm1lbnRzLlxuICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbnZlcnQgdmFsdWVzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgcmV0dXJuIGFycmF5TWFwKHZhbHVlLCBiYXNlVG9TdHJpbmcpICsgJyc7XG4gIH1cbiAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiBzeW1ib2xUb1N0cmluZyA/IHN5bWJvbFRvU3RyaW5nLmNhbGwodmFsdWUpIDogJyc7XG4gIH1cbiAgdmFyIHJlc3VsdCA9ICh2YWx1ZSArICcnKTtcbiAgcmV0dXJuIChyZXN1bHQgPT0gJzAnICYmICgxIC8gdmFsdWUpID09IC1JTkZJTklUWSkgPyAnLTAnIDogcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VUb1N0cmluZztcbiIsIi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5hcnlgIHdpdGhvdXQgc3VwcG9ydCBmb3Igc3RvcmluZyBtZXRhZGF0YS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2FwIGFyZ3VtZW50cyBmb3IuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjYXBwZWQgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VVbmFyeShmdW5jKSB7XG4gIHJldHVybiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVW5hcnk7XG4iLCJ2YXIgYXJyYXlNYXAgPSByZXF1aXJlKCcuL19hcnJheU1hcCcpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnZhbHVlc2AgYW5kIGBfLnZhbHVlc0luYCB3aGljaCBjcmVhdGVzIGFuXG4gKiBhcnJheSBvZiBgb2JqZWN0YCBwcm9wZXJ0eSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZXNcbiAqIG9mIGBwcm9wc2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBuYW1lcyB0byBnZXQgdmFsdWVzIGZvci5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QsIHByb3BzKSB7XG4gIHJldHVybiBhcnJheU1hcChwcm9wcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdFtrZXldO1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVmFsdWVzO1xuIiwidmFyIGFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYXNzaWduVmFsdWUnKSxcbiAgICBiYXNlQXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19iYXNlQXNzaWduVmFsdWUnKTtcblxuLyoqXG4gKiBDb3BpZXMgcHJvcGVydGllcyBvZiBgc291cmNlYCB0byBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tLlxuICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzIHRvIGNvcHkuXG4gKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb3BpZWQgdmFsdWVzLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAqL1xuZnVuY3Rpb24gY29weU9iamVjdChzb3VyY2UsIHByb3BzLCBvYmplY3QsIGN1c3RvbWl6ZXIpIHtcbiAgdmFyIGlzTmV3ID0gIW9iamVjdDtcbiAgb2JqZWN0IHx8IChvYmplY3QgPSB7fSk7XG5cbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBwcm9wcy5sZW5ndGg7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIga2V5ID0gcHJvcHNbaW5kZXhdO1xuXG4gICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplclxuICAgICAgPyBjdXN0b21pemVyKG9iamVjdFtrZXldLCBzb3VyY2Vba2V5XSwga2V5LCBvYmplY3QsIHNvdXJjZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG5ld1ZhbHVlID0gc291cmNlW2tleV07XG4gICAgfVxuICAgIGlmIChpc05ldykge1xuICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvYmplY3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY29weU9iamVjdDtcbiIsInZhciByb290ID0gcmVxdWlyZSgnLi9fcm9vdCcpO1xuXG4vKiogVXNlZCB0byBkZXRlY3Qgb3ZlcnJlYWNoaW5nIGNvcmUtanMgc2hpbXMuICovXG52YXIgY29yZUpzRGF0YSA9IHJvb3RbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNvcmVKc0RhdGE7XG4iLCJ2YXIgYmFzZVJlc3QgPSByZXF1aXJlKCcuL19iYXNlUmVzdCcpLFxuICAgIGlzSXRlcmF0ZWVDYWxsID0gcmVxdWlyZSgnLi9faXNJdGVyYXRlZUNhbGwnKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5hc3NpZ25gLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBhc3NpZ25lciBUaGUgZnVuY3Rpb24gdG8gYXNzaWduIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFzc2lnbmVyIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBjcmVhdGVBc3NpZ25lcihhc3NpZ25lcikge1xuICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IHNvdXJjZXMubGVuZ3RoLFxuICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoID4gMSA/IHNvdXJjZXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQsXG4gICAgICAgIGd1YXJkID0gbGVuZ3RoID4gMiA/IHNvdXJjZXNbMl0gOiB1bmRlZmluZWQ7XG5cbiAgICBjdXN0b21pemVyID0gKGFzc2lnbmVyLmxlbmd0aCA+IDMgJiYgdHlwZW9mIGN1c3RvbWl6ZXIgPT0gJ2Z1bmN0aW9uJylcbiAgICAgID8gKGxlbmd0aC0tLCBjdXN0b21pemVyKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc291cmNlc1swXSwgc291cmNlc1sxXSwgZ3VhcmQpKSB7XG4gICAgICBjdXN0b21pemVyID0gbGVuZ3RoIDwgMyA/IHVuZGVmaW5lZCA6IGN1c3RvbWl6ZXI7XG4gICAgICBsZW5ndGggPSAxO1xuICAgIH1cbiAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgdmFyIHNvdXJjZSA9IHNvdXJjZXNbaW5kZXhdO1xuICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICBhc3NpZ25lcihvYmplY3QsIHNvdXJjZSwgaW5kZXgsIGN1c3RvbWl6ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVBc3NpZ25lcjtcbiIsInZhciBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLmRlZmF1bHRzYCB0byBjdXN0b21pemUgaXRzIGBfLmFzc2lnbkluYCB1c2UgdG8gYXNzaWduIHByb3BlcnRpZXNcbiAqIG9mIHNvdXJjZSBvYmplY3RzIHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QgZm9yIGFsbCBkZXN0aW5hdGlvbiBwcm9wZXJ0aWVzXG4gKiB0aGF0IHJlc29sdmUgdG8gYHVuZGVmaW5lZGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gb2JqVmFsdWUgVGhlIGRlc3RpbmF0aW9uIHZhbHVlLlxuICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgc291cmNlIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBwYXJlbnQgb2JqZWN0IG9mIGBvYmpWYWx1ZWAuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgIChlcShvYmpWYWx1ZSwgb2JqZWN0UHJvdG9ba2V5XSkgJiYgIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpKSkge1xuICAgIHJldHVybiBzcmNWYWx1ZTtcbiAgfVxuICByZXR1cm4gb2JqVmFsdWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3VzdG9tRGVmYXVsdHNBc3NpZ25JbjtcbiIsInZhciBnZXROYXRpdmUgPSByZXF1aXJlKCcuL19nZXROYXRpdmUnKTtcblxudmFyIGRlZmluZVByb3BlcnR5ID0gKGZ1bmN0aW9uKCkge1xuICB0cnkge1xuICAgIHZhciBmdW5jID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2RlZmluZVByb3BlcnR5Jyk7XG4gICAgZnVuYyh7fSwgJycsIHt9KTtcbiAgICByZXR1cm4gZnVuYztcbiAgfSBjYXRjaCAoZSkge31cbn0oKSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZGVmaW5lUHJvcGVydHk7XG4iLCJ2YXIgYmFzZVByb3BlcnR5T2YgPSByZXF1aXJlKCcuL19iYXNlUHJvcGVydHlPZicpO1xuXG4vKiogVXNlZCB0byBtYXAgY2hhcmFjdGVycyB0byBIVE1MIGVudGl0aWVzLiAqL1xudmFyIGh0bWxFc2NhcGVzID0ge1xuICAnJic6ICcmYW1wOycsXG4gICc8JzogJyZsdDsnLFxuICAnPic6ICcmZ3Q7JyxcbiAgJ1wiJzogJyZxdW90OycsXG4gIFwiJ1wiOiAnJiMzOTsnXG59O1xuXG4vKipcbiAqIFVzZWQgYnkgYF8uZXNjYXBlYCB0byBjb252ZXJ0IGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IGNociBUaGUgbWF0Y2hlZCBjaGFyYWN0ZXIgdG8gZXNjYXBlLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gKi9cbnZhciBlc2NhcGVIdG1sQ2hhciA9IGJhc2VQcm9wZXJ0eU9mKGh0bWxFc2NhcGVzKTtcblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGVIdG1sQ2hhcjtcbiIsIi8qKiBVc2VkIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xudmFyIHN0cmluZ0VzY2FwZXMgPSB7XG4gICdcXFxcJzogJ1xcXFwnLFxuICBcIidcIjogXCInXCIsXG4gICdcXG4nOiAnbicsXG4gICdcXHInOiAncicsXG4gICdcXHUyMDI4JzogJ3UyMDI4JyxcbiAgJ1xcdTIwMjknOiAndTIwMjknXG59O1xuXG4vKipcbiAqIFVzZWQgYnkgYF8udGVtcGxhdGVgIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIGNoYXJhY3Rlci5cbiAqL1xuZnVuY3Rpb24gZXNjYXBlU3RyaW5nQ2hhcihjaHIpIHtcbiAgcmV0dXJuICdcXFxcJyArIHN0cmluZ0VzY2FwZXNbY2hyXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGVTdHJpbmdDaGFyO1xuIiwiLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBnbG9iYWxgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlR2xvYmFsID0gdHlwZW9mIGdsb2JhbCA9PSAnb2JqZWN0JyAmJiBnbG9iYWwgJiYgZ2xvYmFsLk9iamVjdCA9PT0gT2JqZWN0ICYmIGdsb2JhbDtcblxubW9kdWxlLmV4cG9ydHMgPSBmcmVlR2xvYmFsO1xuIiwidmFyIGJhc2VJc05hdGl2ZSA9IHJlcXVpcmUoJy4vX2Jhc2VJc05hdGl2ZScpLFxuICAgIGdldFZhbHVlID0gcmVxdWlyZSgnLi9fZ2V0VmFsdWUnKTtcblxuLyoqXG4gKiBHZXRzIHRoZSBuYXRpdmUgZnVuY3Rpb24gYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgbWV0aG9kIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBpZiBpdCdzIG5hdGl2ZSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAqL1xuZnVuY3Rpb24gZ2V0TmF0aXZlKG9iamVjdCwga2V5KSB7XG4gIHZhciB2YWx1ZSA9IGdldFZhbHVlKG9iamVjdCwga2V5KTtcbiAgcmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXROYXRpdmU7XG4iLCJ2YXIgb3ZlckFyZyA9IHJlcXVpcmUoJy4vX292ZXJBcmcnKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgZ2V0UHJvdG90eXBlID0gb3ZlckFyZyhPYmplY3QuZ2V0UHJvdG90eXBlT2YsIE9iamVjdCk7XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UHJvdG90eXBlO1xuIiwidmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX1N5bWJvbCcpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFVzZWQgdG8gcmVzb2x2ZSB0aGVcbiAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICogb2YgdmFsdWVzLlxuICovXG52YXIgbmF0aXZlT2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgc3ltVG9TdHJpbmdUYWcgPSBTeW1ib2wgPyBTeW1ib2wudG9TdHJpbmdUYWcgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlR2V0VGFnYCB3aGljaCBpZ25vcmVzIGBTeW1ib2wudG9TdHJpbmdUYWdgIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSByYXcgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gZ2V0UmF3VGFnKHZhbHVlKSB7XG4gIHZhciBpc093biA9IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHN5bVRvU3RyaW5nVGFnKSxcbiAgICAgIHRhZyA9IHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcblxuICB0cnkge1xuICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHVuZGVmaW5lZDtcbiAgICB2YXIgdW5tYXNrZWQgPSB0cnVlO1xuICB9IGNhdGNoIChlKSB7fVxuXG4gIHZhciByZXN1bHQgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgaWYgKHVubWFza2VkKSB7XG4gICAgaWYgKGlzT3duKSB7XG4gICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB0YWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UmF3VGFnO1xuIiwiLyoqXG4gKiBHZXRzIHRoZSB2YWx1ZSBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gZ2V0VmFsdWUob2JqZWN0LCBrZXkpIHtcbiAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VmFsdWU7XG4iLCIvKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBNQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xudmFyIHJlSXNVaW50ID0gL14oPzowfFsxLTldXFxkKikkLztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgaW5kZXguXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9TUFYX1NBRkVfSU5URUdFUl0gVGhlIHVwcGVyIGJvdW5kcyBvZiBhIHZhbGlkIGluZGV4LlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBpbmRleCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0luZGV4KHZhbHVlLCBsZW5ndGgpIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIGxlbmd0aCA9IGxlbmd0aCA9PSBudWxsID8gTUFYX1NBRkVfSU5URUdFUiA6IGxlbmd0aDtcblxuICByZXR1cm4gISFsZW5ndGggJiZcbiAgICAodHlwZSA9PSAnbnVtYmVyJyB8fFxuICAgICAgKHR5cGUgIT0gJ3N5bWJvbCcgJiYgcmVJc1VpbnQudGVzdCh2YWx1ZSkpKSAmJlxuICAgICAgICAodmFsdWUgPiAtMSAmJiB2YWx1ZSAlIDEgPT0gMCAmJiB2YWx1ZSA8IGxlbmd0aCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJbmRleDtcbiIsInZhciBlcSA9IHJlcXVpcmUoJy4vZXEnKSxcbiAgICBpc0FycmF5TGlrZSA9IHJlcXVpcmUoJy4vaXNBcnJheUxpa2UnKSxcbiAgICBpc0luZGV4ID0gcmVxdWlyZSgnLi9faXNJbmRleCcpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSB2YWx1ZSBhcmd1bWVudC5cbiAqIEBwYXJhbSB7Kn0gaW5kZXggVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBpbmRleCBvciBrZXkgYXJndW1lbnQuXG4gKiBAcGFyYW0geyp9IG9iamVjdCBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIG9iamVjdCBhcmd1bWVudC5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwsXG4gKiAgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0l0ZXJhdGVlQ2FsbCh2YWx1ZSwgaW5kZXgsIG9iamVjdCkge1xuICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHR5cGUgPSB0eXBlb2YgaW5kZXg7XG4gIGlmICh0eXBlID09ICdudW1iZXInXG4gICAgICAgID8gKGlzQXJyYXlMaWtlKG9iamVjdCkgJiYgaXNJbmRleChpbmRleCwgb2JqZWN0Lmxlbmd0aCkpXG4gICAgICAgIDogKHR5cGUgPT0gJ3N0cmluZycgJiYgaW5kZXggaW4gb2JqZWN0KVxuICAgICAgKSB7XG4gICAgcmV0dXJuIGVxKG9iamVjdFtpbmRleF0sIHZhbHVlKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJdGVyYXRlZUNhbGw7XG4iLCJ2YXIgY29yZUpzRGF0YSA9IHJlcXVpcmUoJy4vX2NvcmVKc0RhdGEnKTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG1ldGhvZHMgbWFzcXVlcmFkaW5nIGFzIG5hdGl2ZS4gKi9cbnZhciBtYXNrU3JjS2V5ID0gKGZ1bmN0aW9uKCkge1xuICB2YXIgdWlkID0gL1teLl0rJC8uZXhlYyhjb3JlSnNEYXRhICYmIGNvcmVKc0RhdGEua2V5cyAmJiBjb3JlSnNEYXRhLmtleXMuSUVfUFJPVE8gfHwgJycpO1xuICByZXR1cm4gdWlkID8gKCdTeW1ib2woc3JjKV8xLicgKyB1aWQpIDogJyc7XG59KCkpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgZnVuY2AgaGFzIGl0cyBzb3VyY2UgbWFza2VkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgZnVuY2AgaXMgbWFza2VkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzTWFza2VkKGZ1bmMpIHtcbiAgcmV0dXJuICEhbWFza1NyY0tleSAmJiAobWFza1NyY0tleSBpbiBmdW5jKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc01hc2tlZDtcbiIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGEgcHJvdG90eXBlIG9iamVjdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3RvdHlwZSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc1Byb3RvdHlwZSh2YWx1ZSkge1xuICB2YXIgQ3RvciA9IHZhbHVlICYmIHZhbHVlLmNvbnN0cnVjdG9yLFxuICAgICAgcHJvdG8gPSAodHlwZW9mIEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBDdG9yLnByb3RvdHlwZSkgfHwgb2JqZWN0UHJvdG87XG5cbiAgcmV0dXJuIHZhbHVlID09PSBwcm90bztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc1Byb3RvdHlwZTtcbiIsInZhciBvdmVyQXJnID0gcmVxdWlyZSgnLi9fb3ZlckFyZycpO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlS2V5cyA9IG92ZXJBcmcoT2JqZWN0LmtleXMsIE9iamVjdCk7XG5cbm1vZHVsZS5leHBvcnRzID0gbmF0aXZlS2V5cztcbiIsIi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlXG4gKiBbYE9iamVjdC5rZXlzYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gKiBleGNlcHQgdGhhdCBpdCBpbmNsdWRlcyBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBuYXRpdmVLZXlzSW4ob2JqZWN0KSB7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgaWYgKG9iamVjdCAhPSBudWxsKSB7XG4gICAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG5hdGl2ZUtleXNJbjtcbiIsInZhciBmcmVlR2xvYmFsID0gcmVxdWlyZSgnLi9fZnJlZUdsb2JhbCcpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgcHJvY2Vzc2AgZnJvbSBOb2RlLmpzLiAqL1xudmFyIGZyZWVQcm9jZXNzID0gbW9kdWxlRXhwb3J0cyAmJiBmcmVlR2xvYmFsLnByb2Nlc3M7XG5cbi8qKiBVc2VkIHRvIGFjY2VzcyBmYXN0ZXIgTm9kZS5qcyBoZWxwZXJzLiAqL1xudmFyIG5vZGVVdGlsID0gKGZ1bmN0aW9uKCkge1xuICB0cnkge1xuICAgIC8vIFVzZSBgdXRpbC50eXBlc2AgZm9yIE5vZGUuanMgMTArLlxuICAgIHZhciB0eXBlcyA9IGZyZWVNb2R1bGUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlICYmIGZyZWVNb2R1bGUucmVxdWlyZSgndXRpbCcpLnR5cGVzO1xuXG4gICAgaWYgKHR5cGVzKSB7XG4gICAgICByZXR1cm4gdHlwZXM7XG4gICAgfVxuXG4gICAgLy8gTGVnYWN5IGBwcm9jZXNzLmJpbmRpbmcoJ3V0aWwnKWAgZm9yIE5vZGUuanMgPCAxMC5cbiAgICByZXR1cm4gZnJlZVByb2Nlc3MgJiYgZnJlZVByb2Nlc3MuYmluZGluZyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nKCd1dGlsJyk7XG4gIH0gY2F0Y2ggKGUpIHt9XG59KCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG5vZGVVdGlsO1xuIiwiLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZyB1c2luZyBgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBvYmplY3RUb1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gb2JqZWN0VG9TdHJpbmc7XG4iLCIvKipcbiAqIENyZWF0ZXMgYSB1bmFyeSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggaXRzIGFyZ3VtZW50IHRyYW5zZm9ybWVkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSBhcmd1bWVudCB0cmFuc2Zvcm0uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gb3ZlckFyZyhmdW5jLCB0cmFuc2Zvcm0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiBmdW5jKHRyYW5zZm9ybShhcmcpKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvdmVyQXJnO1xuIiwidmFyIGFwcGx5ID0gcmVxdWlyZSgnLi9fYXBwbHknKTtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZU1heCA9IE1hdGgubWF4O1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZVJlc3RgIHdoaWNoIHRyYW5zZm9ybXMgdGhlIHJlc3QgYXJyYXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSB0cmFuc2Zvcm0gVGhlIHJlc3QgYXJyYXkgdHJhbnNmb3JtLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCB0cmFuc2Zvcm0pIHtcbiAgc3RhcnQgPSBuYXRpdmVNYXgoc3RhcnQgPT09IHVuZGVmaW5lZCA/IChmdW5jLmxlbmd0aCAtIDEpIDogc3RhcnQsIDApO1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1heChhcmdzLmxlbmd0aCAtIHN0YXJ0LCAwKSxcbiAgICAgICAgYXJyYXkgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGFycmF5W2luZGV4XSA9IGFyZ3Nbc3RhcnQgKyBpbmRleF07XG4gICAgfVxuICAgIGluZGV4ID0gLTE7XG4gICAgdmFyIG90aGVyQXJncyA9IEFycmF5KHN0YXJ0ICsgMSk7XG4gICAgd2hpbGUgKCsraW5kZXggPCBzdGFydCkge1xuICAgICAgb3RoZXJBcmdzW2luZGV4XSA9IGFyZ3NbaW5kZXhdO1xuICAgIH1cbiAgICBvdGhlckFyZ3Nbc3RhcnRdID0gdHJhbnNmb3JtKGFycmF5KTtcbiAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvdmVyUmVzdDtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVFc2NhcGUgPSAvPCUtKFtcXHNcXFNdKz8pJT4vZztcblxubW9kdWxlLmV4cG9ydHMgPSByZUVzY2FwZTtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVFdmFsdWF0ZSA9IC88JShbXFxzXFxTXSs/KSU+L2c7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVFdmFsdWF0ZTtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVJbnRlcnBvbGF0ZSA9IC88JT0oW1xcc1xcU10rPyklPi9nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlSW50ZXJwb2xhdGU7XG4iLCJ2YXIgZnJlZUdsb2JhbCA9IHJlcXVpcmUoJy4vX2ZyZWVHbG9iYWwnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbnZhciBmcmVlU2VsZiA9IHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuXG4vKiogVXNlZCBhcyBhIHJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4gKi9cbnZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJvb3Q7XG4iLCJ2YXIgYmFzZVNldFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fYmFzZVNldFRvU3RyaW5nJyksXG4gICAgc2hvcnRPdXQgPSByZXF1aXJlKCcuL19zaG9ydE91dCcpO1xuXG4vKipcbiAqIFNldHMgdGhlIGB0b1N0cmluZ2AgbWV0aG9kIG9mIGBmdW5jYCB0byByZXR1cm4gYHN0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICovXG52YXIgc2V0VG9TdHJpbmcgPSBzaG9ydE91dChiYXNlU2V0VG9TdHJpbmcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHNldFRvU3RyaW5nO1xuIiwiLyoqIFVzZWQgdG8gZGV0ZWN0IGhvdCBmdW5jdGlvbnMgYnkgbnVtYmVyIG9mIGNhbGxzIHdpdGhpbiBhIHNwYW4gb2YgbWlsbGlzZWNvbmRzLiAqL1xudmFyIEhPVF9DT1VOVCA9IDgwMCxcbiAgICBIT1RfU1BBTiA9IDE2O1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlTm93ID0gRGF0ZS5ub3c7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQnbGwgc2hvcnQgb3V0IGFuZCBpbnZva2UgYGlkZW50aXR5YCBpbnN0ZWFkXG4gKiBvZiBgZnVuY2Agd2hlbiBpdCdzIGNhbGxlZCBgSE9UX0NPVU5UYCBvciBtb3JlIHRpbWVzIGluIGBIT1RfU1BBTmBcbiAqIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzaG9ydGFibGUgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHNob3J0T3V0KGZ1bmMpIHtcbiAgdmFyIGNvdW50ID0gMCxcbiAgICAgIGxhc3RDYWxsZWQgPSAwO1xuXG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICB2YXIgc3RhbXAgPSBuYXRpdmVOb3coKSxcbiAgICAgICAgcmVtYWluaW5nID0gSE9UX1NQQU4gLSAoc3RhbXAgLSBsYXN0Q2FsbGVkKTtcblxuICAgIGxhc3RDYWxsZWQgPSBzdGFtcDtcbiAgICBpZiAocmVtYWluaW5nID4gMCkge1xuICAgICAgaWYgKCsrY291bnQgPj0gSE9UX0NPVU5UKSB7XG4gICAgICAgIHJldHVybiBhcmd1bWVudHNbMF07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvdW50ID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmMuYXBwbHkodW5kZWZpbmVkLCBhcmd1bWVudHMpO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNob3J0T3V0O1xuIiwiLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xudmFyIGZ1bmNUb1N0cmluZyA9IGZ1bmNQcm90by50b1N0cmluZztcblxuLyoqXG4gKiBDb252ZXJ0cyBgZnVuY2AgdG8gaXRzIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc291cmNlIGNvZGUuXG4gKi9cbmZ1bmN0aW9uIHRvU291cmNlKGZ1bmMpIHtcbiAgaWYgKGZ1bmMgIT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZnVuY1RvU3RyaW5nLmNhbGwoZnVuYyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIChmdW5jICsgJycpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvU291cmNlO1xuIiwidmFyIGNvcHlPYmplY3QgPSByZXF1aXJlKCcuL19jb3B5T2JqZWN0JyksXG4gICAgY3JlYXRlQXNzaWduZXIgPSByZXF1aXJlKCcuL19jcmVhdGVBc3NpZ25lcicpLFxuICAgIGtleXNJbiA9IHJlcXVpcmUoJy4va2V5c0luJyk7XG5cbi8qKlxuICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25JbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmBcbiAqIHdoaWNoIGlzIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgYXNzaWduZWQgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJuc1xuICogYHVuZGVmaW5lZGAsIGFzc2lnbm1lbnQgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmBcbiAqIGlzIGludm9rZWQgd2l0aCBmaXZlIGFyZ3VtZW50czogKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSkuXG4gKlxuICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGFsaWFzIGV4dGVuZFdpdGhcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAqIEBwYXJhbSB7Li4uT2JqZWN0fSBzb3VyY2VzIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gKiBAc2VlIF8uYXNzaWduV2l0aFxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSkge1xuICogICByZXR1cm4gXy5pc1VuZGVmaW5lZChvYmpWYWx1ZSkgPyBzcmNWYWx1ZSA6IG9ialZhbHVlO1xuICogfVxuICpcbiAqIHZhciBkZWZhdWx0cyA9IF8ucGFydGlhbFJpZ2h0KF8uYXNzaWduSW5XaXRoLCBjdXN0b21pemVyKTtcbiAqXG4gKiBkZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIgfVxuICovXG52YXIgYXNzaWduSW5XaXRoID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyKSB7XG4gIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzSW4oc291cmNlKSwgb2JqZWN0LCBjdXN0b21pemVyKTtcbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGFzc2lnbkluV2l0aDtcbiIsInZhciBhcHBseSA9IHJlcXVpcmUoJy4vX2FwcGx5JyksXG4gICAgYmFzZVJlc3QgPSByZXF1aXJlKCcuL19iYXNlUmVzdCcpLFxuICAgIGlzRXJyb3IgPSByZXF1aXJlKCcuL2lzRXJyb3InKTtcblxuLyoqXG4gKiBBdHRlbXB0cyB0byBpbnZva2UgYGZ1bmNgLCByZXR1cm5pbmcgZWl0aGVyIHRoZSByZXN1bHQgb3IgdGhlIGNhdWdodCBlcnJvclxuICogb2JqZWN0LiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXR0ZW1wdC5cbiAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGBmdW5jYCByZXN1bHQgb3IgZXJyb3Igb2JqZWN0LlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBBdm9pZCB0aHJvd2luZyBlcnJvcnMgZm9yIGludmFsaWQgc2VsZWN0b3JzLlxuICogdmFyIGVsZW1lbnRzID0gXy5hdHRlbXB0KGZ1bmN0aW9uKHNlbGVjdG9yKSB7XG4gKiAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAqIH0sICc+Xz4nKTtcbiAqXG4gKiBpZiAoXy5pc0Vycm9yKGVsZW1lbnRzKSkge1xuICogICBlbGVtZW50cyA9IFtdO1xuICogfVxuICovXG52YXIgYXR0ZW1wdCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIGFyZ3MpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXBwbHkoZnVuYywgdW5kZWZpbmVkLCBhcmdzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBpc0Vycm9yKGUpID8gZSA6IG5ldyBFcnJvcihlKTtcbiAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gYXR0ZW1wdDtcbiIsIi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBgdmFsdWVgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMi40LjBcbiAqIEBjYXRlZ29yeSBVdGlsXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byByZXR1cm4gZnJvbSB0aGUgbmV3IGZ1bmN0aW9uLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29uc3RhbnQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3RzID0gXy50aW1lcygyLCBfLmNvbnN0YW50KHsgJ2EnOiAxIH0pKTtcbiAqXG4gKiBjb25zb2xlLmxvZyhvYmplY3RzKTtcbiAqIC8vID0+IFt7ICdhJzogMSB9LCB7ICdhJzogMSB9XVxuICpcbiAqIGNvbnNvbGUubG9nKG9iamVjdHNbMF0gPT09IG9iamVjdHNbMV0pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBjb25zdGFudCh2YWx1ZSkge1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnN0YW50O1xuIiwiLyoqXG4gKiBQZXJmb3JtcyBhXG4gKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGVxdWl2YWxlbnQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICpcbiAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoJ2EnLCAnYScpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoTmFOLCBOYU4pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgcmV0dXJuIHZhbHVlID09PSBvdGhlciB8fCAodmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXE7XG4iLCJ2YXIgZXNjYXBlSHRtbENoYXIgPSByZXF1aXJlKCcuL19lc2NhcGVIdG1sQ2hhcicpLFxuICAgIHRvU3RyaW5nID0gcmVxdWlyZSgnLi90b1N0cmluZycpO1xuXG4vKiogVXNlZCB0byBtYXRjaCBIVE1MIGVudGl0aWVzIGFuZCBIVE1MIGNoYXJhY3RlcnMuICovXG52YXIgcmVVbmVzY2FwZWRIdG1sID0gL1smPD5cIiddL2csXG4gICAgcmVIYXNVbmVzY2FwZWRIdG1sID0gUmVnRXhwKHJlVW5lc2NhcGVkSHRtbC5zb3VyY2UpO1xuXG4vKipcbiAqIENvbnZlcnRzIHRoZSBjaGFyYWN0ZXJzIFwiJlwiLCBcIjxcIiwgXCI+XCIsICdcIicsIGFuZCBcIidcIiBpbiBgc3RyaW5nYCB0byB0aGVpclxuICogY29ycmVzcG9uZGluZyBIVE1MIGVudGl0aWVzLlxuICpcbiAqICoqTm90ZToqKiBObyBvdGhlciBjaGFyYWN0ZXJzIGFyZSBlc2NhcGVkLiBUbyBlc2NhcGUgYWRkaXRpb25hbFxuICogY2hhcmFjdGVycyB1c2UgYSB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGxpa2UgW19oZV9dKGh0dHBzOi8vbXRocy5iZS9oZSkuXG4gKlxuICogVGhvdWdoIHRoZSBcIj5cIiBjaGFyYWN0ZXIgaXMgZXNjYXBlZCBmb3Igc3ltbWV0cnksIGNoYXJhY3RlcnMgbGlrZVxuICogXCI+XCIgYW5kIFwiL1wiIGRvbid0IG5lZWQgZXNjYXBpbmcgaW4gSFRNTCBhbmQgaGF2ZSBubyBzcGVjaWFsIG1lYW5pbmdcbiAqIHVubGVzcyB0aGV5J3JlIHBhcnQgb2YgYSB0YWcgb3IgdW5xdW90ZWQgYXR0cmlidXRlIHZhbHVlLiBTZWVcbiAqIFtNYXRoaWFzIEJ5bmVucydzIGFydGljbGVdKGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9hbWJpZ3VvdXMtYW1wZXJzYW5kcylcbiAqICh1bmRlciBcInNlbWktcmVsYXRlZCBmdW4gZmFjdFwiKSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFdoZW4gd29ya2luZyB3aXRoIEhUTUwgeW91IHNob3VsZCBhbHdheXNcbiAqIFtxdW90ZSBhdHRyaWJ1dGUgdmFsdWVzXShodHRwOi8vd29ua28uY29tL3Bvc3QvaHRtbC1lc2NhcGluZykgdG8gcmVkdWNlXG4gKiBYU1MgdmVjdG9ycy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBtZW1iZXJPZiBfXG4gKiBAY2F0ZWdvcnkgU3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIHN0cmluZy5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5lc2NhcGUoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gKiAvLyA9PiAnZnJlZCwgYmFybmV5LCAmYW1wOyBwZWJibGVzJ1xuICovXG5mdW5jdGlvbiBlc2NhcGUoc3RyaW5nKSB7XG4gIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gIHJldHVybiAoc3RyaW5nICYmIHJlSGFzVW5lc2NhcGVkSHRtbC50ZXN0KHN0cmluZykpXG4gICAgPyBzdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsIGVzY2FwZUh0bWxDaGFyKVxuICAgIDogc3RyaW5nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVzY2FwZTtcbiIsIi8qKlxuICogVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQgaXQgcmVjZWl2ZXMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFV0aWxcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgQW55IHZhbHVlLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgYHZhbHVlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKlxuICogY29uc29sZS5sb2coXy5pZGVudGl0eShvYmplY3QpID09PSBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBpZGVudGl0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaWRlbnRpdHk7XG4iLCJ2YXIgYmFzZUlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9fYmFzZUlzQXJndW1lbnRzJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgcHJvcGVydHlJc0VudW1lcmFibGUgPSBvYmplY3RQcm90by5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqICBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcmd1bWVudHMoZnVuY3Rpb24oKSB7IHJldHVybiBhcmd1bWVudHM7IH0oKSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FyZ3VtZW50cyhbMSwgMiwgM10pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzQXJndW1lbnRzID0gYmFzZUlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpID8gYmFzZUlzQXJndW1lbnRzIDogZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgJ2NhbGxlZScpICYmXG4gICAgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsICdjYWxsZWUnKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcmd1bWVudHM7XG4iLCIvKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5YCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxubW9kdWxlLmV4cG9ydHMgPSBpc0FycmF5O1xuIiwidmFyIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc0xlbmd0aCA9IHJlcXVpcmUoJy4vaXNMZW5ndGgnKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gKiBub3QgYSBmdW5jdGlvbiBhbmQgaGFzIGEgYHZhbHVlLmxlbmd0aGAgdGhhdCdzIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yXG4gKiBlcXVhbCB0byBgMGAgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhaXNGdW5jdGlvbih2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcnJheUxpa2U7XG4iLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKSxcbiAgICBzdHViRmFsc2UgPSByZXF1aXJlKCcuL3N0dWJGYWxzZScpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIEJ1ZmZlciA9IG1vZHVsZUV4cG9ydHMgPyByb290LkJ1ZmZlciA6IHVuZGVmaW5lZDtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZUlzQnVmZmVyID0gQnVmZmVyID8gQnVmZmVyLmlzQnVmZmVyIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4zLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNCdWZmZXIobmV3IEJ1ZmZlcigyKSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0J1ZmZlcihuZXcgVWludDhBcnJheSgyKSk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNCdWZmZXIgPSBuYXRpdmVJc0J1ZmZlciB8fCBzdHViRmFsc2U7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNCdWZmZXI7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpLFxuICAgIGlzUGxhaW5PYmplY3QgPSByZXF1aXJlKCcuL2lzUGxhaW5PYmplY3QnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIGRvbUV4Y1RhZyA9ICdbb2JqZWN0IERPTUV4Y2VwdGlvbl0nLFxuICAgIGVycm9yVGFnID0gJ1tvYmplY3QgRXJyb3JdJztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBgRXJyb3JgLCBgRXZhbEVycm9yYCwgYFJhbmdlRXJyb3JgLCBgUmVmZXJlbmNlRXJyb3JgLFxuICogYFN5bnRheEVycm9yYCwgYFR5cGVFcnJvcmAsIG9yIGBVUklFcnJvcmAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGVycm9yIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRXJyb3IobmV3IEVycm9yKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzRXJyb3IoRXJyb3IpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNFcnJvcih2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICByZXR1cm4gdGFnID09IGVycm9yVGFnIHx8IHRhZyA9PSBkb21FeGNUYWcgfHxcbiAgICAodHlwZW9mIHZhbHVlLm1lc3NhZ2UgPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlLm5hbWUgPT0gJ3N0cmluZycgJiYgIWlzUGxhaW5PYmplY3QodmFsdWUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0Vycm9yO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0Jyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhc3luY1RhZyA9ICdbb2JqZWN0IEFzeW5jRnVuY3Rpb25dJyxcbiAgICBmdW5jVGFnID0gJ1tvYmplY3QgRnVuY3Rpb25dJyxcbiAgICBnZW5UYWcgPSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nLFxuICAgIHByb3h5VGFnID0gJ1tvYmplY3QgUHJveHldJztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBmdW5jdGlvbiwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRnVuY3Rpb24oXyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0Z1bmN0aW9uKC9hYmMvKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gVGhlIHVzZSBvZiBgT2JqZWN0I3RvU3RyaW5nYCBhdm9pZHMgaXNzdWVzIHdpdGggdGhlIGB0eXBlb2ZgIG9wZXJhdG9yXG4gIC8vIGluIFNhZmFyaSA5IHdoaWNoIHJldHVybnMgJ29iamVjdCcgZm9yIHR5cGVkIGFycmF5cyBhbmQgb3RoZXIgY29uc3RydWN0b3JzLlxuICB2YXIgdGFnID0gYmFzZUdldFRhZyh2YWx1ZSk7XG4gIHJldHVybiB0YWcgPT0gZnVuY1RhZyB8fCB0YWcgPT0gZ2VuVGFnIHx8IHRhZyA9PSBhc3luY1RhZyB8fCB0YWcgPT0gcHJveHlUYWc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNGdW5jdGlvbjtcbiIsIi8qKiBVc2VkIGFzIHJlZmVyZW5jZXMgZm9yIHZhcmlvdXMgYE51bWJlcmAgY29uc3RhbnRzLiAqL1xudmFyIE1BWF9TQUZFX0lOVEVHRVIgPSA5MDA3MTk5MjU0NzQwOTkxO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBsZW5ndGguXG4gKlxuICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGxvb3NlbHkgYmFzZWQgb25cbiAqIFtgVG9MZW5ndGhgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10b2xlbmd0aCkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBsZW5ndGgsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0xlbmd0aCgzKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzTGVuZ3RoKE51bWJlci5NSU5fVkFMVUUpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzTGVuZ3RoKEluZmluaXR5KTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0xlbmd0aCgnMycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNMZW5ndGgodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJlxuICAgIHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0xlbmd0aDtcbiIsIi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgdGhlXG4gKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gKiBvZiBgT2JqZWN0YC4gKGUuZy4gYXJyYXlzLCBmdW5jdGlvbnMsIG9iamVjdHMsIHJlZ2V4ZXMsIGBuZXcgTnVtYmVyKDApYCwgYW5kIGBuZXcgU3RyaW5nKCcnKWApXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3Qoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KF8ubm9vcCk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiAodHlwZSA9PSAnb2JqZWN0JyB8fCB0eXBlID09ICdmdW5jdGlvbicpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzT2JqZWN0O1xuIiwiLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAqIGFuZCBoYXMgYSBgdHlwZW9mYCByZXN1bHQgb2YgXCJvYmplY3RcIi5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZSh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNPYmplY3RMaWtlO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgZ2V0UHJvdG90eXBlID0gcmVxdWlyZSgnLi9fZ2V0UHJvdG90eXBlJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgZnVuY1Byb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlLFxuICAgIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xudmFyIGZ1bmNUb1N0cmluZyA9IGZ1bmNQcm90by50b1N0cmluZztcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqIFVzZWQgdG8gaW5mZXIgdGhlIGBPYmplY3RgIGNvbnN0cnVjdG9yLiAqL1xudmFyIG9iamVjdEN0b3JTdHJpbmcgPSBmdW5jVG9TdHJpbmcuY2FsbChPYmplY3QpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGF0IGlzLCBhbiBvYmplY3QgY3JlYXRlZCBieSB0aGVcbiAqIGBPYmplY3RgIGNvbnN0cnVjdG9yIG9yIG9uZSB3aXRoIGEgYFtbUHJvdG90eXBlXV1gIG9mIGBudWxsYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuOC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHBsYWluIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiB9XG4gKlxuICogXy5pc1BsYWluT2JqZWN0KG5ldyBGb28pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzUGxhaW5PYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KHsgJ3gnOiAwLCAneSc6IDAgfSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3RMaWtlKHZhbHVlKSB8fCBiYXNlR2V0VGFnKHZhbHVlKSAhPSBvYmplY3RUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHByb3RvID0gZ2V0UHJvdG90eXBlKHZhbHVlKTtcbiAgaWYgKHByb3RvID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIEN0b3IgPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3RvLCAnY29uc3RydWN0b3InKSAmJiBwcm90by5jb25zdHJ1Y3RvcjtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiZcbiAgICBmdW5jVG9TdHJpbmcuY2FsbChDdG9yKSA9PSBvYmplY3RDdG9yU3RyaW5nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzUGxhaW5PYmplY3Q7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgc3ltYm9sVGFnID0gJ1tvYmplY3QgU3ltYm9sXSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzeW1ib2wsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1N5bWJvbChTeW1ib2wuaXRlcmF0b3IpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNTeW1ib2woJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHN5bWJvbFRhZyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNTeW1ib2w7XG4iLCJ2YXIgYmFzZUlzVHlwZWRBcnJheSA9IHJlcXVpcmUoJy4vX2Jhc2VJc1R5cGVkQXJyYXknKSxcbiAgICBiYXNlVW5hcnkgPSByZXF1aXJlKCcuL19iYXNlVW5hcnknKSxcbiAgICBub2RlVXRpbCA9IHJlcXVpcmUoJy4vX25vZGVVdGlsJyk7XG5cbi8qIE5vZGUuanMgaGVscGVyIHJlZmVyZW5jZXMuICovXG52YXIgbm9kZUlzVHlwZWRBcnJheSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzVHlwZWRBcnJheTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgdHlwZWQgYXJyYXkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzVHlwZWRBcnJheShuZXcgVWludDhBcnJheSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1R5cGVkQXJyYXkoW10pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzVHlwZWRBcnJheSA9IG5vZGVJc1R5cGVkQXJyYXkgPyBiYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSkgOiBiYXNlSXNUeXBlZEFycmF5O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzVHlwZWRBcnJheTtcbiIsInZhciBhcnJheUxpa2VLZXlzID0gcmVxdWlyZSgnLi9fYXJyYXlMaWtlS2V5cycpLFxuICAgIGJhc2VLZXlzID0gcmVxdWlyZSgnLi9fYmFzZUtleXMnKSxcbiAgICBpc0FycmF5TGlrZSA9IHJlcXVpcmUoJy4vaXNBcnJheUxpa2UnKTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IG9mIHRoZSBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAqXG4gKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy4gU2VlIHRoZVxuICogW0VTIHNwZWNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5rZXlzKVxuICogZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBtZW1iZXJPZiBfXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiAgIHRoaXMuYiA9IDI7XG4gKiB9XG4gKlxuICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAqXG4gKiBfLmtleXMobmV3IEZvbyk7XG4gKiAvLyA9PiBbJ2EnLCAnYiddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gKlxuICogXy5rZXlzKCdoaScpO1xuICogLy8gPT4gWycwJywgJzEnXVxuICovXG5mdW5jdGlvbiBrZXlzKG9iamVjdCkge1xuICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0KSA6IGJhc2VLZXlzKG9iamVjdCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5cztcbiIsInZhciBhcnJheUxpa2VLZXlzID0gcmVxdWlyZSgnLi9fYXJyYXlMaWtlS2V5cycpLFxuICAgIGJhc2VLZXlzSW4gPSByZXF1aXJlKCcuL19iYXNlS2V5c0luJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAqXG4gKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiAgIHRoaXMuYiA9IDI7XG4gKiB9XG4gKlxuICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAqXG4gKiBfLmtleXNJbihuZXcgRm9vKTtcbiAqIC8vID0+IFsnYScsICdiJywgJ2MnXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICovXG5mdW5jdGlvbiBrZXlzSW4ob2JqZWN0KSB7XG4gIHJldHVybiBpc0FycmF5TGlrZShvYmplY3QpID8gYXJyYXlMaWtlS2V5cyhvYmplY3QsIHRydWUpIDogYmFzZUtleXNJbihvYmplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleXNJbjtcbiIsIi8qKlxuICogVGhpcyBtZXRob2QgcmV0dXJucyBgZmFsc2VgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4xMy4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy50aW1lcygyLCBfLnN0dWJGYWxzZSk7XG4gKiAvLyA9PiBbZmFsc2UsIGZhbHNlXVxuICovXG5mdW5jdGlvbiBzdHViRmFsc2UoKSB7XG4gIHJldHVybiBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzdHViRmFsc2U7XG4iLCJ2YXIgYXNzaWduSW5XaXRoID0gcmVxdWlyZSgnLi9hc3NpZ25JbldpdGgnKSxcbiAgICBhdHRlbXB0ID0gcmVxdWlyZSgnLi9hdHRlbXB0JyksXG4gICAgYmFzZVZhbHVlcyA9IHJlcXVpcmUoJy4vX2Jhc2VWYWx1ZXMnKSxcbiAgICBjdXN0b21EZWZhdWx0c0Fzc2lnbkluID0gcmVxdWlyZSgnLi9fY3VzdG9tRGVmYXVsdHNBc3NpZ25JbicpLFxuICAgIGVzY2FwZVN0cmluZ0NoYXIgPSByZXF1aXJlKCcuL19lc2NhcGVTdHJpbmdDaGFyJyksXG4gICAgaXNFcnJvciA9IHJlcXVpcmUoJy4vaXNFcnJvcicpLFxuICAgIGlzSXRlcmF0ZWVDYWxsID0gcmVxdWlyZSgnLi9faXNJdGVyYXRlZUNhbGwnKSxcbiAgICBrZXlzID0gcmVxdWlyZSgnLi9rZXlzJyksXG4gICAgcmVJbnRlcnBvbGF0ZSA9IHJlcXVpcmUoJy4vX3JlSW50ZXJwb2xhdGUnKSxcbiAgICB0ZW1wbGF0ZVNldHRpbmdzID0gcmVxdWlyZSgnLi90ZW1wbGF0ZVNldHRpbmdzJyksXG4gICAgdG9TdHJpbmcgPSByZXF1aXJlKCcuL3RvU3RyaW5nJyk7XG5cbi8qKiBVc2VkIHRvIG1hdGNoIGVtcHR5IHN0cmluZyBsaXRlcmFscyBpbiBjb21waWxlZCB0ZW1wbGF0ZSBzb3VyY2UuICovXG52YXIgcmVFbXB0eVN0cmluZ0xlYWRpbmcgPSAvXFxiX19wIFxcKz0gJyc7L2csXG4gICAgcmVFbXB0eVN0cmluZ01pZGRsZSA9IC9cXGIoX19wIFxcKz0pICcnIFxcKy9nLFxuICAgIHJlRW1wdHlTdHJpbmdUcmFpbGluZyA9IC8oX19lXFwoLio/XFwpfFxcYl9fdFxcKSkgXFwrXFxuJyc7L2c7XG5cbi8qKlxuICogVXNlZCB0byBtYXRjaFxuICogW0VTIHRlbXBsYXRlIGRlbGltaXRlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRlbXBsYXRlLWxpdGVyYWwtbGV4aWNhbC1jb21wb25lbnRzKS5cbiAqL1xudmFyIHJlRXNUZW1wbGF0ZSA9IC9cXCRcXHsoW15cXFxcfV0qKD86XFxcXC5bXlxcXFx9XSopKilcXH0vZztcblxuLyoqIFVzZWQgdG8gZW5zdXJlIGNhcHR1cmluZyBvcmRlciBvZiB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlTm9NYXRjaCA9IC8oJF4pLztcblxuLyoqIFVzZWQgdG8gbWF0Y2ggdW5lc2NhcGVkIGNoYXJhY3RlcnMgaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xudmFyIHJlVW5lc2NhcGVkU3RyaW5nID0gL1snXFxuXFxyXFx1MjAyOFxcdTIwMjlcXFxcXS9nO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbiB0aGF0IGNhbiBpbnRlcnBvbGF0ZSBkYXRhIHByb3BlcnRpZXNcbiAqIGluIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXJzLCBIVE1MLWVzY2FwZSBpbnRlcnBvbGF0ZWQgZGF0YSBwcm9wZXJ0aWVzIGluXG4gKiBcImVzY2FwZVwiIGRlbGltaXRlcnMsIGFuZCBleGVjdXRlIEphdmFTY3JpcHQgaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuIERhdGFcbiAqIHByb3BlcnRpZXMgbWF5IGJlIGFjY2Vzc2VkIGFzIGZyZWUgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS4gSWYgYSBzZXR0aW5nXG4gKiBvYmplY3QgaXMgZ2l2ZW4sIGl0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgXy50ZW1wbGF0ZVNldHRpbmdzYCB2YWx1ZXMuXG4gKlxuICogKipOb3RlOioqIEluIHRoZSBkZXZlbG9wbWVudCBidWlsZCBgXy50ZW1wbGF0ZWAgdXRpbGl6ZXNcbiAqIFtzb3VyY2VVUkxzXShodHRwOi8vd3d3Lmh0bWw1cm9ja3MuY29tL2VuL3R1dG9yaWFscy9kZXZlbG9wZXJ0b29scy9zb3VyY2VtYXBzLyN0b2Mtc291cmNldXJsKVxuICogZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gcHJlY29tcGlsaW5nIHRlbXBsYXRlcyBzZWVcbiAqIFtsb2Rhc2gncyBjdXN0b20gYnVpbGRzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vbG9kYXNoLmNvbS9jdXN0b20tYnVpbGRzKS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBDaHJvbWUgZXh0ZW5zaW9uIHNhbmRib3hlcyBzZWVcbiAqIFtDaHJvbWUncyBleHRlbnNpb25zIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZXh0ZW5zaW9ucy9zYW5kYm94aW5nRXZhbCkuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSB0ZW1wbGF0ZSBzdHJpbmcuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5lc2NhcGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmVzY2FwZV1cbiAqICBUaGUgSFRNTCBcImVzY2FwZVwiIGRlbGltaXRlci5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5ldmFsdWF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuZXZhbHVhdGVdXG4gKiAgVGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnMuaW1wb3J0cz1fLnRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0c11cbiAqICBBbiBvYmplY3QgdG8gaW1wb3J0IGludG8gdGhlIHRlbXBsYXRlIGFzIGZyZWUgdmFyaWFibGVzLlxuICogQHBhcmFtIHtSZWdFeHB9IFtvcHRpb25zLmludGVycG9sYXRlPV8udGVtcGxhdGVTZXR0aW5ncy5pbnRlcnBvbGF0ZV1cbiAqICBUaGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zb3VyY2VVUkw9J3RlbXBsYXRlU291cmNlc1tuXSddXG4gKiAgVGhlIHNvdXJjZVVSTCBvZiB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudmFyaWFibGU9J29iaiddXG4gKiAgVGhlIGRhdGEgb2JqZWN0IHZhcmlhYmxlIG5hbWUuXG4gKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gVXNlIHRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8gPCU9IHVzZXIgJT4hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ2ZyZWQnIH0pO1xuICogLy8gPT4gJ2hlbGxvIGZyZWQhJ1xuICpcbiAqIC8vIFVzZSB0aGUgSFRNTCBcImVzY2FwZVwiIGRlbGltaXRlciB0byBlc2NhcGUgZGF0YSBwcm9wZXJ0eSB2YWx1ZXMuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8Yj48JS0gdmFsdWUgJT48L2I+Jyk7XG4gKiBjb21waWxlZCh7ICd2YWx1ZSc6ICc8c2NyaXB0PicgfSk7XG4gKiAvLyA9PiAnPGI+Jmx0O3NjcmlwdCZndDs8L2I+J1xuICpcbiAqIC8vIFVzZSB0aGUgXCJldmFsdWF0ZVwiIGRlbGltaXRlciB0byBleGVjdXRlIEphdmFTY3JpcHQgYW5kIGdlbmVyYXRlIEhUTUwuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JSBfLmZvckVhY2godXNlcnMsIGZ1bmN0aW9uKHVzZXIpIHsgJT48bGk+PCUtIHVzZXIgJT48L2xpPjwlIH0pOyAlPicpO1xuICogY29tcGlsZWQoeyAndXNlcnMnOiBbJ2ZyZWQnLCAnYmFybmV5J10gfSk7XG4gKiAvLyA9PiAnPGxpPmZyZWQ8L2xpPjxsaT5iYXJuZXk8L2xpPidcbiAqXG4gKiAvLyBVc2UgdGhlIGludGVybmFsIGBwcmludGAgZnVuY3Rpb24gaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JSBwcmludChcImhlbGxvIFwiICsgdXNlcik7ICU+IScpO1xuICogY29tcGlsZWQoeyAndXNlcic6ICdiYXJuZXknIH0pO1xuICogLy8gPT4gJ2hlbGxvIGJhcm5leSEnXG4gKlxuICogLy8gVXNlIHRoZSBFUyB0ZW1wbGF0ZSBsaXRlcmFsIGRlbGltaXRlciBhcyBhbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyLlxuICogLy8gRGlzYWJsZSBzdXBwb3J0IGJ5IHJlcGxhY2luZyB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvICR7IHVzZXIgfSEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAncGViYmxlcycgfSk7XG4gKiAvLyA9PiAnaGVsbG8gcGViYmxlcyEnXG4gKlxuICogLy8gVXNlIGJhY2tzbGFzaGVzIHRvIHRyZWF0IGRlbGltaXRlcnMgYXMgcGxhaW4gdGV4dC5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlPSBcIlxcXFw8JS0gdmFsdWUgJVxcXFw+XCIgJT4nKTtcbiAqIGNvbXBpbGVkKHsgJ3ZhbHVlJzogJ2lnbm9yZWQnIH0pO1xuICogLy8gPT4gJzwlLSB2YWx1ZSAlPidcbiAqXG4gKiAvLyBVc2UgdGhlIGBpbXBvcnRzYCBvcHRpb24gdG8gaW1wb3J0IGBqUXVlcnlgIGFzIGBqcWAuXG4gKiB2YXIgdGV4dCA9ICc8JSBqcS5lYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nO1xuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSh0ZXh0LCB7ICdpbXBvcnRzJzogeyAnanEnOiBqUXVlcnkgfSB9KTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gKlxuICogLy8gVXNlIHRoZSBgc291cmNlVVJMYCBvcHRpb24gdG8gc3BlY2lmeSBhIGN1c3RvbSBzb3VyY2VVUkwgZm9yIHRoZSB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScsIHsgJ3NvdXJjZVVSTCc6ICcvYmFzaWMvZ3JlZXRpbmcuanN0JyB9KTtcbiAqIGNvbXBpbGVkKGRhdGEpO1xuICogLy8gPT4gRmluZCB0aGUgc291cmNlIG9mIFwiZ3JlZXRpbmcuanN0XCIgdW5kZXIgdGhlIFNvdXJjZXMgdGFiIG9yIFJlc291cmNlcyBwYW5lbCBvZiB0aGUgd2ViIGluc3BlY3Rvci5cbiAqXG4gKiAvLyBVc2UgdGhlIGB2YXJpYWJsZWAgb3B0aW9uIHRvIGVuc3VyZSBhIHdpdGgtc3RhdGVtZW50IGlzbid0IHVzZWQgaW4gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGkgPCU9IGRhdGEudXNlciAlPiEnLCB7ICd2YXJpYWJsZSc6ICdkYXRhJyB9KTtcbiAqIGNvbXBpbGVkLnNvdXJjZTtcbiAqIC8vID0+IGZ1bmN0aW9uKGRhdGEpIHtcbiAqIC8vICAgdmFyIF9fdCwgX19wID0gJyc7XG4gKiAvLyAgIF9fcCArPSAnaGkgJyArICgoX190ID0gKCBkYXRhLnVzZXIgKSkgPT0gbnVsbCA/ICcnIDogX190KSArICchJztcbiAqIC8vICAgcmV0dXJuIF9fcDtcbiAqIC8vIH1cbiAqXG4gKiAvLyBVc2UgY3VzdG9tIHRlbXBsYXRlIGRlbGltaXRlcnMuXG4gKiBfLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGUgPSAve3soW1xcc1xcU10rPyl9fS9nO1xuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8ge3sgdXNlciB9fSEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnbXVzdGFjaGUnIH0pO1xuICogLy8gPT4gJ2hlbGxvIG11c3RhY2hlISdcbiAqXG4gKiAvLyBVc2UgdGhlIGBzb3VyY2VgIHByb3BlcnR5IHRvIGlubGluZSBjb21waWxlZCB0ZW1wbGF0ZXMgZm9yIG1lYW5pbmdmdWxcbiAqIC8vIGxpbmUgbnVtYmVycyBpbiBlcnJvciBtZXNzYWdlcyBhbmQgc3RhY2sgdHJhY2VzLlxuICogZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ2pzdC5qcycpLCAnXFxcbiAqICAgdmFyIEpTVCA9IHtcXFxuICogICAgIFwibWFpblwiOiAnICsgXy50ZW1wbGF0ZShtYWluVGV4dCkuc291cmNlICsgJ1xcXG4gKiAgIH07XFxcbiAqICcpO1xuICovXG5mdW5jdGlvbiB0ZW1wbGF0ZShzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSB7XG4gIC8vIEJhc2VkIG9uIEpvaG4gUmVzaWcncyBgdG1wbGAgaW1wbGVtZW50YXRpb25cbiAgLy8gKGh0dHA6Ly9lam9obi5vcmcvYmxvZy9qYXZhc2NyaXB0LW1pY3JvLXRlbXBsYXRpbmcvKVxuICAvLyBhbmQgTGF1cmEgRG9rdG9yb3ZhJ3MgZG9ULmpzIChodHRwczovL2dpdGh1Yi5jb20vb2xhZG8vZG9UKS5cbiAgdmFyIHNldHRpbmdzID0gdGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzLl8udGVtcGxhdGVTZXR0aW5ncyB8fCB0ZW1wbGF0ZVNldHRpbmdzO1xuXG4gIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSkge1xuICAgIG9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgb3B0aW9ucyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucywgc2V0dGluZ3MsIGN1c3RvbURlZmF1bHRzQXNzaWduSW4pO1xuXG4gIHZhciBpbXBvcnRzID0gYXNzaWduSW5XaXRoKHt9LCBvcHRpb25zLmltcG9ydHMsIHNldHRpbmdzLmltcG9ydHMsIGN1c3RvbURlZmF1bHRzQXNzaWduSW4pLFxuICAgICAgaW1wb3J0c0tleXMgPSBrZXlzKGltcG9ydHMpLFxuICAgICAgaW1wb3J0c1ZhbHVlcyA9IGJhc2VWYWx1ZXMoaW1wb3J0cywgaW1wb3J0c0tleXMpO1xuXG4gIHZhciBpc0VzY2FwaW5nLFxuICAgICAgaXNFdmFsdWF0aW5nLFxuICAgICAgaW5kZXggPSAwLFxuICAgICAgaW50ZXJwb2xhdGUgPSBvcHRpb25zLmludGVycG9sYXRlIHx8IHJlTm9NYXRjaCxcbiAgICAgIHNvdXJjZSA9IFwiX19wICs9ICdcIjtcblxuICAvLyBDb21waWxlIHRoZSByZWdleHAgdG8gbWF0Y2ggZWFjaCBkZWxpbWl0ZXIuXG4gIHZhciByZURlbGltaXRlcnMgPSBSZWdFeHAoXG4gICAgKG9wdGlvbnMuZXNjYXBlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICBpbnRlcnBvbGF0ZS5zb3VyY2UgKyAnfCcgK1xuICAgIChpbnRlcnBvbGF0ZSA9PT0gcmVJbnRlcnBvbGF0ZSA/IHJlRXNUZW1wbGF0ZSA6IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICAob3B0aW9ucy5ldmFsdWF0ZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JCdcbiAgLCAnZycpO1xuXG4gIC8vIFVzZSBhIHNvdXJjZVVSTCBmb3IgZWFzaWVyIGRlYnVnZ2luZy5cbiAgdmFyIHNvdXJjZVVSTCA9ICdzb3VyY2VVUkwnIGluIG9wdGlvbnMgPyAnLy8jIHNvdXJjZVVSTD0nICsgb3B0aW9ucy5zb3VyY2VVUkwgKyAnXFxuJyA6ICcnO1xuXG4gIHN0cmluZy5yZXBsYWNlKHJlRGVsaW1pdGVycywgZnVuY3Rpb24obWF0Y2gsIGVzY2FwZVZhbHVlLCBpbnRlcnBvbGF0ZVZhbHVlLCBlc1RlbXBsYXRlVmFsdWUsIGV2YWx1YXRlVmFsdWUsIG9mZnNldCkge1xuICAgIGludGVycG9sYXRlVmFsdWUgfHwgKGludGVycG9sYXRlVmFsdWUgPSBlc1RlbXBsYXRlVmFsdWUpO1xuXG4gICAgLy8gRXNjYXBlIGNoYXJhY3RlcnMgdGhhdCBjYW4ndCBiZSBpbmNsdWRlZCBpbiBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgc291cmNlICs9IHN0cmluZy5zbGljZShpbmRleCwgb2Zmc2V0KS5yZXBsYWNlKHJlVW5lc2NhcGVkU3RyaW5nLCBlc2NhcGVTdHJpbmdDaGFyKTtcblxuICAgIC8vIFJlcGxhY2UgZGVsaW1pdGVycyB3aXRoIHNuaXBwZXRzLlxuICAgIGlmIChlc2NhcGVWYWx1ZSkge1xuICAgICAgaXNFc2NhcGluZyA9IHRydWU7XG4gICAgICBzb3VyY2UgKz0gXCInICtcXG5fX2UoXCIgKyBlc2NhcGVWYWx1ZSArIFwiKSArXFxuJ1wiO1xuICAgIH1cbiAgICBpZiAoZXZhbHVhdGVWYWx1ZSkge1xuICAgICAgaXNFdmFsdWF0aW5nID0gdHJ1ZTtcbiAgICAgIHNvdXJjZSArPSBcIic7XFxuXCIgKyBldmFsdWF0ZVZhbHVlICsgXCI7XFxuX19wICs9ICdcIjtcbiAgICB9XG4gICAgaWYgKGludGVycG9sYXRlVmFsdWUpIHtcbiAgICAgIHNvdXJjZSArPSBcIicgK1xcbigoX190ID0gKFwiICsgaW50ZXJwb2xhdGVWYWx1ZSArIFwiKSkgPT0gbnVsbCA/ICcnIDogX190KSArXFxuJ1wiO1xuICAgIH1cbiAgICBpbmRleCA9IG9mZnNldCArIG1hdGNoLmxlbmd0aDtcblxuICAgIC8vIFRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgcHJvZHVjdHMgbmVlZHMgYG1hdGNoYCByZXR1cm5lZCBpblxuICAgIC8vIG9yZGVyIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgYG9mZnNldGAgdmFsdWUuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9KTtcblxuICBzb3VyY2UgKz0gXCInO1xcblwiO1xuXG4gIC8vIElmIGB2YXJpYWJsZWAgaXMgbm90IHNwZWNpZmllZCB3cmFwIGEgd2l0aC1zdGF0ZW1lbnQgYXJvdW5kIHRoZSBnZW5lcmF0ZWRcbiAgLy8gY29kZSB0byBhZGQgdGhlIGRhdGEgb2JqZWN0IHRvIHRoZSB0b3Agb2YgdGhlIHNjb3BlIGNoYWluLlxuICB2YXIgdmFyaWFibGUgPSBvcHRpb25zLnZhcmlhYmxlO1xuICBpZiAoIXZhcmlhYmxlKSB7XG4gICAgc291cmNlID0gJ3dpdGggKG9iaikge1xcbicgKyBzb3VyY2UgKyAnXFxufVxcbic7XG4gIH1cbiAgLy8gQ2xlYW51cCBjb2RlIGJ5IHN0cmlwcGluZyBlbXB0eSBzdHJpbmdzLlxuICBzb3VyY2UgPSAoaXNFdmFsdWF0aW5nID8gc291cmNlLnJlcGxhY2UocmVFbXB0eVN0cmluZ0xlYWRpbmcsICcnKSA6IHNvdXJjZSlcbiAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nTWlkZGxlLCAnJDEnKVxuICAgIC5yZXBsYWNlKHJlRW1wdHlTdHJpbmdUcmFpbGluZywgJyQxOycpO1xuXG4gIC8vIEZyYW1lIGNvZGUgYXMgdGhlIGZ1bmN0aW9uIGJvZHkuXG4gIHNvdXJjZSA9ICdmdW5jdGlvbignICsgKHZhcmlhYmxlIHx8ICdvYmonKSArICcpIHtcXG4nICtcbiAgICAodmFyaWFibGVcbiAgICAgID8gJydcbiAgICAgIDogJ29iaiB8fCAob2JqID0ge30pO1xcbidcbiAgICApICtcbiAgICBcInZhciBfX3QsIF9fcCA9ICcnXCIgK1xuICAgIChpc0VzY2FwaW5nXG4gICAgICAgPyAnLCBfX2UgPSBfLmVzY2FwZSdcbiAgICAgICA6ICcnXG4gICAgKSArXG4gICAgKGlzRXZhbHVhdGluZ1xuICAgICAgPyAnLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjtcXG4nICtcbiAgICAgICAgXCJmdW5jdGlvbiBwcmludCgpIHsgX19wICs9IF9fai5jYWxsKGFyZ3VtZW50cywgJycpIH1cXG5cIlxuICAgICAgOiAnO1xcbidcbiAgICApICtcbiAgICBzb3VyY2UgK1xuICAgICdyZXR1cm4gX19wXFxufSc7XG5cbiAgdmFyIHJlc3VsdCA9IGF0dGVtcHQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIEZ1bmN0aW9uKGltcG9ydHNLZXlzLCBzb3VyY2VVUkwgKyAncmV0dXJuICcgKyBzb3VyY2UpXG4gICAgICAuYXBwbHkodW5kZWZpbmVkLCBpbXBvcnRzVmFsdWVzKTtcbiAgfSk7XG5cbiAgLy8gUHJvdmlkZSB0aGUgY29tcGlsZWQgZnVuY3Rpb24ncyBzb3VyY2UgYnkgaXRzIGB0b1N0cmluZ2AgbWV0aG9kIG9yXG4gIC8vIHRoZSBgc291cmNlYCBwcm9wZXJ0eSBhcyBhIGNvbnZlbmllbmNlIGZvciBpbmxpbmluZyBjb21waWxlZCB0ZW1wbGF0ZXMuXG4gIHJlc3VsdC5zb3VyY2UgPSBzb3VyY2U7XG4gIGlmIChpc0Vycm9yKHJlc3VsdCkpIHtcbiAgICB0aHJvdyByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0ZW1wbGF0ZTtcbiIsInZhciBlc2NhcGUgPSByZXF1aXJlKCcuL2VzY2FwZScpLFxuICAgIHJlRXNjYXBlID0gcmVxdWlyZSgnLi9fcmVFc2NhcGUnKSxcbiAgICByZUV2YWx1YXRlID0gcmVxdWlyZSgnLi9fcmVFdmFsdWF0ZScpLFxuICAgIHJlSW50ZXJwb2xhdGUgPSByZXF1aXJlKCcuL19yZUludGVycG9sYXRlJyk7XG5cbi8qKlxuICogQnkgZGVmYXVsdCwgdGhlIHRlbXBsYXRlIGRlbGltaXRlcnMgdXNlZCBieSBsb2Rhc2ggYXJlIGxpa2UgdGhvc2UgaW5cbiAqIGVtYmVkZGVkIFJ1YnkgKEVSQikgYXMgd2VsbCBhcyBFUzIwMTUgdGVtcGxhdGUgc3RyaW5ncy4gQ2hhbmdlIHRoZVxuICogZm9sbG93aW5nIHRlbXBsYXRlIHNldHRpbmdzIHRvIHVzZSBhbHRlcm5hdGl2ZSBkZWxpbWl0ZXJzLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG52YXIgdGVtcGxhdGVTZXR0aW5ncyA9IHtcblxuICAvKipcbiAgICogVXNlZCB0byBkZXRlY3QgYGRhdGFgIHByb3BlcnR5IHZhbHVlcyB0byBiZSBIVE1MLWVzY2FwZWQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge1JlZ0V4cH1cbiAgICovXG4gICdlc2NhcGUnOiByZUVzY2FwZSxcblxuICAvKipcbiAgICogVXNlZCB0byBkZXRlY3QgY29kZSB0byBiZSBldmFsdWF0ZWQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge1JlZ0V4cH1cbiAgICovXG4gICdldmFsdWF0ZSc6IHJlRXZhbHVhdGUsXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gaW5qZWN0LlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnaW50ZXJwb2xhdGUnOiByZUludGVycG9sYXRlLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHJlZmVyZW5jZSB0aGUgZGF0YSBvYmplY3QgaW4gdGhlIHRlbXBsYXRlIHRleHQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gICd2YXJpYWJsZSc6ICcnLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGltcG9ydCB2YXJpYWJsZXMgaW50byB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gICdpbXBvcnRzJzoge1xuXG4gICAgLyoqXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzXG4gICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAqL1xuICAgICdfJzogeyAnZXNjYXBlJzogZXNjYXBlIH1cbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB0ZW1wbGF0ZVNldHRpbmdzO1xuIiwidmFyIGJhc2VUb1N0cmluZyA9IHJlcXVpcmUoJy4vX2Jhc2VUb1N0cmluZycpO1xuXG4vKipcbiAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcuIEFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZCBmb3IgYG51bGxgXG4gKiBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLiBUaGUgc2lnbiBvZiBgLTBgIGlzIHByZXNlcnZlZC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBzdHJpbmcuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8udG9TdHJpbmcobnVsbCk7XG4gKiAvLyA9PiAnJ1xuICpcbiAqIF8udG9TdHJpbmcoLTApO1xuICogLy8gPT4gJy0wJ1xuICpcbiAqIF8udG9TdHJpbmcoWzEsIDIsIDNdKTtcbiAqIC8vID0+ICcxLDIsMydcbiAqL1xuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnJyA6IGJhc2VUb1N0cmluZyh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdG9TdHJpbmc7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IFwiLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBHZW5lcmljIFN0eWxlc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG5hZy1ncmlkLCBhZy1ncmlkLWFuZ3VsYXIsIGFnLWdyaWQtbmcyLCBhZy1ncmlkLXBvbHltZXIsIGFnLWdyaWQtYXVyZWxpYSB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1oaWRkZW4ge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XFxuXFxuLmFnLWludmlzaWJsZSB7XFxuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxcblxcbi5hZy1mYWRlZCB7XFxuICBvcGFjaXR5OiAwLjM7IH1cXG5cXG4uYWctd2lkdGgtaGFsZiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctdW5zZWxlY3RhYmxlIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xcbiAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsgfVxcblxcbi5hZy1zZWxlY3RhYmxlIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIC1tcy11c2VyLXNlbGVjdDogdGV4dCAhaW1wb3J0YW50O1xcbiAgdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDsgfVxcblxcbi5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLWlucHV0LXRleHQtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLXNoYWtlLWxlZnQtdG8tcmlnaHQge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XFxuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQ7XFxuICBhbmltYXRpb24tbmFtZTogYWctc2hha2UtbGVmdC10by1yaWdodDsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0IHtcXG4gIGZyb20ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICB0byB7XFxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxcblxcbkBrZXlmcmFtZXMgYWctc2hha2UtbGVmdC10by1yaWdodCB7XFxuICBmcm9tIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgdG8ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cXG5cXG4uYWctcm9vdC13cmFwcGVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLXJvb3Qtd3JhcHBlci5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctcm9vdC13cmFwcGVyIC5hZy13YXRlcm1hcmsge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIGJvdHRvbTogMTBweDtcXG4gICAgcmlnaHQ6IDI1cHg7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDNzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDNzOyB9XFxuICAgIC5hZy1yb290LXdyYXBwZXIgLmFnLXdhdGVybWFyazpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6ICcnO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSE4yWnlCM2FXUjBhRDBpTkRrMGNIZ2lJR2hsYVdkb2REMGlNak01Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EwT1RRZ01qTTVJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGdvZ0lDQWdQQ0V0TFNCSFpXNWxjbUYwYjNJNklGTnJaWFJqYUNBME55NHhJQ2cwTlRReU1pa2dMU0JvZEhSd09pOHZkM2QzTG1KdmFHVnRhV0Z1WTI5a2FXNW5MbU52YlM5emEyVjBZMmdnTFMwK0NpQWdJQ0E4ZEdsMGJHVStURzluYnp3dmRHbDBiR1UrQ2lBZ0lDQThaR1Z6WXo1RGNtVmhkR1ZrSUhkcGRHZ2dVMnRsZEdOb0xqd3ZaR1Z6WXo0S0lDQWdJRHhrWldaelBnb2dJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMHdMall4TWpnME9Ua3pNU3d4TURnZ1REQXVOakV5T0RRNU9UTXhMRFkzTGpRMU9UWXpOelFnVERBdU5qRXlPRFE1T1RNeExEWTNMalExT1RZek56UWdRekF1TmpFeU9EUTVPVE14TERZeUxqRXdNRFkxTXpZZ015NDBOekU0TXpNM09DdzFOeTR4TkRnM05EZ3pJRGd1TVRFeU9EUTVPVE1zTlRRdU5EWTVNalUyTkNCTU9UZ3VNekEyTkRJMUxESXVNemsxT1RjeE5UY2dURGs0TGpNd05qUXlOU3d5TGpNNU5UazNNVFUzSUVNeE1ESXVPVFEzTkRReExDMHdMakk0TXpVeU1ETTFPQ0F4TURndU5qWTFOREE1TEMwd0xqSTRNelV5TURNMU9DQXhNVE11TXpBMk5ESTFMREl1TXprMU9UY3hOVGNnVERFeE15NHpNRFkwTWpVc01pNHpPVFU1TnpFMU55Qk1NakF6TGpVc05UUXVORFk1TWpVMk5DQk1NakF6TGpVc05UUXVORFk1TWpVMk5DQkRNakE0TGpFME1UQXhOaXcxTnk0eE5EZzNORGd6SURJeE1TdzJNaTR4TURBMk5UTTJJREl4TVN3Mk55NDBOVGsyTXpjMElFd3lNVEVzTVRNNElFd3hPREVzTVRNNElFd3hPREF1T1RrM01EUXhMRGt6TGprNU9UazVPVGdnVERFNE1DNDVPVFl3TXpJc09UTXVPVGs1T1RrNU9TQkRNVGd3TGprNU5UUTNOU3c0TlM0M01UWXhNakkySURFM05DNHlOems1TURrc056a3VNREF4TURBNE55QXhOalV1T1RrMk1ETXlMRGM1TGpBd01UQXdPRGNnVERFeU1pdzNPQzQ1T1RrNU9UazVJRU14TVRNdU56RTFOekk1TERjNExqazVPVGs1T1RrZ01UQTNMRGcxTGpjeE5UY3lPRFlnTVRBM0xEa3pMams1T1RrNU9Ua2dUREV3Tnl3eE16WXVNREUxTmpJeklFd3hNRGNzTVRNMkxqQXhOVFl5TXlCRE1UQTNMREUwTkM0eU9UazRPVFVnTVRFekxqY3hOVGN5T1N3eE5URXVNREUxTmpJeklERXlNaXd4TlRFdU1ERTFOakl6SUV3eE5qZ3NNVFV4TGpBeE5UWXlNeUJNTVRZNExERTJNeUJETVRZNExERTJOQzQyTlRZNE5UUWdNVFkyTGpZMU5qZzFOQ3d4TmpZZ01UWTFMREUyTmlCTU1USXdMREUyTmlCTU1USXdMREUzT1NCTU1UWTFMams1TmpBek1pd3hOemtnVERFMk5TNDVPVFl3TXpJc01UYzRMams1TnpnM055QkRNVGMwTGpJM09UUTNOQ3d4TnpndU9UazNPRGMzSURFNE1DNDVPVFE0Tml3eE56SXVNamd6TkRReUlERTRNQzQ1T1RZd016SXNNVFkwSUV3eE9ERXNNVFV3TGprMk1EVTFOQ0JNTWpFeExERTFNQzQ1TmpBMU5UUWdUREl4TVN3eE56RXVOakEyTWpBM0lFd3lNVEVzTVRjeExqWXdOakl3TnlCRE1qRXhMREUzTmk0NU5qVXhPVEVnTWpBNExqRTBNVEF4Tml3eE9ERXVPVEUzTURrMklESXdNeTQxTERFNE5DNDFPVFkxT0RnZ1RERXhNeTR6TURZME1qVXNNak0yTGpZMk9UZzNNeUJNTVRFekxqTXdOalF5TlN3eU16WXVOalk1T0RjeklFTXhNRGd1TmpZMU5EQTVMREl6T1M0ek5Ea3pOalVnTVRBeUxqazBOelEwTVN3eU16a3VNelE1TXpZMUlEazRMak13TmpReU5Td3lNell1TmpZNU9EY3pJRXc0TGpFeE1qZzBPVGt6TERFNE5DNDFPVFkxT0RnZ1REZ3VNVEV5T0RRNU9UTXNNVGcwTGpVNU5qVTRPQ0JETXk0ME56RTRNek0zT0N3eE9ERXVPVEUzTURrMklEQXVOakV5T0RRNU9UTXhMREUzTmk0NU5qVXhPVEVnTUM0Mk1USTRORGs1TXpFc01UY3hMall3TmpJd055Qk1NQzQyTVRJNE5EazVNekVzTVRJeElFd3lOeXd4TWpFZ1RESTNMREV6TmlCRE1qY3NNVFEwTGpJNE5ESTNNU0F6TXk0M01UVTNNamczTERFMU1TQTBNaXd4TlRFZ1REUXlMREUxTVNCTU1UQXdMREUxTVNCTU1UQXdMRGswSUVNeE1EQXNPRFV1TnpFMU56STRPQ0E1TXk0eU9EUXlOekV5TERjNUlEZzFMRGM1SUV3eU55dzNPU0JNTWpjc09USWdURGcwTERreUlFTTROUzQyTlRZNE5UUXlMRGt5SURnM0xEa3pMak0wTXpFME5UZ2dPRGNzT1RVZ1REZzNMRGsxSUV3NE55d3hNRGdnVERBdU5qRXlPRFE1T1RNeExERXdPQ0JhSWlCcFpEMGljR0YwYUMweElqNDhMM0JoZEdnK0NpQWdJQ0E4TDJSbFpuTStDaUFnSUNBOFp5QnBaRDBpVTNsdFltOXNjeUlnYzNSeWIydGxQU0p1YjI1bElpQnpkSEp2YTJVdGQybGtkR2c5SWpFaUlHWnBiR3c5SW01dmJtVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0krQ2lBZ0lDQWdJQ0FnUEdjZ2FXUTlJa3h2WjI4aVBnb2dJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTkRjM0xEVTFJRXcwT1RRc05UVWdURFE1TkN3eE5URWdURFF6TlN3eE5URWdRelF5Tmk0M01UVTNNamtzTVRVeElEUXlNQ3d4TkRRdU1qZzBNamN4SURReU1Dd3hNellnVERReU1DdzVOaUJETkRJd0xEZzNMamN4TlRjeU9EZ2dOREkyTGpjeE5UY3lPU3c0TVNBME16VXNPREVnVERRek5TdzRNU0JNTkRjM0xEZ3hJRXcwTnpjc05UVWdXaUJOTkRRd0xEazRJRU0wTXpndU16UXpNVFEyTERrNElEUXpOeXc1T1M0ek5ETXhORFU0SURRek55d3hNREVnVERRek55d3hNekVnUXpRek55d3hNekl1TmpVMk9EVTBJRFF6T0M0ek5ETXhORFlzTVRNMElEUTBNQ3d4TXpRZ1REUTNOeXd4TXpRZ1REUTNOeXc1T0NCTU5EUXdMRGs0SUZvaUlHbGtQU0prSWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pwSWlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3pPVFl1TURBd01EQXdMQ0ExTlM0d01EQXdNREFwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4d2IyeDVaMjl1SUdsa1BTSlFZWFJvTFRZaUlHWnBiR3c5SWlOR1JrWkdSa1lpSUhCdmFXNTBjejBpTUNBeU5pQXhOeUF5TmlBeE55QTVOaUF3SURrMklqNDhMM0J2YkhsbmIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjRzlzZVdkdmJpQnBaRDBpVUdGMGFDMDNJaUJtYVd4c1BTSWpSVEV4UmpJeUlpQndiMmx1ZEhNOUlqQWdNUzR4TXpZNE5qZ3pPR1V0TVRNZ01UY2dNUzR4TXpZNE5qZ3pPR1V0TVRNZ01UY2dNVGNnTUNBeE55SStQQzl3YjJ4NVoyOXVQZ29nSUNBZ0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBZ0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWswek16RXNNVFV4SUV3ek5EZ3NNVFV4SUV3ek5EZ3NNVEF4SUV3ek5EZ3NNVEF4SUVNek5EZ3NPVGt1TXpRek1UUTFPQ0F6TkRrdU16UXpNVFEyTERrNElETTFNU3c1T0NCTU16ZzVMRGs0SUV3ek9Ea3NPREVnVERNME5pdzRNU0JNTXpRMkxEZ3hJRU16TXpjdU56RTFOekk1TERneElETXpNU3c0Tnk0M01UVTNNamc0SURNek1TdzVOaUJNTXpNeExERTFNU0JhSWlCcFpEMGljaUlnWm1sc2JEMGlJMFpHUmtaR1JpSStQQzl3WVhSb1Bnb2dJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTXpJMExEZzJJRXd6TWpRc056WWdURE15TkN3M05pQkRNekkwTERZM0xqY3hOVGN5T0RnZ016RTNMakk0TkRJM01TdzJNU0F6TURrc05qRWdUREkwT1N3Mk1TQk1NalE1TERZeElFTXlOREF1TnpFMU56STVMRFl4SURJek5DdzJOeTQzTVRVM01qZzRJREl6TkN3M05pQk1Nak0wTERFek5pQk1Nak0wTERFek5pQkRNak0wTERFME5DNHlPRFF5TnpFZ01qUXdMamN4TlRjeU9Td3hOVEVnTWpRNUxERTFNU0JNTXpBNUxERTFNU0JNTXpBNUxERTFNU0JETXpFM0xqSTROREkzTVN3eE5URWdNekkwTERFME5DNHlPRFF5TnpFZ016STBMREV6TmlCTU16STBMREV3TUNCTU1qZzNMREV3TUNCTU1qZzNMREV4TnlCTU16QTNMREV4TnlCTU16QTNMREV6TVNCTU16QTNMREV6TVNCRE16QTNMREV6TWk0Mk5UWTROVFFnTXpBMUxqWTFOamcxTkN3eE16UWdNekEwTERFek5DQk1NalUwTERFek5DQk1NalUwTERFek5DQkRNalV5TGpNME16RTBOaXd4TXpRZ01qVXhMREV6TWk0Mk5UWTROVFFnTWpVeExERXpNU0JNTWpVeExEZ3hJRXd5TlRFc09ERWdRekkxTVN3M09TNHpORE14TkRVNElESTFNaTR6TkRNeE5EWXNOemdnTWpVMExEYzRJRXd6TURRc056Z2dURE13TkN3M09DQkRNekExTGpZMU5qZzFOQ3czT0NBek1EY3NOemt1TXpRek1UUTFPQ0F6TURjc09ERWdURE13Tnl3NE5pQk1NekkwTERnMklGb2lJR2xrUFNKSElpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKaFp5SStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaVEyOXRZbWx1WldRdFUyaGhjR1VpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHRZWE5ySUdsa1BTSnRZWE5yTFRJaUlHWnBiR3c5SW5kb2FYUmxJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpjR0YwYUMweElqNDhMM1Z6WlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMjFoYzJzK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFZ6WlNCbWFXeHNQU0lqUlRFeFJqSXlJaUI0YkdsdWF6cG9jbVZtUFNJamNHRjBhQzB4SWo0OEwzVnpaVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpXTjBJR2xrUFNKbklpQm1hV3hzUFNJalJURXhSakl5SWlCNFBTSXhNakFpSUhrOUlqa3lJaUIzYVdSMGFEMGlORGdpSUdobGFXZG9kRDBpTkRZaUlISjRQU0l6SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTkRBc01USXhJRXc0Tnl3eE1qRWdURGczTERFek9DQk1ORE1zTVRNNElFdzBNeXd4TXpnZ1F6UXhMak0wTXpFME5UZ3NNVE00SURRd0xERXpOaTQyTlRZNE5UUWdOREFzTVRNMUlFdzBNQ3d4TWpFZ1dpSWdhV1E5SWtOdmJXSnBibVZrTFZOb1lYQmxJaUJtYVd4c1BTSWpSVEV4UmpJeUlqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBOEwyYytDand2YzNablBnPT0pO1xcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoNTAlKTtcXG4gICAgICBmaWx0ZXI6IGludmVydCg1MCUpO1xcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTBweCA2MHB4O1xcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICAgIGhlaWdodDogNjBweDtcXG4gICAgICB3aWR0aDogMTEwcHg7IH1cXG4gICAgLmFnLXJvb3Qtd3JhcHBlciAuYWctd2F0ZXJtYXJrIC5hZy13YXRlcm1hcmstdGV4dCB7XFxuICAgICAgb3BhY2l0eTogMC41O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBJbXBhY3Q7XFxuICAgICAgZm9udC1zaXplOiAxOXB4OyB9XFxuXFxuLmFnLXJvb3Qtd3JhcHBlci1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gIC5hZy1yb290LXdyYXBwZXItYm9keS5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgaGVpZ2h0OiAwO1xcbiAgICBtaW4taGVpZ2h0OiAwOyB9XFxuXFxuLmFnLXJvb3Qge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1yb290LmFnLWxheW91dC1ub3JtYWwsIC5hZy1yb290LmFnLWxheW91dC1hdXRvLWhlaWdodCB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIHdpZHRoOiAwOyB9XFxuICAuYWctcm9vdC5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBWaWV3cG9ydHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWhlYWRlci12aWV3cG9ydCxcXG4uYWctZmxvYXRpbmctdG9wLXZpZXdwb3J0LFxcbi5hZy1ib2R5LXZpZXdwb3J0LFxcbi5hZy1waW5uZWQtbGVmdC1jb2xzLXZpZXdwb3J0LFxcbi5hZy1jZW50ZXItY29scy12aWV3cG9ydCxcXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS12aWV3cG9ydCxcXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC12aWV3cG9ydCxcXG4uYWctdmlydHVhbC1saXN0LXZpZXdwb3J0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG1pbi13aWR0aDogMHB4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgb3ZlcmZsb3cteTogYXV0bztcXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XFxuICAuYWctYm9keS12aWV3cG9ydDpub3QoLmFnLWxheW91dC1wcmludCkuYWctZm9yY2UtdmVydGljYWwtc2Nyb2xsIHtcXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsIC5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctY2VudGVyLWNvbHMtdmlld3BvcnQge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBvdmVyZmxvdy14OiBhdXRvOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtdmlld3BvcnQge1xcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XFxuXFxuLmFnLXZpcnR1YWwtbGlzdC12aWV3cG9ydCB7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDb250YWluZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXItY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy10b3AtY29udGFpbmVyLFxcbi5hZy1ib2R5LWNvbnRhaW5lcixcXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtY29udGFpbmVyLFxcbi5hZy1jZW50ZXItY29scy1jb250YWluZXIsXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tY29udGFpbmVyLFxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLWNvbnRhaW5lcixcXG4uYWctZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctdmlydHVhbC1saXN0LWNvbnRhaW5lciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctaGVhZGVyLWNvbnRhaW5lciwgLmFnLWZsb2F0aW5nLXRvcC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1ib3R0b20tY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydCAuYWctY2VudGVyLWNvbHMtY2xpcHBlciB7XFxuICBtaW4taGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LWF1dG8taGVpZ2h0IC5hZy1jZW50ZXItY29scy1jbGlwcGVyLCAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtYXV0by1oZWlnaHQgLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lciB7XFxuICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQgLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1wcmludCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IG5vbmU7XFxuICBmbGV4OiBub25lOyB9XFxuICAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtcHJpbnQgLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIge1xcbiAgICBtaW4td2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctdG9wLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwcHg7XFxuICBsZWZ0OiAwcHg7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lciB7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIsIC5hZy1mbG9hdGluZy10b3AtZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLXZpcnR1YWwtbGlzdC1jb250YWluZXIge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU2Nyb2xsZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jZW50ZXItY29scy1jbGlwcGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMTtcXG4gIGZsZXg6IDE7XFxuICBtaW4td2lkdGg6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgbWluLWhlaWdodDogMDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctbGF5b3V0LXByaW50IC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gIGRpc3BsYXk6IG5vbmU7IH1cXG5cXG4uYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG1pbi13aWR0aDogMDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDtcXG4gIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxcbiAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyLCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBIZWFkZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXIsIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlLCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1zb3J0YWJsZSwgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWhlYWRlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1oZWFkZXItaWNvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1yb3cge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5hZy1oZWFkZXItb3ZlcmxheSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1oZWFkZXItY2VsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBsaW5lLWhlaWdodDogMS41OyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsLWxhYmVsLCAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1jZWxsLXRleHQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcblxcbi5hZy1oZWFkZXItZ3JvdXAtdGV4dCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAxO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDRweDsgfVxcblxcbi5hZy1oZWFkZXItZXhwYW5kLWljb24ge1xcbiAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cXG5cXG4uYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29sdW1uc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY29sdW1uLW1vdmluZyAuYWctY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4yczsgfVxcblxcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1oZWFkZXItY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4yczsgfVxcblxcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycywgd2lkdGggMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4ycywgd2lkdGggMC4yczsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29sdW1uIFBhbmVsXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jb2x1bW4tcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogNDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiA0O1xcbiAgZmxleC1ncm93OiA0O1xcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XFxuICBmbGV4LXNocmluazogMTtcXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgZmxleC1iYXNpczogMDsgfVxcbiAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICBmbGV4OiBub25lOyB9XFxuICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgICAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciBpbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cXG5cXG4uYWctY29sdW1uLWRyb3Age1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSAwcHg7XFxuICBmbGV4OiAxIDEgMDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gZGl2IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgZmxleC1ncm93OiAxO1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cXG4gIC5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFJvd3NcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXJvdy1hbmltYXRpb24gLmFnLXJvdyB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7XFxuICB0cmFuc2l0aW9uOiB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjRzO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnM7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC40czsgfVxcblxcbi5hZy1yb3ctbm8tYW5pbWF0aW9uIC5hZy1yb3cge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG5cXG4uYWctcm93IHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1yb3ctcG9zaXRpb24tYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLXJvdy1wb3NpdGlvbi1yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1yb3cge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG5cXG4uYWctcm93LWlubGluZS1lZGl0aW5nIHtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctcm93LWRyYWdnaW5nIHtcXG4gIHotaW5kZXg6IDI7IH1cXG5cXG4uYWctc3R1Yi1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDZWxsc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY2VsbCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWNlbGwtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY2VsbC13cmFwcGVyLmFnLXJvdy1ncm91cCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxcbiAgLmFnLWNlbGwtd3JhcHBlciAuYWctY2VsbC12YWx1ZSwgLmFnLWNlbGwtd3JhcHBlciAuYWctZ3JvdXAtdmFsdWUge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLXJvdy5hZy1yb3ctZ3JvdXAgLmFnLWNlbGwtd3JhcHBlciB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG5cXG4uYWctY2VsbC13aXRoLWhlaWdodCB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZ3JvdXAtY2VsbC1lbnRpcmUtcm93IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1mb290ZXItY2VsbC1lbnRpcmUtcm93IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gIHotaW5kZXg6IDE7IH1cXG4gIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIC5hZy1jZWxsLWVkaXQtaW5wdXQsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIge1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBGaWx0ZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1jaGVja2JveCB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgRmlsdGVyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IC5hZy1yZWFjdC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSAuYWctcmVhY3QtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItYm9keSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0IHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSBpbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItaW5wdXQge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0Oi1tb3otcmVhZC1vbmx5IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0OnJlYWQtb25seSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERyYWcgJiBEcm9wXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1kbmQtZ2hvc3Qge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICBjdXJzb3I6IG1vdmU7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogM3B4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgei1pbmRleDogMTA7IH1cXG5cXG4uYWctZG5kLWdob3N0LWljb24ge1xcbiAgcGFkZGluZzogMnB4OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBPdmVybGF5XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1vdmVybGF5IHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctb3ZlcmxheS13cmFwcGVyLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxcblxcbi5hZy1vdmVybGF5LW5vLXJvd3Mtd3JhcHBlci5hZy1sYXlvdXQtYXV0by1oZWlnaHQge1xcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFBvcHVwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1wb3B1cCA+IGRpdiB7XFxuICB6LWluZGV4OiA1OyB9XFxuXFxuLmFnLXBvcHVwLWJhY2tkcm9wIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFZpcnR1YWwgTGlzdHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctdmlydHVhbC1saXN0LWl0ZW0gc3BhbjplbXB0eTpub3QoLmFnLWljb24pIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgVG9wIGFuZCBCb3R0b21cXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWZsb2F0aW5nLXRvcCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERpYWxvZ1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZGlhbG9nIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWRpYWxvZyAuYWctcmVzaXplciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIHotaW5kZXg6IDE7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcExlZnQge1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItdG9wIHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgbGVmdDogNXB4O1xcbiAgICAgIHJpZ2h0OiA1cHg7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgY3Vyc29yOiBucy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcFJpZ2h0IHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG5lc3ctcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1yaWdodCB7XFxuICAgICAgdG9wOiA1cHg7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgYm90dG9tOiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItYm90dG9tUmlnaHQge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWJvdHRvbSB7XFxuICAgICAgYm90dG9tOiAwO1xcbiAgICAgIGxlZnQ6IDVweDtcXG4gICAgICByaWdodDogNXB4O1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1ib3R0b21MZWZ0IHtcXG4gICAgICBib3R0b206IDA7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbmVzdy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWxlZnQge1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgdG9wOiA1cHg7XFxuICAgICAgYm90dG9tOiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxcbiAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgIGZsZXg6IG5vbmU7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLXRpdGxlIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cXG4gIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy1jb250ZW50LXdyYXBwZXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctY29udGVudC13cmFwcGVyID4gZGl2IHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWNvbnRlbnQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBUb29sdGlwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy10b29sdGlwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgei1pbmRleDogOTk5OTk7IH1cXG5cXG4uYWctY2hhcnQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgei1pbmRleDogOTk5OTk7XFxuICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xcbiAgZm9udDogMTJweCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xcbiAgcGFkZGluZzogN3B4O1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDI0NCwgMjQ0LCAwLjkpO1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICBib3gtc2hhZG93OiAzcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy1jaGFydC10b29sdGlwIC50aXRsZSB7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBBbmltYXRpb25zXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy12YWx1ZS1zbGlkZS1vdXQge1xcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XFxuICBvcGFjaXR5OiAxO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDNzLCBtYXJnaW4tcmlnaHQgM3M7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDNzLCBtYXJnaW4tcmlnaHQgM3M7XFxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuLmFnLXZhbHVlLXNsaWRlLW91dC1lbmQge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcbiAgb3BhY2l0eTogMDsgfVxcblxcbi5hZy1vcGFjaXR5LXplcm8ge1xcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBNZW51XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1tZW51IHtcXG4gIG1heC1oZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcblxcbi5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICBoZWlnaHQ6IDI2NXB4O1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICB3aWR0aDogMjAwcHg7IH1cXG5cXG4uYWctbWVudS1saXN0IHtcXG4gIGRpc3BsYXk6IHRhYmxlOyB9XFxuXFxuLmFnLW1lbnUtb3B0aW9uLCAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgZGlzcGxheTogdGFibGUtcm93OyB9XFxuICAuYWctbWVudS1vcHRpb24gPiBzcGFuLCAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcblxcbi5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBSaWNoIFNlbGVjdFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcmljaC1zZWxlY3Qge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgb3V0bGluZTogbm9uZTsgfVxcbiAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlID4gc3BhbiB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSAuYWctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogMTtcXG4gICAgICBvcmRlcjogMTsgfVxcbiAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogUGFnaW5hdGlvblxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcGFnaW5nLXBhbmVsIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxcblxcbi5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctZGlzYWJsZWQge1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbCBQYW5lbFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB3aWR0aDogMjAwcHg7IH1cXG4gIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4uYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cXG5cXG4uYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiA1cHg7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7IH1cXG5cXG4uYWctbHRyIC5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XFxuXFxuLmxvYWRpbmctZmlsdGVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwYWRkaW5nOiA1cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM0cHg7XFxuICB3aWR0aDogMTAwJTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctZGV0YWlscy1yb3cge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZGV0YWlscy1ncmlkIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctbnVtZXJpYy1oZWFkZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBHcm91cCBDb21wb25lbnRcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqL1xcbi5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAtMTBweDsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU2lkZSBCYXJcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXNpZGUtYmFyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcbiAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgZGl2IGJ1dHRvbiB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgZGl2IGJ1dHRvbiBzcGFuOm5vdCguYWctaWNvbikge1xcbiAgICAgIC13ZWJraXQtd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICAtbXMtd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICB3cml0aW5nLW1vZGU6IHRiO1xcbiAgICAgIC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcXG4gICAgICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1scjtcXG4gICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyB9XFxuICAuYWctc2lkZS1iYXIgLnBhbmVsLWNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAxODBweDsgfVxcbiAgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLnBhbmVsLWNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAyMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgYnV0dG9uIHNwYW46bm90KC5hZy1pY29uKSB7XFxuICAtd2Via2l0LXdyaXRpbmctbW9kZTogdGItcmw7XFxuICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIHdyaXRpbmctbW9kZTogdGItcmw7XFxuICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XFxuICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFN0YXR1cyBCYXJcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXN0YXR1cy1iYXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1zdGF0dXMtYmFyIC5hZy1zdGF0dXMtcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctc3RhdHVzLWJhci1sZWZ0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItcmlnaHQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgcGFkZGluZy1sZWZ0OiA3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgcGFkZGluZy1sZWZ0OiA3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgcGFkZGluZy1sZWZ0OiA5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgcGFkZGluZy1sZWZ0OiA5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgcGFkZGluZy1yaWdodDogMTEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctbGVmdDogMTEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gIHBhZGRpbmctbGVmdDogMTMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1yaWdodDogMTUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgcGFkZGluZy1sZWZ0OiAxNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgcGFkZGluZy1yaWdodDogMTcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctbGVmdDogMTcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gIHBhZGRpbmctbGVmdDogMTkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgcGFkZGluZy1sZWZ0OiAyMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgcGFkZGluZy1yaWdodDogMjAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDIxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gIHBhZGRpbmctbGVmdDogMjIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDIyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgcGFkZGluZy1sZWZ0OiAyMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgcGFkZGluZy1yaWdodDogMjMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctbGVmdDogMjMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gIHBhZGRpbmctbGVmdDogMjUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgcGFkZGluZy1sZWZ0OiAyNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgcGFkZGluZy1yaWdodDogMjYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDI3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1sZWZ0OiAyNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1yaWdodDogMjcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgcGFkZGluZy1sZWZ0OiAyOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgcGFkZGluZy1yaWdodDogMjkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctbGVmdDogMjkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gIHBhZGRpbmctbGVmdDogMzEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDMxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDMzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1yaWdodDogMzMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gIHBhZGRpbmctbGVmdDogMzQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgcGFkZGluZy1sZWZ0OiAzNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgcGFkZGluZy1yaWdodDogMzUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctbGVmdDogMzUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gIHBhZGRpbmctbGVmdDogMzcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDM3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgcGFkZGluZy1sZWZ0OiAzODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgcGFkZGluZy1yaWdodDogMzgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDM5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgcGFkZGluZy1sZWZ0OiA0MTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgcGFkZGluZy1yaWdodDogNDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctbGVmdDogNDEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gIHBhZGRpbmctbGVmdDogNDMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgcGFkZGluZy1sZWZ0OiA0NDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgcGFkZGluZy1yaWdodDogNDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1sZWZ0OiA0NTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1yaWdodDogNDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gIHBhZGRpbmctbGVmdDogNDYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgcGFkZGluZy1sZWZ0OiA0NzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgcGFkZGluZy1yaWdodDogNDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctbGVmdDogNDcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gIHBhZGRpbmctbGVmdDogNDkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0OTBweDsgfVxcblxcbi5hZy1sdHIge1xcbiAgZGlyZWN0aW9uOiBsdHI7IH1cXG4gIC5hZy1sdHIgLmFnLWJvZHksIC5hZy1sdHIgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLWx0ciAuYWctZmxvYXRpbmctYm90dG9tLCAuYWctbHRyIC5hZy1oZWFkZXIsIC5hZy1sdHIgLmFnLWJvZHktdmlld3BvcnQsIC5hZy1sdHIgLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbiAgLmFnLWx0ciAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgcmlnaHQ6IC00cHg7IH1cXG4gIC5hZy1sdHIgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGxlZnQ6IC00cHg7IH1cXG5cXG4uYWctcnRsIHtcXG4gIGRpcmVjdGlvbjogcnRsOyB9XFxuICAuYWctcnRsIC5hZy1ib2R5LCAuYWctcnRsIC5hZy1mbG9hdGluZy10b3AsIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWJvdHRvbSwgLmFnLXJ0bCAuYWctaGVhZGVyLCAuYWctcnRsIC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctcnRsIC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcbiAgLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgbGVmdDogLTRweDsgfVxcbiAgLmFnLXJ0bCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICByaWdodDogLTRweDsgfVxcblxcbkBtZWRpYSBwcmludCB7XFxuICAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuICAuYWctcm93IHtcXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9IH1cXG5cXG4uYWctYm9keSAuYWctcGlubmVkLWxlZnQtY29scy12aWV3cG9ydCwgLmFnLWJvZHkgLmFnLWJvZHktdmlld3BvcnQsIC5hZy1ib2R5IC5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCB7XFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cXG5cXG4uYWctY2hhcnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIgY2FudmFzIHtcXG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxcbiAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDEwcHg7XFxuICAgIHJpZ2h0OiAyMHB4O1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgPiBkaXYge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1oZWFkZXIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgZmxleDogbm9uZTsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctdGFiLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5ID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3Mge1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgICAgICAgIG9wYWNpdHk6IDAuMjsgfVxcbiAgICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLXByZXYtYnRuLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biB7XFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xcbiAgICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctY2hhcnQtc2V0dGluZ3MtcHJldi1idG4gYnV0dG9uLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biBidXR0b24ge1xcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICAgIHRvcDogMDtcXG4gICAgICAgICAgbGVmdDogMDtcXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciB7XFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZywgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZyB7XFxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cXG4gICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCBjYW52YXMge1xcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZGF0YS13cmFwcGVyIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XFxuXFxuLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gIG9wYWNpdHk6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3BhbiB7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XFxuICAgIGZvbnQtc2l6ZTogMjRweDtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgbWFyZ2luOiAycHggMDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcblxcbi5hZy1jaGFydDpob3ZlciAuYWctY2hhcnQtbWVudTpub3QoLmFnLWhhcy1wb3B1cCkge1xcbiAgb3BhY2l0eTogMTtcXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG4gIC5hZy1jaGFydDpob3ZlciAuYWctY2hhcnQtbWVudTpub3QoLmFnLWhhcy1wb3B1cCk6aG92ZXIgPiBzcGFuIHtcXG4gICAgb3BhY2l0eTogMTsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctdGFiLWJvZHkge1xcbiAgcGFkZGluZzogMDsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICBtYXJnaW46IDVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgcGFkZGluZzogMCAxMHB4O1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cXG4gICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcblxcbi8qIHRhcmdldHMgSUUxMSBvbmx5ICovXFxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVaZzcvR0pBQUFBRjRBQUFiQkdobFlXUVZNeVFIQUFBY2ZBQUFBRFpvYUdWaEI4SUQrQUFBSExRQUFBQWthRzEwZU5JQUlnTUFBQnpZQUFBQTNHeHZZMkc3cE1JZUFBQWR0QUFBQUhCdFlYaHdBRVFBbFFBQUhpUUFBQUFnYm1GdFpkQ0ZLR0lBQUI1RUFBQUJ3bkJ2YzNRQUF3QUFBQUFnQ0FBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBSEFBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRWNBUlVlQVJjV0JnY09BUlVoTlRNVklUUTJOejRCSnk0Qkp6VWhBeVErWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDFkQWdFQkFRRUNYRDVKU1VtU1NVbitCU1U2QVFFQkFRRUJBd0kxSkVsSlNwSktTVWtrTlFJREFRRUJBUU1DTlNSSlNFbVJTVWhKQWVCQS93QUJkUmtRQ2hnblZnRUFRUDZBQmhzdFpDQXVZZ0lCZ0FPQUFsdytTVWxKa2tsSlNUNWNBZ0VCQVFFQ1hENUpTVW1TU1VsSlBsd0NBUUVCUVRnbVNFbEpra2xKU1NRMUFnTUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCL3dCQUFRRUJJRUlySEVRWElqMGFRSUFtVEJnblJ4OHBSelJGQUFFQVV3QVRBNjBEYlFBbkFBQVRGd2NuTng0QkZ3Y2hFUWNuTng0QkZ3Y25FU0VuTng0QkZ3Y25OeUVSTng0QkZ3Y25OeGNSelVvdWxwWU1GZ3hLQVJOSkxwY21TeVl1U1FFVFNpNGxUQ1dXTGtyKzdVa01GZ3lYbHk1SkFhQkpMcGVYREJZTVNRRVRTaTZXSlV3bExrcis3VWt1SmtzbWx5NUovdTFLREJZTWxwWXVTZ0VUQUFBQkFTa0FtUUxYQXVjQUNnQUFBUWNuTng0QkZ3Y25FU01CNElrdTF6WnJOaTZKUUFKc2lTM1hObXMyTFluK0xRQURBSUFBUUFPQUEwQUFHd0EzQUVZQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJFemNlQVJjSEZ3Y25CeWMzSnpjWEFnQlBSa1pwSGg0ZUhtbEdSazlQUmtacEhoNGVIbWxHUms5Q096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPMEtwREJZTXFxb3VxYWt1cXFvdXFRTkFIaDVwUmtaUFQwWkdhUjRlSGg1cFJrWlBUMFpHYVI0ZVFCa1pWem83UWtJN09sY1pHUmtaVnpvN1FrSTdPbGNaR2Y3dHFnd1dES21wTHFxcUxxbXBMcW9BQXdEVkFKVURLd0xyQUFRQUNRQU5BQUFUTXhFakVUY3pFU01SRXpNUkk5V0FnTzk0ZU85NGVBSTMvbDRCb3JUOXFnSlcvcXIvQUFBREFBRC93QVFBQThBQUVBQWhBQ2tBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlqRXlFaUJoVVJGQll6SVRJMk5SRTBKaU1IQVNjM0Z3RWVBUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMZ3orVk5Bem5RRjVEUnBBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgzL2xQUk5KMEJlQTBhQUFBQUF3QUEvOEFFQUFQQUFCQUFJUUFsQUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hNQXYxdExVRkJMUUtUTFVGQUxpWDl0Z0pLUUd4TUFwQk1iR3hNL1hCTWJBTzVRUzM5YlM1QVFDNENreTFCL2lKS0FBQUFBZ0FBLzhBRUFBUEFBQkFBSVFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtSXdOSVRHeHNUUDF3VEd4c1RBS1FBdjF0TFVGQkxRS1RMVUZBTGdQQWJFejljRXhzYkV3Q2tFeHNSMEV0L1cwdVFFQXVBcE10UVFBQ0FNQUFvQUhBQXVBQUNRQVBBQUFsSVJFaEZCVWNBUlVVQXhFekVTb0JBY0QvQUFFQXdJQWdRS0FDUUVoSVNKQklTQUc0L2tBQndBQUFBQUFFQU1BQW9BTkFBdUFBQXdBSEFBc0FEd0FBSlNNUk14TWpFVE1USXhFekFTTVJNd0hBUUVEQVFFREFRRUQ5d0VCQW9BSkEvY0FDUVAzQUFrRDl3QUpBQUFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUF3Q2dBRUFEWUFOQUFCQUFJQUF6QUFBbEl5SW1OUkUwTmpzQk1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lCSXp3Qk5SRTBOak1oT2dFekZTRWlCaFVSQXI3N1EyQmdRL3REWDE5REJmNzlKemMzSndFREp6YzMvZmRCWDBNQm1nRUNBZjVkSmpaQVgwUUJPa05nWUVQK3hrUmZBa0E0SnY2N0p6YzNKd0ZGSmpqK0FBRUVBZ0lYUTE5QU5pYjkzQUFBQUFBQkFTa0E2UUxYQXBjQURnQUFBVGNlQVJjSEZ3Y25CeWMzSnpjWEFnQ3BEQllNcXFvdXFha3VxcW91cVFIdHFnd1dES21wTHFxcUxxbXBMcW9BQUFBQUJRQkFBQUFEd0FPQUFDVUFNZ0EvQUVzQVVRQUFBVDRCTlRRbUl5SUdGUlFXTXpJMk54Y0hMZ0VqSWdZVkZCWXpNalkxTkNZbk53RXpOUUVISWlZMU5EWXpNaFlWRkFZakVTSW1OVFEyTXpJV0ZSUUdJd0VpSmpVME5qTXlGaFVVQmdrQkZ3RTFJd0dXQ0FocFNrcHBhVW9VSlJGcGFSRWxGRXBwYVVwS2FRZ0lhZ0U2aHYzV295VTBOQ1VsTlRVbEpUUTBKU1UxTlNVQkRRa05EUWtKRFEwQk1mN3pXUUU2aGdLREVTVVVTbWxwU2twcENBaHFhZ2dJYVVwS2FXbEtGQ1VSYWY3SExRSXBFRFVsSlRRMEpTVTEvZWMwSlNVMU5TVWxOQUZRRFFrSkRRMEpDUTBCcWY3eldRRTVMUUFBQndDR0FGWURlZ01xQUFzQUR3QWJBQ2dBTEFBNEFEd0FBRGNpQmhVVUZqTXlOalUwSmdVMUlSVURJZ1lWRkJZek1qWTFOQ1lITWhZVkZBWWpJaVkxTkRZekJTRTFJUUV5RmhVVUJpTWlKalUwTmdVaE5TSEdHaVltR2hzbEpRS1ovZWFhR2lZbUdoc2xKUnNTR1JrU0VSa1pFUUlKL3BFQmIvMzNHeVVsR3hvbUpnTE8vZVlDR3RZbUdoc2xKUnNhSm10VlZRR1ZKaG9hSmlZYUdpWVZHUklTR1JrU0VobFdWZ0UvSlJzYUppWWFHeVZxVlFBQUFBRUJLUUNaQXRjQzV3QUtBQUFCTng0QkZ3Y25OeGNSTXdJZ2lRd1dETmZYTG9sQUFSU0pDeGNMMTljdGlRSFRBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBVUFRd0J6QTcwRERRQXNBRW9BYUFCekFIMEFBQUUrQVRjNkFUTVdGeDRCRnhZWE1BWUhEZ0VIRndjbkJnY0dKaWNtSnk0Qkp5NEJKekEyTno0Qk55YzNGd2NPQVE4QkZoY2VBUmNXTno0Qk55Y09BU01pSnk0Qkp5WTFORFkzSndFK0FUOEJKaWN1QVNjbUJ3NEJCeGMrQVRNeUZ4NEJGeFlWRkFZSEZ3RU9BUlVVRmpNeU5qY25CVDRCTlRRbUl5SUdCd0VxTDJnMkJ3UUhTRU5DY2kwdEd6a3VFQ1FUUGkxTE9VQkFnRDQ5TlNsRUdRb1BDaVViRnpjZ1BpMUtDakZPR0FFZE56ZUpURXhJQ3hZS0hSeEVKaThvS1QwU0VSY1ZNQUhCTVUwWUFSZ25LR1U3T3o0cFVDVWtIRVFtTGlrcFBSRVNHQlVxL3AwTURsNUNHQzBUM2dFTERRNWVRaGtzRXdMRUZ4c0NBaGdYVWprNFJIWXdFUjROUGkxTEhBME1DQlVWSmg1S0xCRWlHRk1rSHpZV1BpMUpVU0ZaTndKRk5UVS9Cd2NYQkFnRkhSVVlFaEk4S1NrdUprUWNNZjZaSVZvM0FqZ3VMa0VTRWdFQkV4RWpGUmNSRWowcEtDOGxSUndxQVFnVExCbENYZzROM2JBVExSaERYUTRNQUFRQVF3Q1pBNzBDOWdBa0FFTUFZQUJ6QUFBQkZoY2VBUmNXRnpBR0J3WUhEZ0VuSmljdUFTY3VBU2N3TmpjMk56NEJOelkzT2dFekJ3WUhEZ0VIQmc4QkZoY2VBUmNXTnpZM1BnRTNOajhCSmljdUFTY21JeGN5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RnpBME1UUW1JeUlHSFFFVUZqTXlOalV3TkFJSlNFTkNjaTB0R3prdU9rNU9xRk5VUlNsRUdRb1BDaVViSUNrcVlEVTFOd2NFQnhFN09EZGdKeVlZQVIwM040bE1URWdxSlNaQUdob1NBUmduS0dVN096NElMU2duT3hFU0VoRTdKeWd0TFNnbk94RVNFaEU3SnlndG9GNUNRbDVlUWtKZUF2WUNHQmRTT1RoRWRqQTlJeVFRRlJReUhrb3NFU0lZVXlRckl5TXlEZzRDUUFJU0UwQXRMRFlDUlRVMVB3Y0hGdzBXRmpzakl5Z0RPQzR0UWhJUkh4RVJPeWNvTFMwb0p6c1NFUkVTT3ljb0xTMG9KenNSRWRnQlFsNWVRZ0pDWGw1Q0FRQUFBQUFDQU1BQW9BTkFBd0FBSFFBN0FBQUJCZ2NPQVFjR0J3NEJIUUVITkRZbk5DWW5KaWN1QVNjbUp6VWhIQUVGRkJZWEZoY2VBUmNXRnhVM05UWTNQZ0UzTmpjK0FUVWlJeW9CSXlJRFFBRVdGVUVsSmlBRUJNQUNBZ1VESVNVbVFCWVZBUUtBL2NBRUJDRWxKa0FXRlFGQUFSWVZRU1VtSUFRRVFFQkFnRUJBQXJvZ0h4OC9JQ0FpQlFzR2RaQkNnMElHQ2dRaUlTSkFIaDhkUmhFakRBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBVUFEd0FBQVNFMUlSd0JKUlVoTlNJaktnRWpJZ09BL1FBREFQMUFBb0JRVUZDZ1VGQUJZTUF3WUZCQVFBQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQ0FFQUFvQVBBQXVBQUNnQVdBQUFCTng0QkZ3Y25OeGNSTXdFakVRY25OeDRCRndjbkVRRkJrQXdYRE9EZ0w1QkNBY0JDa0MvZ09IQTRMNUFCR0lZTEZndlMwaXlHQWNqOXdBSEloaXpTTkdrMUxJYitPQUFBQmdCMkFFQURpd05MQUJ3QU1nQkJBRk1BWWdCdUFBQUJGaGNlQVJjV0J3WUhEZ0VuSmljbUp5NEJOelkzTmpjK0FUYzJGd2NHQnc0QkJ3WVhGaGNlQVRjMk56WW5MZ0VuSmdjWEZnY09BUWNHSnk0Qkx3RUJIZ0VCRmpjK0FUYzJOelltSndZSERnRUhCZ2NUTWhZZkFRRW1KeVkyTnpZM09nRUhCZ2NPQVFjR0Z3RXVBUWNDQm1KVlZXc09EUzBuVGsyM1hWNUhMeDRlRndnSUhCa25KbDgzTnprS1UwZElXZ29MSnloVFU3bFZWUzBsQ2dsWVNVbGM4eU1JQ0UxQVFVNGNOQmdvQVlNR0MvN1lLQ2txU1J3YkRBZ0JDU0VnSVVFaElDRkRJVUFkS2Y1OUpRVUdNamc0V0FRS0JqQXFLamNLQ2c0QkJoRWlFZ05MQWpVMXBHVmtZRlEzTnlVVkZFTXJPVHArUUVBNk1pb3BPaEFRQVVBQkxTMk1WVlJSVXkwdEJDb3JYRXhWVlk4dkxnSE5RRXBKZXlVbUNBSVJEUllCZ3dvVS9xME1CUVVuSUI4cEhqMGRJQ0VoUVNFZ0lRSFdFUkFXL254QlMweUNMaTBHUUFJWkdVMHdMeTRCQlFVRkFRQUFBQUFEQUlBQU1BT0FBMUFBR2dBbUFEb0FBQUUwSmlNaUJoVXFBU01pQmhVUkZCWXpJVEkyTlJFMEppTXFBUWN5RmhVVUJpTWlKalUwTmdFaElpWTFFVFEyT3dFVklUVXpNaFlWRVJRR0FvQTRTRWc0SUVBZ05VdExOUUlBTlV0TE5TQkFvQklaR1JJU0dSa0JFdjRBR2lZbUdrQUJnRUFhSmlZQzhCaElTQmhMTmY1QU5VdExOUUhBTlVzUkdCRVJHQmdSRVJqOWtTWWFBY0FhSm9DQUpocitRQm9tQUFJQWNBQXdBNUFEVUFBb0FFQUFBQUVuTURZM1BnRVhOeVkzUGdFM05qRVdGeDRCRnhZWERnRUhEZ0VuQng0QkZ4WUdEd0VuQnljM0FRNEJId0VISmdZSEFUNEJOelltSnpjd0ZqY25NQVl4QVZtVkJnOGhjVEJsQ1JBUUxCUVVKU1FsU1NVbEpBVUxCUnBGS21vQkFRSURLQzhZbXVrdDZRRUlFUm9LRUtBd1loTUJJUUlFQWg0SEI1bzZKTm9CQVVlVkp4VXREd2xqSEIwZExnOFBKU1VrU2lVa0pRY09CeU12QjJjSkFSc3pZQmdNbXVvdTZRRzJEaVlQRjU4TUFoNyszd0lEQWhwV0xKb1JLdGtCQUFBS0FELy8vd1BCQTRFQUp3QTdBRWNBWVFCbkFHNEFld0NHQUl3QWtnQUFBUjRCRnhZVkZoUUhGQWNPQVFjR0l3WWlKeUluTGdFbkpqVW1ORGMwTno0Qk56WXpOaklYTWhNaEVSWXpGalkzTmpjK0FUYzJOejRCSnpRbkFSUVdGUjRCRnpJV016VWpBUWNuTng0QkZ3Y25GUTRCQnlNWEJ5YzNIZ0VYQnhZMk56VUZGQllWTXpVbkJoUUhNelVqTnlvQkl5SUdCeFFHRlRNMU15VVZNelFtTlM0Qkp5SW1KUVlpQnhVek55WWlJeFV6QXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW1vL2JvOVBUMTZQVDA5SkRVQ0FnSUJBUUVDL1B3QkFqVWtDQkFJZkFKQkNTNVhGaXNXTGdrQlhEOTNDaTVXVmd3V0RBdFJnZ0g5dkFGK2ZRRUJmMzIvR0M0WEpUb0JBWHhDQWNkOUFRSTFKQWdRL3ZNaFFTQ0N3eUJCSVlJRGdBSmNQa2xKU1pKSlNVaytYQUlCQVFFQkFsdytTVWxKa2tsSlNUNWNBZ0VCQWY4QS9id0NBUUVCQWdJQ05TUTlQVHg2UFQwOC9qd0pFUWdrTlFJQmZnRVdDaTVXRlN3VkxncHpQMThDQ1M1WFZ3d1dEQW9CSFVWelZDRkFJSUhDSVVBaGd2ODRKaGd3R1VGL2Z3a1JDU1ExQWdFQ0FRRi9nQUdCQUFBQ0FLQUFZQU5nQXlBQURRQWJBQUFCSVJVaEVTTVJJVFVoRVRNY0FTY1JJUlVoRVRNUklUVWhFU29CQW1BQkFQOEF3UDhBQVFEQWdQOEFBUUJBQVFEL0FCQWdBaURBL3dBQkFNQUJBRUNBZ1A4QVFQOEFBUUJBQVFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUFnQUEvOEFFQUFQQUFCc0FOd0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZQ0FHcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYWwxUlVub2pJeU1qZWxKUlhWMVJVbm9qSXlNamVsSlJBOEFvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BxWFYyTEtTaEFJeU42VWxGZFhWRlNlaU1qSXlONlVsRmRYVkZTZWlNakFBTUFBUC9BQkFBRHdBQWJBRGNBVXdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dBZ0JxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcGRVVko2SXlNakkzcFNVVjFkVVZKNkl5TWpJM3BTVVFHZEdSbFhPanRDUWpzNlZ4a1pHUmxYT2p0Q1FqczZWeGtaQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWova0JDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtaR1ZjNk93QUFBQUFDQUhrQWt3T0hBdTBBRGdBWkFBQUpBU2MzSVRVaEp6Y1dGeDRCRnhZbEZ5RVZJUWNYTnljT0FRT0gvdEtOUVA1dEFaTkFqU1ltSlV3bEp2N0dnUDRTQWU2QU10UFREQm9Cd1A3VGpVREFRSTBsSmlaTEppVjZnRUNBTTlQVERSa0FBQUFBQWdDQUFFQURnQU5BQUE0QUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFakJUY1hCeWMzRnhFekVRTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBQUVBNlFFZUF4Y0NZZ0FIQUFBSkFqY1hOeDRCQXhmKzZmN3BMdW5wREJZQ05mN3BBUmN0NmVrTEZ3QUFBUUZlQUtrQ29nTFhBQWNBQUFFSEZ3Y0pBUjRCQXFMcDZTMys2UUVYQ3hjQ3FlbnBMZ0VYQVJjTUZnQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQkFPa0JIZ01YQW1JQUN3QUFBUWNuQnljQkZoY2VBUmNXQXhjdTZla3VBUmNqSXlKR0l5TUJTeTNwNlMwQkZ5TWpJMFVqSXdBQUFBRUE2UUR1QXhjQ2tnQUhBQUFKQVNjM0Z3RWVBUU1YL29tM0xva0JTUXdXQW1YK2liY3RpUUZKQ3hjQUFRRmVBS2tDb2dMWEFBd0FBQWtCSnpjbk54WVhIZ0VYRmhjQ292N3BMZW5wTFNNakkwVWpJeU1Cd1A3cEx1bnBMaU1qSTBZaUl5TUFBQUFBQVFEQUFhQURRQUhnQUFNQUFCTWhGU0hBQW9EOWdBSGdRQUFBQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFBQUFBRUFBTnlZOTlOZkR6ejFBQXNFQUFBQUFBRFpDZS9GQUFBQUFOa0o3OFVBQVAvQUJBQUR3QUFBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFFQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBTndRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFBL0JBQUFVd1FBQVNrRUFBQ0FCQUFBMVFRQUFBQUVBQUFBQkFBQUFBUUFBTUFFQUFEQUJBQUJYZ1FBQUtBRUFBRXBCQUFBUUFRQUFJWUVBQUVwQkFBQlhnUUFBRU1FQUFCREJBQUF3QVFBQVBVRUFBREFCQUFBUHdRQUFFTUVBQUQxQkFBQWVRUUFBR0FFQUFEeEJBQUF3QVFBQU1zRUFBQ0FCQUFCWGdRQUFFQUVBQUIyQkFBQWdBUUFBSEFFQUFBL0JBQUFvQVFBQVY0RUFBQUFCQUFBQUFRQUFIa0VBQUNBQkFBQTZRUUFBVjRFQUFGZUJBQUE2UVFBQU9rRUFBRmVCQUFBd0FRQUFPa0FBQUFBQUFvQUZBQWVBTVFCQ0FFZ0FZNEJxZ0h1QWlvQ1hnSjhBcDRDdEFNQUF5QURtQVAwQkF3RUtnVHFCWlFGOEFZT0JsZ0crZ2VrQjhnSDlnaEFDR0FJZWdpY0NMZ0kxZ2tDQ2JvS0RBcDBDMHdMZWd1UUMrWU1aZ3lZRE1RTTJnendEUTROS2cxQURWNE5iQTJDQUFFQUFBQTNBSk1BREFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBTUFBQUFBUUFBQUFBQUFnQUhBSTBBQVFBQUFBQUFBd0FNQUVVQUFRQUFBQUFBQkFBTUFLSUFBUUFBQUFBQUJRQUxBQ1FBQVFBQUFBQUFCZ0FNQUdrQUFRQUFBQUFBQ2dBYUFNWUFBd0FCQkFrQUFRQVlBQXdBQXdBQkJBa0FBZ0FPQUpRQUF3QUJCQWtBQXdBWUFGRUFBd0FCQkFrQUJBQVlBSzRBQXdBQkJBa0FCUUFXQUM4QUF3QUJCQWtBQmdBWUFIVUFBd0FCQkFrQUNnQTBBT0JoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFXWlhKemFXOXVJREV1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQmhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMWhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMVNaV2QxYkdGeUFGSUFaUUJuQUhVQWJBQmhBSEpoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYmFsaGFtLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgY29sb3I6ICNGNUY1RjU7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwQjBGRjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZDM0MzY7XFxuICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICogKjpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogIzQzYTA0NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiAjZTUzOTM1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSk7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzNiwgMjQwLCAyNDEsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzYsIDI0MCwgMjQxLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyYzJlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMEIwRkY7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDc0OTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjM0MjQyNDInJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjRweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWMxZjIwO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC42NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTZweDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTg4MDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDUsIDE2NiwgMjU1LCAwLjUpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMTc3LCA3NCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgICB3aWR0aDogMjAwcHg7XFxuICAgICAgaGVpZ2h0OiAxODJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ODgwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNjQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzIzOTNjO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAwLjY0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSkgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICNGNUY1RjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwNTA1OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMzNDM5M2I7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxOTFhOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjRjVGNUY1O1xcbiAgICBmb250LXNpemU6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcbiAgICBjb2xvcjogI2VjZjBmMTtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRiAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDgwJTtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBjb250ZW50OiBcXFwiIFxcXCI7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgbWFyZ2luLXRvcDogOHB4O1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRleHQtaW5kZW50OiAtMjAwMHB4O1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzVjNWM1YzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBib3JkZXItY29sb3I6ICMwMDU4ODA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1pbi1oZWlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBoZWlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1pY29uLWV4cGFuZGVkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWljb24tY29udHJhY3RlZCB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGV0YWlscy1yb3cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgcGFkZGluZzogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGlucHV0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIHNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjJjMmU7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVaZzcvR0pBQUFBRjRBQUFiQkdobFlXUVZNeVFIQUFBY2ZBQUFBRFpvYUdWaEI4SUQrQUFBSExRQUFBQWthRzEwZU5JQUlnTUFBQnpZQUFBQTNHeHZZMkc3cE1JZUFBQWR0QUFBQUhCdFlYaHdBRVFBbFFBQUhpUUFBQUFnYm1GdFpkQ0ZLR0lBQUI1RUFBQUJ3bkJ2YzNRQUF3QUFBQUFnQ0FBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBSEFBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRWNBUlVlQVJjV0JnY09BUlVoTlRNVklUUTJOejRCSnk0Qkp6VWhBeVErWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDFkQWdFQkFRRUNYRDVKU1VtU1NVbitCU1U2QVFFQkFRRUJBd0kxSkVsSlNwSktTVWtrTlFJREFRRUJBUU1DTlNSSlNFbVJTVWhKQWVCQS93QUJkUmtRQ2hnblZnRUFRUDZBQmhzdFpDQXVZZ0lCZ0FPQUFsdytTVWxKa2tsSlNUNWNBZ0VCQVFFQ1hENUpTVW1TU1VsSlBsd0NBUUVCUVRnbVNFbEpra2xKU1NRMUFnTUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCL3dCQUFRRUJJRUlySEVRWElqMGFRSUFtVEJnblJ4OHBSelJGQUFFQVV3QVRBNjBEYlFBbkFBQVRGd2NuTng0QkZ3Y2hFUWNuTng0QkZ3Y25FU0VuTng0QkZ3Y25OeUVSTng0QkZ3Y25OeGNSelVvdWxwWU1GZ3hLQVJOSkxwY21TeVl1U1FFVFNpNGxUQ1dXTGtyKzdVa01GZ3lYbHk1SkFhQkpMcGVYREJZTVNRRVRTaTZXSlV3bExrcis3VWt1SmtzbWx5NUovdTFLREJZTWxwWXVTZ0VUQUFBQkFTa0FtUUxYQXVjQUNnQUFBUWNuTng0QkZ3Y25FU01CNElrdTF6WnJOaTZKUUFKc2lTM1hObXMyTFluK0xRQURBSUFBUUFPQUEwQUFHd0EzQUVZQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJFemNlQVJjSEZ3Y25CeWMzSnpjWEFnQlBSa1pwSGg0ZUhtbEdSazlQUmtacEhoNGVIbWxHUms5Q096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPMEtwREJZTXFxb3VxYWt1cXFvdXFRTkFIaDVwUmtaUFQwWkdhUjRlSGg1cFJrWlBUMFpHYVI0ZVFCa1pWem83UWtJN09sY1pHUmtaVnpvN1FrSTdPbGNaR2Y3dHFnd1dES21wTHFxcUxxbXBMcW9BQXdEVkFKVURLd0xyQUFRQUNRQU5BQUFUTXhFakVUY3pFU01SRXpNUkk5V0FnTzk0ZU85NGVBSTMvbDRCb3JUOXFnSlcvcXIvQUFBREFBRC93QVFBQThBQUVBQWhBQ2tBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlqRXlFaUJoVVJGQll6SVRJMk5SRTBKaU1IQVNjM0Z3RWVBUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMZ3orVk5Bem5RRjVEUnBBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgzL2xQUk5KMEJlQTBhQUFBQUF3QUEvOEFFQUFQQUFCQUFJUUFsQUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hNQXYxdExVRkJMUUtUTFVGQUxpWDl0Z0pLUUd4TUFwQk1iR3hNL1hCTWJBTzVRUzM5YlM1QVFDNENreTFCL2lKS0FBQUFBZ0FBLzhBRUFBUEFBQkFBSVFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtSXdOSVRHeHNUUDF3VEd4c1RBS1FBdjF0TFVGQkxRS1RMVUZBTGdQQWJFejljRXhzYkV3Q2tFeHNSMEV0L1cwdVFFQXVBcE10UVFBQ0FNQUFvQUhBQXVBQUNRQVBBQUFsSVJFaEZCVWNBUlVVQXhFekVTb0JBY0QvQUFFQXdJQWdRS0FDUUVoSVNKQklTQUc0L2tBQndBQUFBQUFFQU1BQW9BTkFBdUFBQXdBSEFBc0FEd0FBSlNNUk14TWpFVE1USXhFekFTTVJNd0hBUUVEQVFFREFRRUQ5d0VCQW9BSkEvY0FDUVAzQUFrRDl3QUpBQUFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUF3Q2dBRUFEWUFOQUFCQUFJQUF6QUFBbEl5SW1OUkUwTmpzQk1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lCSXp3Qk5SRTBOak1oT2dFekZTRWlCaFVSQXI3N1EyQmdRL3REWDE5REJmNzlKemMzSndFREp6YzMvZmRCWDBNQm1nRUNBZjVkSmpaQVgwUUJPa05nWUVQK3hrUmZBa0E0SnY2N0p6YzNKd0ZGSmpqK0FBRUVBZ0lYUTE5QU5pYjkzQUFBQUFBQkFTa0E2UUxYQXBjQURnQUFBVGNlQVJjSEZ3Y25CeWMzSnpjWEFnQ3BEQllNcXFvdXFha3VxcW91cVFIdHFnd1dES21wTHFxcUxxbXBMcW9BQUFBQUJRQkFBQUFEd0FPQUFDVUFNZ0EvQUVzQVVRQUFBVDRCTlRRbUl5SUdGUlFXTXpJMk54Y0hMZ0VqSWdZVkZCWXpNalkxTkNZbk53RXpOUUVISWlZMU5EWXpNaFlWRkFZakVTSW1OVFEyTXpJV0ZSUUdJd0VpSmpVME5qTXlGaFVVQmdrQkZ3RTFJd0dXQ0FocFNrcHBhVW9VSlJGcGFSRWxGRXBwYVVwS2FRZ0lhZ0U2aHYzV295VTBOQ1VsTlRVbEpUUTBKU1UxTlNVQkRRa05EUWtKRFEwQk1mN3pXUUU2aGdLREVTVVVTbWxwU2twcENBaHFhZ2dJYVVwS2FXbEtGQ1VSYWY3SExRSXBFRFVsSlRRMEpTVTEvZWMwSlNVMU5TVWxOQUZRRFFrSkRRMEpDUTBCcWY3eldRRTVMUUFBQndDR0FGWURlZ01xQUFzQUR3QWJBQ2dBTEFBNEFEd0FBRGNpQmhVVUZqTXlOalUwSmdVMUlSVURJZ1lWRkJZek1qWTFOQ1lITWhZVkZBWWpJaVkxTkRZekJTRTFJUUV5RmhVVUJpTWlKalUwTmdVaE5TSEdHaVltR2hzbEpRS1ovZWFhR2lZbUdoc2xKUnNTR1JrU0VSa1pFUUlKL3BFQmIvMzNHeVVsR3hvbUpnTE8vZVlDR3RZbUdoc2xKUnNhSm10VlZRR1ZKaG9hSmlZYUdpWVZHUklTR1JrU0VobFdWZ0UvSlJzYUppWWFHeVZxVlFBQUFBRUJLUUNaQXRjQzV3QUtBQUFCTng0QkZ3Y25OeGNSTXdJZ2lRd1dETmZYTG9sQUFSU0pDeGNMMTljdGlRSFRBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBVUFRd0J6QTcwRERRQXNBRW9BYUFCekFIMEFBQUUrQVRjNkFUTVdGeDRCRnhZWE1BWUhEZ0VIRndjbkJnY0dKaWNtSnk0Qkp5NEJKekEyTno0Qk55YzNGd2NPQVE4QkZoY2VBUmNXTno0Qk55Y09BU01pSnk0Qkp5WTFORFkzSndFK0FUOEJKaWN1QVNjbUJ3NEJCeGMrQVRNeUZ4NEJGeFlWRkFZSEZ3RU9BUlVVRmpNeU5qY25CVDRCTlRRbUl5SUdCd0VxTDJnMkJ3UUhTRU5DY2kwdEd6a3VFQ1FUUGkxTE9VQkFnRDQ5TlNsRUdRb1BDaVViRnpjZ1BpMUtDakZPR0FFZE56ZUpURXhJQ3hZS0hSeEVKaThvS1QwU0VSY1ZNQUhCTVUwWUFSZ25LR1U3T3o0cFVDVWtIRVFtTGlrcFBSRVNHQlVxL3AwTURsNUNHQzBUM2dFTERRNWVRaGtzRXdMRUZ4c0NBaGdYVWprNFJIWXdFUjROUGkxTEhBME1DQlVWSmg1S0xCRWlHRk1rSHpZV1BpMUpVU0ZaTndKRk5UVS9Cd2NYQkFnRkhSVVlFaEk4S1NrdUprUWNNZjZaSVZvM0FqZ3VMa0VTRWdFQkV4RWpGUmNSRWowcEtDOGxSUndxQVFnVExCbENYZzROM2JBVExSaERYUTRNQUFRQVF3Q1pBNzBDOWdBa0FFTUFZQUJ6QUFBQkZoY2VBUmNXRnpBR0J3WUhEZ0VuSmljdUFTY3VBU2N3TmpjMk56NEJOelkzT2dFekJ3WUhEZ0VIQmc4QkZoY2VBUmNXTnpZM1BnRTNOajhCSmljdUFTY21JeGN5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RnpBME1UUW1JeUlHSFFFVUZqTXlOalV3TkFJSlNFTkNjaTB0R3prdU9rNU9xRk5VUlNsRUdRb1BDaVViSUNrcVlEVTFOd2NFQnhFN09EZGdKeVlZQVIwM040bE1URWdxSlNaQUdob1NBUmduS0dVN096NElMU2duT3hFU0VoRTdKeWd0TFNnbk94RVNFaEU3SnlndG9GNUNRbDVlUWtKZUF2WUNHQmRTT1RoRWRqQTlJeVFRRlJReUhrb3NFU0lZVXlRckl5TXlEZzRDUUFJU0UwQXRMRFlDUlRVMVB3Y0hGdzBXRmpzakl5Z0RPQzR0UWhJUkh4RVJPeWNvTFMwb0p6c1NFUkVTT3ljb0xTMG9KenNSRWRnQlFsNWVRZ0pDWGw1Q0FRQUFBQUFDQU1BQW9BTkFBd0FBSFFBN0FBQUJCZ2NPQVFjR0J3NEJIUUVITkRZbk5DWW5KaWN1QVNjbUp6VWhIQUVGRkJZWEZoY2VBUmNXRnhVM05UWTNQZ0UzTmpjK0FUVWlJeW9CSXlJRFFBRVdGVUVsSmlBRUJNQUNBZ1VESVNVbVFCWVZBUUtBL2NBRUJDRWxKa0FXRlFGQUFSWVZRU1VtSUFRRVFFQkFnRUJBQXJvZ0h4OC9JQ0FpQlFzR2RaQkNnMElHQ2dRaUlTSkFIaDhkUmhFakRBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBVUFEd0FBQVNFMUlSd0JKUlVoTlNJaktnRWpJZ09BL1FBREFQMUFBb0JRVUZDZ1VGQUJZTUF3WUZCQVFBQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQ0FFQUFvQVBBQXVBQUNnQVdBQUFCTng0QkZ3Y25OeGNSTXdFakVRY25OeDRCRndjbkVRRkJrQXdYRE9EZ0w1QkNBY0JDa0MvZ09IQTRMNUFCR0lZTEZndlMwaXlHQWNqOXdBSEloaXpTTkdrMUxJYitPQUFBQmdCMkFFQURpd05MQUJ3QU1nQkJBRk1BWWdCdUFBQUJGaGNlQVJjV0J3WUhEZ0VuSmljbUp5NEJOelkzTmpjK0FUYzJGd2NHQnc0QkJ3WVhGaGNlQVRjMk56WW5MZ0VuSmdjWEZnY09BUWNHSnk0Qkx3RUJIZ0VCRmpjK0FUYzJOelltSndZSERnRUhCZ2NUTWhZZkFRRW1KeVkyTnpZM09nRUhCZ2NPQVFjR0Z3RXVBUWNDQm1KVlZXc09EUzBuVGsyM1hWNUhMeDRlRndnSUhCa25KbDgzTnprS1UwZElXZ29MSnloVFU3bFZWUzBsQ2dsWVNVbGM4eU1JQ0UxQVFVNGNOQmdvQVlNR0MvN1lLQ2txU1J3YkRBZ0JDU0VnSVVFaElDRkRJVUFkS2Y1OUpRVUdNamc0V0FRS0JqQXFLamNLQ2c0QkJoRWlFZ05MQWpVMXBHVmtZRlEzTnlVVkZFTXJPVHArUUVBNk1pb3BPaEFRQVVBQkxTMk1WVlJSVXkwdEJDb3JYRXhWVlk4dkxnSE5RRXBKZXlVbUNBSVJEUllCZ3dvVS9xME1CUVVuSUI4cEhqMGRJQ0VoUVNFZ0lRSFdFUkFXL254QlMweUNMaTBHUUFJWkdVMHdMeTRCQlFVRkFRQUFBQUFEQUlBQU1BT0FBMUFBR2dBbUFEb0FBQUUwSmlNaUJoVXFBU01pQmhVUkZCWXpJVEkyTlJFMEppTXFBUWN5RmhVVUJpTWlKalUwTmdFaElpWTFFVFEyT3dFVklUVXpNaFlWRVJRR0FvQTRTRWc0SUVBZ05VdExOUUlBTlV0TE5TQkFvQklaR1JJU0dSa0JFdjRBR2lZbUdrQUJnRUFhSmlZQzhCaElTQmhMTmY1QU5VdExOUUhBTlVzUkdCRVJHQmdSRVJqOWtTWWFBY0FhSm9DQUpocitRQm9tQUFJQWNBQXdBNUFEVUFBb0FFQUFBQUVuTURZM1BnRVhOeVkzUGdFM05qRVdGeDRCRnhZWERnRUhEZ0VuQng0QkZ4WUdEd0VuQnljM0FRNEJId0VISmdZSEFUNEJOelltSnpjd0ZqY25NQVl4QVZtVkJnOGhjVEJsQ1JBUUxCUVVKU1FsU1NVbEpBVUxCUnBGS21vQkFRSURLQzhZbXVrdDZRRUlFUm9LRUtBd1loTUJJUUlFQWg0SEI1bzZKTm9CQVVlVkp4VXREd2xqSEIwZExnOFBKU1VrU2lVa0pRY09CeU12QjJjSkFSc3pZQmdNbXVvdTZRRzJEaVlQRjU4TUFoNyszd0lEQWhwV0xKb1JLdGtCQUFBS0FELy8vd1BCQTRFQUp3QTdBRWNBWVFCbkFHNEFld0NHQUl3QWtnQUFBUjRCRnhZVkZoUUhGQWNPQVFjR0l3WWlKeUluTGdFbkpqVW1ORGMwTno0Qk56WXpOaklYTWhNaEVSWXpGalkzTmpjK0FUYzJOejRCSnpRbkFSUVdGUjRCRnpJV016VWpBUWNuTng0QkZ3Y25GUTRCQnlNWEJ5YzNIZ0VYQnhZMk56VUZGQllWTXpVbkJoUUhNelVqTnlvQkl5SUdCeFFHRlRNMU15VVZNelFtTlM0Qkp5SW1KUVlpQnhVek55WWlJeFV6QXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW1vL2JvOVBUMTZQVDA5SkRVQ0FnSUJBUUVDL1B3QkFqVWtDQkFJZkFKQkNTNVhGaXNXTGdrQlhEOTNDaTVXVmd3V0RBdFJnZ0g5dkFGK2ZRRUJmMzIvR0M0WEpUb0JBWHhDQWNkOUFRSTFKQWdRL3ZNaFFTQ0N3eUJCSVlJRGdBSmNQa2xKU1pKSlNVaytYQUlCQVFFQkFsdytTVWxKa2tsSlNUNWNBZ0VCQWY4QS9id0NBUUVCQWdJQ05TUTlQVHg2UFQwOC9qd0pFUWdrTlFJQmZnRVdDaTVXRlN3VkxncHpQMThDQ1M1WFZ3d1dEQW9CSFVWelZDRkFJSUhDSVVBaGd2ODRKaGd3R1VGL2Z3a1JDU1ExQWdFQ0FRRi9nQUdCQUFBQ0FLQUFZQU5nQXlBQURRQWJBQUFCSVJVaEVTTVJJVFVoRVRNY0FTY1JJUlVoRVRNUklUVWhFU29CQW1BQkFQOEF3UDhBQVFEQWdQOEFBUUJBQVFEL0FCQWdBaURBL3dBQkFNQUJBRUNBZ1A4QVFQOEFBUUJBQVFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUFnQUEvOEFFQUFQQUFCc0FOd0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZQ0FHcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYWwxUlVub2pJeU1qZWxKUlhWMVJVbm9qSXlNamVsSlJBOEFvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BxWFYyTEtTaEFJeU42VWxGZFhWRlNlaU1qSXlONlVsRmRYVkZTZWlNakFBTUFBUC9BQkFBRHdBQWJBRGNBVXdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dBZ0JxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcGRVVko2SXlNakkzcFNVVjFkVVZKNkl5TWpJM3BTVVFHZEdSbFhPanRDUWpzNlZ4a1pHUmxYT2p0Q1FqczZWeGtaQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWova0JDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtaR1ZjNk93QUFBQUFDQUhrQWt3T0hBdTBBRGdBWkFBQUpBU2MzSVRVaEp6Y1dGeDRCRnhZbEZ5RVZJUWNYTnljT0FRT0gvdEtOUVA1dEFaTkFqU1ltSlV3bEp2N0dnUDRTQWU2QU10UFREQm9Cd1A3VGpVREFRSTBsSmlaTEppVjZnRUNBTTlQVERSa0FBQUFBQWdDQUFFQURnQU5BQUE0QUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFakJUY1hCeWMzRnhFekVRTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBQUVBNlFFZUF4Y0NZZ0FIQUFBSkFqY1hOeDRCQXhmKzZmN3BMdW5wREJZQ05mN3BBUmN0NmVrTEZ3QUFBUUZlQUtrQ29nTFhBQWNBQUFFSEZ3Y0pBUjRCQXFMcDZTMys2UUVYQ3hjQ3FlbnBMZ0VYQVJjTUZnQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQkFPa0JIZ01YQW1JQUN3QUFBUWNuQnljQkZoY2VBUmNXQXhjdTZla3VBUmNqSXlKR0l5TUJTeTNwNlMwQkZ5TWpJMFVqSXdBQUFBRUE2UUR1QXhjQ2tnQUhBQUFKQVNjM0Z3RWVBUU1YL29tM0xva0JTUXdXQW1YK2liY3RpUUZKQ3hjQUFRRmVBS2tDb2dMWEFBd0FBQWtCSnpjbk54WVhIZ0VYRmhjQ292N3BMZW5wTFNNakkwVWpJeU1Cd1A3cEx1bnBMaU1qSTBZaUl5TUFBQUFBQVFEQUFhQURRQUhnQUFNQUFCTWhGU0hBQW9EOWdBSGdRQUFBQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFBQUFBRUFBTnlZOTlOZkR6ejFBQXNFQUFBQUFBRFpDZS9GQUFBQUFOa0o3OFVBQVAvQUJBQUR3QUFBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFFQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBTndRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFBL0JBQUFVd1FBQVNrRUFBQ0FCQUFBMVFRQUFBQUVBQUFBQkFBQUFBUUFBTUFFQUFEQUJBQUJYZ1FBQUtBRUFBRXBCQUFBUUFRQUFJWUVBQUVwQkFBQlhnUUFBRU1FQUFCREJBQUF3QVFBQVBVRUFBREFCQUFBUHdRQUFFTUVBQUQxQkFBQWVRUUFBR0FFQUFEeEJBQUF3QVFBQU1zRUFBQ0FCQUFCWGdRQUFFQUVBQUIyQkFBQWdBUUFBSEFFQUFBL0JBQUFvQVFBQVY0RUFBQUFCQUFBQUFRQUFIa0VBQUNBQkFBQTZRUUFBVjRFQUFGZUJBQUE2UVFBQU9rRUFBRmVCQUFBd0FRQUFPa0FBQUFBQUFvQUZBQWVBTVFCQ0FFZ0FZNEJxZ0h1QWlvQ1hnSjhBcDRDdEFNQUF5QURtQVAwQkF3RUtnVHFCWlFGOEFZT0JsZ0crZ2VrQjhnSDlnaEFDR0FJZWdpY0NMZ0kxZ2tDQ2JvS0RBcDBDMHdMZWd1UUMrWU1aZ3lZRE1RTTJnendEUTROS2cxQURWNE5iQTJDQUFFQUFBQTNBSk1BREFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBTUFBQUFBUUFBQUFBQUFnQUhBSTBBQVFBQUFBQUFBd0FNQUVVQUFRQUFBQUFBQkFBTUFLSUFBUUFBQUFBQUJRQUxBQ1FBQVFBQUFBQUFCZ0FNQUdrQUFRQUFBQUFBQ2dBYUFNWUFBd0FCQkFrQUFRQVlBQXdBQXdBQkJBa0FBZ0FPQUpRQUF3QUJCQWtBQXdBWUFGRUFBd0FCQkFrQUJBQVlBSzRBQXdBQkJBa0FCUUFXQUM4QUF3QUJCQWtBQmdBWUFIVUFBd0FCQkFrQUNnQTBBT0JoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFXWlhKemFXOXVJREV1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQmhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMWhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMVNaV2QxYkdGeUFGSUFaUUJuQUhVQWJBQmhBSEpoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYmFsaGFtIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogIzAwMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51LCAuYWctdGhlbWUtYmFsaGFtIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOTFFQTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHdoaXRlO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtICo6Zm9jdXMsIC5hZy10aGVtZS1iYWxoYW0gKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogODEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogIzQzYTA0NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSk7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOTVBNUE2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ5LCAxNjUsIDE2NiwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5NUE1QTY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNDksIDE2NSwgMTY2LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNztcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZkZmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjQkRDM0M3O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA5MUVBO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNCREMzQzcnJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y1ZjdmNztcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGhlaWdodDogMzJweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxNnB4O1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24gYnV0dG9uIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgODgsIDI1NSwgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMTMyLCAwLjEpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM4NjkxOTg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgICAgd2lkdGg6IDIwMHB4O1xcbiAgICAgIGhlaWdodDogMTgycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGU0ZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSkgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogIzAwMDtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgxODksIDE5NSwgMTk5LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEwcHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZTBlMjsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmQwZDM7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2NiZDBkMztcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBmb250LXNpemU6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZEJhbGhhbVxcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDE2cHg7XFxuICAgIGNvbG9yOiAjN0Y4QzhEO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yaWdodDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUEgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogODAlO1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTg5LCAxOTUsIDE5OSwgMC41KTtcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0ZXh0LWluZGVudDogLTIwMDBweDtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDo6YWZ0ZXIge1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcC5hZy13aWR0aC1oYWxmOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogI2Q5ZGNkZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWluLWhlaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zaWRlLWJhcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1leHBhbmRlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1jb250cmFjdGVkIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgY29sb3I6ICMwMDA7XFxuICAgIHBhZGRpbmc6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpuYjkwdTRBQUFGNEFBQVVxR2hsWVdRVk15UGRBQUFXSUFBQUFEWm9hR1ZoQjhJRCtBQUFGbGdBQUFBa2FHMTBlTklBRitZQUFCWjhBQUFBM0d4dlkyR1NJcGNrQUFBWFdBQUFBSEJ0WVhod0FFUUFXd0FBRjhnQUFBQWdibUZ0WlNqRzlVc0FBQmZvQUFBQnpuQnZjM1FBQXdBQUFBQVp1QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBREFBQUFTRVhCeUVWSVJNRElSd0JGUU5LL3BONWVRRnQvV3pjM0FLVUFwWFYxYXNCZ0FHQUsxVXJBQUFBQUFFQUFQL0FCQUFEd0FBZ0FBQUJOUWNuTnhjSEp4RWhKemNYQnljM0lSRTNGd2NuTnhjUklSY0hKemNYQnlFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBQUFBQVFDV0FCNERhZ05pQUE4QUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFQnJyRm5BV290TGkxYUxpMHRaN0NsQWtLeFp3RnFMaTB0V3kwdExXZXcvZDBDSkFBQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FrQUNnQUxRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpFUVV6RlNNRE14RWpFUU4vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajltbFZWQVZWVlZhdFdWa0pMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDZyL3RZQktvQ3FBYXIrVmdHcUFBQUFBQU1BQWYrK0EvOER3UUFJQUJrQUtRQUFDUUVuTnhjVEhnRVhFeklXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF5WCs2UDAxcnVnU0poSmFOVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWUFxejkvc3BEaXdHb0NoUUtBUlZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQUFEQUFIL3ZnUC9BOEVBQXdBVUFDUUFBQUVoRlNFQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lCVlFGVy9xb0NLalZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBSVZxZ0pXU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFBQ0FBSC92Z1AvQThFQUVBQWdBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUlBVlFBVkFhc0Rhd0FFQUFnQUFBRVJJUkVoRVJVaE5RR3IvcW9CVnY2cUFtdjlxZ0pXQVFDcnF3QUFCZ0JWQUJVRHF3TnJBQU1BQ0FBTUFCRUFGUUFhQUFBbEZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQnEvNnFBMWIrcWdGVy9nRCtxZ05XL3FvQlZ2NEEvcW9EVnY2cUFWYkFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBQU1BQWYrK0EvOER3UUFRQUNBQUpBQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF4VWhOUU4vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBd0NyQUdzRFZRTVZBQWNBQ3dBUkFBQUJNeEVoTlNNUklSTWhFU0VETlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBYXRWL3FzQkFBQUFBUUJ1QUM0RGtnTlNBQTRBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBUUlBQVJrZVBSNys1d0VaZWY3bi91ZDVBUm4rNTNrQkdRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWG4rNXdBQUFBQURBSGdBMVFPZkF1RUFPQUJHQUZnQUFBRTJOejRCTnpZWEhnRWZBUVlIRGdFSEJnY1dGeDRCRnhZWERnRW5MZ0VuRGdFSEJpY3VBU2NtTno0Qk55NEJOejRCRng0QkZ4NEJGd2NHQnc0QkJ3WTNQZ0UzTURZSEp5SUdCdzRCQndZWEhnRVhGaGMzTGdFakFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFjQU1nQW5BODREV1FBTEFBOEFIQUFnQUMwQU1RQStBQUEzSWdZVkZCWXpNalkxTkNZcEFSVWhBU0lHRlJRV016STJOVFFtSXlFVklUVUhNaFlWRkFZaklpWTFORFl6QVJVaE5TTXlGaFVVQmlNaUpqVTBOak9kTFQ0K0xTdytQZ01GL1ZVQ3EvelBMVDQrTFN3K1Bpd0RNZjFWaGg0c0xCNGZMQ3dmQXpIOVZZWXNQajRzTFQ0K0xmdytMQzArUGkwc1B0VUNCRDhzTEQ4L0xDdy8xdFlnTEI4ZkxDd2ZIeXdCVHRYVlBpMHNQajRzTFQ0QUFBQUJBSllBSXdOcUExMEFDd0FBQVJFNkFUTVJOeGNKQVRjWEFhOHBVaW13Wi82Vy9wWm5zZ0ZEQWhyOTU3Qm4vcFlCYW1leEFBQUFBQU1BQWYrK0EvOER3UUFRQUNBQUxRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUFUVXpGVE1WSXhVak5TTTFNd04vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1kvaHFxcTZ1cXE2c0R3VXMxL1AwMVMwczFBd00xUzFjWUVmei9FUmtaRVFNQkVSaitxNnVycXF1cnFnQUFBQUFEQUNJQWRnUGVBd29BSWdCSEFGRUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOd0UrQVRjd0ppY09BUWNCS0RVbklFSWpTRUpDZHpRekt5cHZRRGRESVE3K3pCNC9IZ29VQ3dFTE5Xc3lVRExyS2lVbE9oUVVCeU0rR2lZeE1uTS9QejgwTGk4dlh5OHZMaUllSHpZWkdCY3JhajhCNHk1TUlEODVDejRzQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHNBQUFBREFDSUFtUVBlQXVnQUhBQTdBRWtBQUFFV0Z4NEJGeFlYQmdjT0FTY21KeVluTGdFbkppYzJOejRCTnpZWEJRNEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KeVVtTkRVakRnRUhGejRCTnpvQkFnbElRa0ozTkRNck8xVlZ4V2xwWXlJZUh6WVpHQmNxTlRSN1JrVk8vdnNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUM2QUlYRjA4Mk5rQlhSVVZJQlFROEZCb2FPaUVnSVQ4M04xRVhGd0d1R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBSUFWUUJBQTZzRFFBQUdBQXNBQUJNaEFSRW5FUUVCRlRNMUkxVURWdjZxcXY2cUFWYXFxZ05BL3F2K1Zhc0JBQUZWL3F0V1ZnQUFBZ0R5QU1BRERnTEFBQU1BQ1FBQUFSRWpFUUVuTnljSkFRRkhWUUljeDhjNS93QUJBQUxBL2dBQ0FQNDV4OGM1L3dEL0FBQUFBQUFNQUt2LzZ3TlZBNVVBQXdBSUFBd0FFQUFWQUJrQUhRQWlBQ1lBS2dBdkFETUFBRGN6RlNNbE14VWpOU0V6RlNNQk14VWpKVE1WSXpVaE14VWpBVE1WSXlVekZTTTFJVE1WSXdFekZTTWxNeFVqTlFVak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFxcW9BQUFVQVZmL3JBNnNEbFFBZUFDSUFKd0FyQUM4QUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlVCSXhVekVTTVZNelVSSXhVekpTTVZNd0dycWdGVy9xcXFxd0ZWQVZiK3F2NnJBVlVCVnY2cS9sWldBVllCcXFxcXFxcXFxdjRBcXFvRFFGWC9BRlpXcWxYL0FGWC9BRmIvQUZVQ1ZRRUFWZjFWVlFHclZsWUJWVlZWVlFBQUFBQURBQmtCRVFQbkFwTUFGZ0FzQURzQUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp3Y21ORFVqRGdFSEZ6NEJOell5TXdJSVBqdzhjak0wTENSZWVubi9mSHRqSkRFNk9YNUVRd0V0SElGU1VvRWNJVDBjQTBwZVhzVmZYMHdESEQ4aW1RRUxSSWM4SlM1bU1Rb1VDd0tUQVF3TUxTRWdLeVJkTlRVUEtpbGZKREluS0RjUEQ0aEhYRnhIRGlZWEF6OGdJUUVnSDBBQ0dDZ09JeFVyRlFFUUhrd1dEUUlCQUFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FiQUNVQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTURNemMxSnlNSEZSNEJBbFdjZVp6ZDNTZE9KM21jcXB4NW5OM2RuSGtuVGllcW5JNWtaSTVrR1RJQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZjJxWkk1a1pJNFpNZ0FBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F1QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0VITnhjM0Z3Y1hBVGNIRndjWE53Ti8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOTRPTklNcDg1bnpBQnQwcmxNYUE1b0VKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nQUFBQUFBTUFWUUFWQTZzRGF3QURBQWNBQ3dBQUpSVWhOUUVWSVRVQkZTRTFBNnY4cWdOVy9Lb0RWdnlxd0t1ckFWV3FxZ0ZXcTZzQUFBQUFCQUFCLzc0RC93UEJBQThBSHdBbkFDNEFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWURJU0lHRlJFVUZqTWhNalkxRVRRbUFUY0hKd2NuTnljQkJ6Y25OeWNIQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDFzNUVreW56bWZNQUZzU2VReG56bWZRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQUFBQUFBQVFDckFXc0RWUUlWQUFRQUFCTWhGU0UxcXdLcS9WWUNGYXFxQUFFQlpBREFBcHdDd0FBR0FBQWxOeWMzQ1FFbkFXVEh4emdCQVA4QU9Qbkh4em4vQVA4QU9RQUJBTkwvMWdNdUE2b0FGQUFBQVFjbkFSWVhIZ0VYRmhjSEp4RTNGd2tCTnhjUkFhVnNad0V1SmlVbVRDVW1KbWRzYkdmKzB2N1NaMndDZ1d4bkFTNG1KU1pNSlNZbVoyeitmbXhuL3RJQkxtZHNBWUlBQUFBQUF3QUIvNzhFQUFQQ0FCc0FLZ0E1QUFBQk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkJRRWVBVE15Tno0Qk56WTFOQ1luSnk0Qkl5SUhEZ0VIQmhVVUZoY0JBZ0JxWFYyTEtDa3BLSXRkWFdwcVhWMkxLQ2dvS0l0ZFhRRzcvYWsyaGtwWVRrNTBJU0l3S2tvM2hrcFlUazV6SWlFdkt3SlhBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTajcvYWtxTUNJaGRFNU5XVXFGTjBvcU1DRWlkRTFPV0V1R05nSlhBQUlBcXdCQUExVURRQUFOQUNBQUFBRWhGQlVjQVJVVUZTRVJJVFV6RnlNd01qRVZJVFV6TUNNcUFTTWlNUkVoRVFKVkFRRDlWZ0VBcXF1clZ2NnFWaHNiUUJvYkFnQUM2MVpWVmF0VlZsVUNxMVdycXFyK0FBSUFBQUFBQVFDckFCVURWUU1WQUE4QUFBRWpFUmNoQ3dFaE56VXpFU00xSVJVREFGV3Evd0JWVmY4QXFsYXJBZ0FDd1A2clZ2OEFBUUJXVlFFQVZWVUFCUUFCLzc0RC93UEJBQThBSGdBbEFEb0FRUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ0UxSXlJR0ZSRVVGanNCRVNNMU13VWhFU0V5TmpVREJ5YzNIZ0VYQnljVkl4Y0hKemNlQVJjSE16VVRJUlVoTlRRbUEzLzlBalZMU3pVQy9qVkxTLzFNZ2hFWUdCR0NxNnNDcWYyc0Fpc1JHUDROUEhNZE9oMDlETVFOUFhOekVCNFBEVy9WL2RVQ1ZCaENTelVEQXpWTFN6WDgvVFZMQXdLcUdCSDgveEVaQWxWVlZmMnJHUkVCUkEwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFCQUtzQWF3TlZBeFVBREFBQUV5RVJNeEVoRlNFUkl4RWhOYXNCQUtvQkFQOEFxdjhBQWhVQkFQOEFxdjhBQVFDcUFBQUFBUUZrQU1BQ25BTEFBQVVBQUNVbk55Y0pBUUtjeDhjNC93QUJBUG5IeHpuL0FQOEFBQUFBQUFJQUFmKy9CQUFEd2dBYkFEY0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQWdCcVhWMkxLQ2dvS0l0ZFhXcHFYVjJMS0NrcEtJdGRYV3BZVGs1MElTSWlJWFJPVGxoWVRrNXpJaUVoSW5OT1RnUENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBREFBSC92d1FBQThJQUhBQTRBRlFBQUFFVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTXlGeDRCRnhZVkFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WURBQlFVUlM4dk5UVXZMa1lVRkJRVVJpNHZOVFV2TDBVVUZQOEFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazRCd1RVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUlCS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQUFBUUJMQUZZRHRRTXFBQThBQUFFbk54WVhIZ0VYRmhjQkp6Y2hOU0VDa3E1bkxTMHRXeTB0THY2V1o2Mzl1Z0pIQWhXdVp5MHRMbG90TGkzK2xtZXRxd0FBQUFBQ0FJQUFRQU9BQTBBQURnQVlBQUFCRVNFUkl4RVVGak1oTWpZMUVTTUZOeGNISnpjWEVUTVJBeXY5cWxVeUl3SldJekpWL3dCdVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQVFDckFSVURWUUpyQUFNQUFCTWhDUUdyQXFyK3EvNnJBbXYrcWdGV0FBQUJBVlVBYXdLckF4VUFBd0FBQ1FFUkFRRlZBVmIrcWdIQUFWWDlWZ0ZWQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVJVRFZRSnJBQU1BQUJNSkFTR3JBVlVCVmYxV0FSVUJWdjZxQUFBQkFFUUFaZ084QXhzQUNBQUFDUUkzRndFZUFSY0R2UDNFL3NSNHhBSEVIandlQXFMOXhBRThlTU1Cd3g0OEhnQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RnJBMVVDRlFBRUFBQVRJUlVoTmFzQ3F2MVdBaFdxcWdBQkFLc0JGUU5WQW1zQUF3QUFFeUVKQWFzQ3F2NnIvcXNDYS82cUFWWUFBQUVBQUFBQkFBQ3ZISWNEWHc4ODlRQUxCQUFBQUFBQTJRbnZzQUFBQUFEWkNlK3dBQUQvdmdRQUE4SUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFCQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBRGNFQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFBdGdRQUFBQUVBQUNXQkFBQkFBUUFBQUVFQUFBQkJBQUFBUVFBQUFFRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTZBSFFBbGdDd0FQb0JQZ0Y2QWE0QnhBSDJBakFDVkFKOEF3b0RaZ09DQThZRVNnVEFCTndFK0FWS0JaUUY5Z1lTQmk0R2FnYTRCdFFISWdjd0IwUUhjQWZNQi9vSUdBaDhDSllJcWdrQUNZQUpvZ25PQ2Q0SjdnbitDZzRLSmdvMkNrUUtWQUFCQUFBQU53QlpBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBRFFBQUFBRUFBQUFBQUFJQUJ3Q1dBQUVBQUFBQUFBTUFEUUJJQUFFQUFBQUFBQVFBRFFDckFBRUFBQUFBQUFVQUN3QW5BQUVBQUFBQUFBWUFEUUJ2QUFFQUFBQUFBQW9BR2dEU0FBTUFBUVFKQUFFQUdnQU5BQU1BQVFRSkFBSUFEZ0NkQUFNQUFRUUpBQU1BR2dCVkFBTUFBUVFKQUFRQUdnQzRBQU1BQVFRSkFBVUFGZ0F5QUFNQUFRUUpBQVlBR2dCOEFBTUFBUVFKQUFvQU5BRHNZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVm1WeWMybHZiaUF4TGpBQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqUm05dWRDQm5aVzVsY21GMFpXUWdZbmtnU1dOdlRXOXZiaTRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWJsdWUge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiAjMjIyMjIyO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUsIC5hZy10aGVtZS1ibHVlIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlICo6Zm9jdXMsIC5hZy10aGVtZS1ibHVlICogKjpiZWZvcmUsIC5hZy10aGVtZS1ibHVlICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ibHVlIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogd2hpdGU7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlYmY3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzOUJDMkU2JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgY29sb3I6ICMyMjIyMjI7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEzNSwgMTYwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTYwLCAxMDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM0OTkwZDI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZGRlYmY3O1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjMjIyMjIyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICMyMjIyMjI7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTU1LCAxOTQsIDIzMCwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZS5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTljZDM7XFxuICAgICAgY29sb3I6IHdoaXRlO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uLmFnLWhhcy1wb3B1cCB7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzgzYzc7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXNpemU6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjMzMzO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCI3MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI0cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMTJweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGViZjc7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIGlucHV0LFxcbiAgLmFnLXRoZW1lLWJsdWUgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgY29sb3I6ICMyMjIyMjI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3cge1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1ib290c3RyYXAge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiBibGFjaztcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNmY2ZjYgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgKjpmb2N1cywgLmFnLXRoZW1lLWJvb3RzdHJhcCAqICo6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgwLCA4MCwgODAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiAzN3B4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiBibGFjaztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgY29sb3I6ICMzMzMzMzM7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmFkZWQge1xcbiAgICBvcGFjaXR5OiAwLjM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBtaW4taGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpuYjkwdTRBQUFGNEFBQVVxR2hsWVdRVk15UGRBQUFXSUFBQUFEWm9hR1ZoQjhJRCtBQUFGbGdBQUFBa2FHMTBlTklBRitZQUFCWjhBQUFBM0d4dlkyR1NJcGNrQUFBWFdBQUFBSEJ0WVhod0FFUUFXd0FBRjhnQUFBQWdibUZ0WlNqRzlVc0FBQmZvQUFBQnpuQnZjM1FBQXdBQUFBQVp1QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBREFBQUFTRVhCeUVWSVJNRElSd0JGUU5LL3BONWVRRnQvV3pjM0FLVUFwWFYxYXNCZ0FHQUsxVXJBQUFBQUFFQUFQL0FCQUFEd0FBZ0FBQUJOUWNuTnhjSEp4RWhKemNYQnljM0lSRTNGd2NuTnhjUklSY0hKemNYQnlFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBQUFBQVFDV0FCNERhZ05pQUE4QUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFQnJyRm5BV290TGkxYUxpMHRaN0NsQWtLeFp3RnFMaTB0V3kwdExXZXcvZDBDSkFBQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FrQUNnQUxRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpFUVV6RlNNRE14RWpFUU4vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajltbFZWQVZWVlZhdFdWa0pMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDZyL3RZQktvQ3FBYXIrVmdHcUFBQUFBQU1BQWYrK0EvOER3UUFJQUJrQUtRQUFDUUVuTnhjVEhnRVhFeklXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF5WCs2UDAxcnVnU0poSmFOVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWUFxejkvc3BEaXdHb0NoUUtBUlZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQUFEQUFIL3ZnUC9BOEVBQXdBVUFDUUFBQUVoRlNFQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lCVlFGVy9xb0NLalZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBSVZxZ0pXU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFBQ0FBSC92Z1AvQThFQUVBQWdBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUlBVlFBVkFhc0Rhd0FFQUFnQUFBRVJJUkVoRVJVaE5RR3IvcW9CVnY2cUFtdjlxZ0pXQVFDcnF3QUFCZ0JWQUJVRHF3TnJBQU1BQ0FBTUFCRUFGUUFhQUFBbEZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQnEvNnFBMWIrcWdGVy9nRCtxZ05XL3FvQlZ2NEEvcW9EVnY2cUFWYkFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBQU1BQWYrK0EvOER3UUFRQUNBQUpBQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF4VWhOUU4vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBd0NyQUdzRFZRTVZBQWNBQ3dBUkFBQUJNeEVoTlNNUklSTWhFU0VETlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBYXRWL3FzQkFBQUFBUUJ1QUM0RGtnTlNBQTRBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBUUlBQVJrZVBSNys1d0VaZWY3bi91ZDVBUm4rNTNrQkdRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWG4rNXdBQUFBQURBSGdBMVFPZkF1RUFPQUJHQUZnQUFBRTJOejRCTnpZWEhnRWZBUVlIRGdFSEJnY1dGeDRCRnhZWERnRW5MZ0VuRGdFSEJpY3VBU2NtTno0Qk55NEJOejRCRng0QkZ4NEJGd2NHQnc0QkJ3WTNQZ0UzTURZSEp5SUdCdzRCQndZWEhnRVhGaGMzTGdFakFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFjQU1nQW5BODREV1FBTEFBOEFIQUFnQUMwQU1RQStBQUEzSWdZVkZCWXpNalkxTkNZcEFSVWhBU0lHRlJRV016STJOVFFtSXlFVklUVUhNaFlWRkFZaklpWTFORFl6QVJVaE5TTXlGaFVVQmlNaUpqVTBOak9kTFQ0K0xTdytQZ01GL1ZVQ3EvelBMVDQrTFN3K1Bpd0RNZjFWaGg0c0xCNGZMQ3dmQXpIOVZZWXNQajRzTFQ0K0xmdytMQzArUGkwc1B0VUNCRDhzTEQ4L0xDdy8xdFlnTEI4ZkxDd2ZIeXdCVHRYVlBpMHNQajRzTFQ0QUFBQUJBSllBSXdOcUExMEFDd0FBQVJFNkFUTVJOeGNKQVRjWEFhOHBVaW13Wi82Vy9wWm5zZ0ZEQWhyOTU3Qm4vcFlCYW1leEFBQUFBQU1BQWYrK0EvOER3UUFRQUNBQUxRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUFUVXpGVE1WSXhVak5TTTFNd04vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1kvaHFxcTZ1cXE2c0R3VXMxL1AwMVMwczFBd00xUzFjWUVmei9FUmtaRVFNQkVSaitxNnVycXF1cnFnQUFBQUFEQUNJQWRnUGVBd29BSWdCSEFGRUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOd0UrQVRjd0ppY09BUWNCS0RVbklFSWpTRUpDZHpRekt5cHZRRGRESVE3K3pCNC9IZ29VQ3dFTE5Xc3lVRExyS2lVbE9oUVVCeU0rR2lZeE1uTS9QejgwTGk4dlh5OHZMaUllSHpZWkdCY3JhajhCNHk1TUlEODVDejRzQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHNBQUFBREFDSUFtUVBlQXVnQUhBQTdBRWtBQUFFV0Z4NEJGeFlYQmdjT0FTY21KeVluTGdFbkppYzJOejRCTnpZWEJRNEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KeVVtTkRVakRnRUhGejRCTnpvQkFnbElRa0ozTkRNck8xVlZ4V2xwWXlJZUh6WVpHQmNxTlRSN1JrVk8vdnNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUM2QUlYRjA4Mk5rQlhSVVZJQlFROEZCb2FPaUVnSVQ4M04xRVhGd0d1R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBSUFWUUJBQTZzRFFBQUdBQXNBQUJNaEFSRW5FUUVCRlRNMUkxVURWdjZxcXY2cUFWYXFxZ05BL3F2K1Zhc0JBQUZWL3F0V1ZnQUFBZ0R5QU1BRERnTEFBQU1BQ1FBQUFSRWpFUUVuTnljSkFRRkhWUUljeDhjNS93QUJBQUxBL2dBQ0FQNDV4OGM1L3dEL0FBQUFBQUFNQUt2LzZ3TlZBNVVBQXdBSUFBd0FFQUFWQUJrQUhRQWlBQ1lBS2dBdkFETUFBRGN6RlNNbE14VWpOU0V6RlNNQk14VWpKVE1WSXpVaE14VWpBVE1WSXlVekZTTTFJVE1WSXdFekZTTWxNeFVqTlFVak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFxcW9BQUFVQVZmL3JBNnNEbFFBZUFDSUFKd0FyQUM4QUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlVCSXhVekVTTVZNelVSSXhVekpTTVZNd0dycWdGVy9xcXFxd0ZWQVZiK3F2NnJBVlVCVnY2cS9sWldBVllCcXFxcXFxcXFxdjRBcXFvRFFGWC9BRlpXcWxYL0FGWC9BRmIvQUZVQ1ZRRUFWZjFWVlFHclZsWUJWVlZWVlFBQUFBQURBQmtCRVFQbkFwTUFGZ0FzQURzQUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp3Y21ORFVqRGdFSEZ6NEJOell5TXdJSVBqdzhjak0wTENSZWVubi9mSHRqSkRFNk9YNUVRd0V0SElGU1VvRWNJVDBjQTBwZVhzVmZYMHdESEQ4aW1RRUxSSWM4SlM1bU1Rb1VDd0tUQVF3TUxTRWdLeVJkTlRVUEtpbGZKREluS0RjUEQ0aEhYRnhIRGlZWEF6OGdJUUVnSDBBQ0dDZ09JeFVyRlFFUUhrd1dEUUlCQUFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FiQUNVQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTURNemMxSnlNSEZSNEJBbFdjZVp6ZDNTZE9KM21jcXB4NW5OM2RuSGtuVGllcW5JNWtaSTVrR1RJQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZjJxWkk1a1pJNFpNZ0FBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F1QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0VITnhjM0Z3Y1hBVGNIRndjWE53Ti8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOTRPTklNcDg1bnpBQnQwcmxNYUE1b0VKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nQUFBQUFBTUFWUUFWQTZzRGF3QURBQWNBQ3dBQUpSVWhOUUVWSVRVQkZTRTFBNnY4cWdOVy9Lb0RWdnlxd0t1ckFWV3FxZ0ZXcTZzQUFBQUFCQUFCLzc0RC93UEJBQThBSHdBbkFDNEFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWURJU0lHRlJFVUZqTWhNalkxRVRRbUFUY0hKd2NuTnljQkJ6Y25OeWNIQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDFzNUVreW56bWZNQUZzU2VReG56bWZRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQUFBQUFBQVFDckFXc0RWUUlWQUFRQUFCTWhGU0UxcXdLcS9WWUNGYXFxQUFFQlpBREFBcHdDd0FBR0FBQWxOeWMzQ1FFbkFXVEh4emdCQVA4QU9Qbkh4em4vQVA4QU9RQUJBTkwvMWdNdUE2b0FGQUFBQVFjbkFSWVhIZ0VYRmhjSEp4RTNGd2tCTnhjUkFhVnNad0V1SmlVbVRDVW1KbWRzYkdmKzB2N1NaMndDZ1d4bkFTNG1KU1pNSlNZbVoyeitmbXhuL3RJQkxtZHNBWUlBQUFBQUF3QUIvNzhFQUFQQ0FCc0FLZ0E1QUFBQk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkJRRWVBVE15Tno0Qk56WTFOQ1luSnk0Qkl5SUhEZ0VIQmhVVUZoY0JBZ0JxWFYyTEtDa3BLSXRkWFdwcVhWMkxLQ2dvS0l0ZFhRRzcvYWsyaGtwWVRrNTBJU0l3S2tvM2hrcFlUazV6SWlFdkt3SlhBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTajcvYWtxTUNJaGRFNU5XVXFGTjBvcU1DRWlkRTFPV0V1R05nSlhBQUlBcXdCQUExVURRQUFOQUNBQUFBRWhGQlVjQVJVVUZTRVJJVFV6RnlNd01qRVZJVFV6TUNNcUFTTWlNUkVoRVFKVkFRRDlWZ0VBcXF1clZ2NnFWaHNiUUJvYkFnQUM2MVpWVmF0VlZsVUNxMVdycXFyK0FBSUFBQUFBQVFDckFCVURWUU1WQUE4QUFBRWpFUmNoQ3dFaE56VXpFU00xSVJVREFGV3Evd0JWVmY4QXFsYXJBZ0FDd1A2clZ2OEFBUUJXVlFFQVZWVUFCUUFCLzc0RC93UEJBQThBSGdBbEFEb0FRUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ0UxSXlJR0ZSRVVGanNCRVNNMU13VWhFU0V5TmpVREJ5YzNIZ0VYQnljVkl4Y0hKemNlQVJjSE16VVRJUlVoTlRRbUEzLzlBalZMU3pVQy9qVkxTLzFNZ2hFWUdCR0NxNnNDcWYyc0Fpc1JHUDROUEhNZE9oMDlETVFOUFhOekVCNFBEVy9WL2RVQ1ZCaENTelVEQXpWTFN6WDgvVFZMQXdLcUdCSDgveEVaQWxWVlZmMnJHUkVCUkEwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFCQUtzQWF3TlZBeFVBREFBQUV5RVJNeEVoRlNFUkl4RWhOYXNCQUtvQkFQOEFxdjhBQWhVQkFQOEFxdjhBQVFDcUFBQUFBUUZrQU1BQ25BTEFBQVVBQUNVbk55Y0pBUUtjeDhjNC93QUJBUG5IeHpuL0FQOEFBQUFBQUFJQUFmKy9CQUFEd2dBYkFEY0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQWdCcVhWMkxLQ2dvS0l0ZFhXcHFYVjJMS0NrcEtJdGRYV3BZVGs1MElTSWlJWFJPVGxoWVRrNXpJaUVoSW5OT1RnUENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBREFBSC92d1FBQThJQUhBQTRBRlFBQUFFVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTXlGeDRCRnhZVkFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WURBQlFVUlM4dk5UVXZMa1lVRkJRVVJpNHZOVFV2TDBVVUZQOEFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazRCd1RVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUlCS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQUFBUUJMQUZZRHRRTXFBQThBQUFFbk54WVhIZ0VYRmhjQkp6Y2hOU0VDa3E1bkxTMHRXeTB0THY2V1o2Mzl1Z0pIQWhXdVp5MHRMbG90TGkzK2xtZXRxd0FBQUFBQ0FJQUFRQU9BQTBBQURnQVlBQUFCRVNFUkl4RVVGak1oTWpZMUVTTUZOeGNISnpjWEVUTVJBeXY5cWxVeUl3SldJekpWL3dCdVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQVFDckFSVURWUUpyQUFNQUFCTWhDUUdyQXFyK3EvNnJBbXYrcWdGV0FBQUJBVlVBYXdLckF4VUFBd0FBQ1FFUkFRRlZBVmIrcWdIQUFWWDlWZ0ZWQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVJVRFZRSnJBQU1BQUJNSkFTR3JBVlVCVmYxV0FSVUJWdjZxQUFBQkFFUUFaZ084QXhzQUNBQUFDUUkzRndFZUFSY0R2UDNFL3NSNHhBSEVIandlQXFMOXhBRThlTU1Cd3g0OEhnQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RnJBMVVDRlFBRUFBQVRJUlVoTmFzQ3F2MVdBaFdxcWdBQkFLc0JGUU5WQW1zQUF3QUFFeUVKQWFzQ3F2NnIvcXNDYS82cUFWWUFBQUVBQUFBQkFBQ3ZISWNEWHc4ODlRQUxCQUFBQUFBQTJRbnZzQUFBQUFEWkNlK3dBQUQvdmdRQUE4SUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFCQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBRGNFQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFBdGdRQUFBQUVBQUNXQkFBQkFBUUFBQUVFQUFBQkJBQUFBUVFBQUFFRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTZBSFFBbGdDd0FQb0JQZ0Y2QWE0QnhBSDJBakFDVkFKOEF3b0RaZ09DQThZRVNnVEFCTndFK0FWS0JaUUY5Z1lTQmk0R2FnYTRCdFFISWdjd0IwUUhjQWZNQi9vSUdBaDhDSllJcWdrQUNZQUpvZ25PQ2Q0SjdnbitDZzRLSmdvMkNrUUtWQUFCQUFBQU53QlpBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBRFFBQUFBRUFBQUFBQUFJQUJ3Q1dBQUVBQUFBQUFBTUFEUUJJQUFFQUFBQUFBQVFBRFFDckFBRUFBQUFBQUFVQUN3QW5BQUVBQUFBQUFBWUFEUUJ2QUFFQUFBQUFBQW9BR2dEU0FBTUFBUVFKQUFFQUdnQU5BQU1BQVFRSkFBSUFEZ0NkQUFNQUFRUUpBQU1BR2dCVkFBTUFBUVFKQUFRQUdnQzRBQU1BQVFRSkFBVUFGZ0F5QUFNQUFRUUpBQVlBR2dCOEFBTUFBUVFKQUFvQU5BRHNZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVm1WeWMybHZiaUF4TGpBQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqUm05dWRDQm5aVzVsY21GMFpXUWdZbmtnU1dOdlRXOXZiaTRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgY29sb3I6ICNjY2M7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSwgLmFnLXRoZW1lLWRhcmsgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0LCAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMwMmUyZSAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAqOmZvY3VzLCAuYWctdGhlbWUtZGFyayAqICo6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZGFyayAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIGdyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6IGdyZWVueWVsbG93OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogcmVkOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDAzZTNlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjNweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ1ZDU7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNBOUE5QTknJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjcpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuOCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzQwM2UzZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY2hvY29sYXRlICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogI2NjYzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiAjY2NjO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTY5LCAxNjksIDE2OSwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk0OTQ5OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNTE1OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogI2Q2ZDVkNTtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmFkZWQge1xcbiAgICBvcGFjaXR5OiAwLjM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjNDAzZTNlO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLW1vdmluZyAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgcGFkZGluZzogMTBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgaW5wdXQsXFxuICAuYWctdGhlbWUtZGFyayBzZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBjb2xvcjogI2NjYzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0W3JlYWRvbmx5XSB7XFxuICAgIGJhY2tncm91bmQ6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1mcmVzaCB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSwgLmFnLXRoZW1lLWZyZXNoIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoICo6Zm9jdXMsIC5hZy10aGVtZS1mcmVzaCAqICo6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSh3aGl0ZSksIHRvKGxpZ2h0Z3JleSkpO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQod2hpdGUsIGxpZ2h0Z3JleSk7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IFxcXCJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjNweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IFxcXCJcXFwiOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyM0E5QTlBOSclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcXFwiXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiBibGFjaztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDE2OSwgMTY5LCAxNjksIDAuNSk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2guYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20od2hpdGUpLCB0byhsaWdodGdyZXkpKTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHdoaXRlLCBsaWdodGdyZXkpO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZE1hdGVyaWFsXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm1JSkh1d0FBQUY0QUFBUTdHaGxZV1FVK2lPakFBQVNaQUFBQURab2FHVmhCNGtEK0FBQUVwd0FBQUFrYUcxMGVOSUFKaXdBQUJMQUFBQUEzR3h2WTJGMEpIaENBQUFUbkFBQUFIQnRZWGh3QUVFQVdBQUFGQXdBQUFBZ2JtRnRaV2gwUE9VQUFCUXNBQUFCMm5CdmMzUUFBd0FBQUFBV0NBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBUUFBYXdNQUF4VUFDd0FBQVNFVkNRRVZJVFVoTnljaEF3RCtBQUVWL3VzQ0FQN1YxdFlCS3dNVlZmOEEvd0JWZ05YVkFBQUFBQVFBT2YvNUE4Y0Rod0FIQUE4QUZ3QWZBQUFCTXpVekp3Y3pGUWNqTlFjWE5UTTFCU2NWSXhVekZUY0ZJeFVqRnpjak5RR3JxbkxIeDNJNWNzZkhjZ0pWeDNKeXgvNk9xbkxIeDNJQ1RuTEh4M0k1Y3NmSGNxcFZ4M0txY3NlT2NzZkhjZ0FCQUtzQWF3TlZBeFVBQ1FBQUV4YzNFVE1SRnpjSkFhczg3bGJ1UFA2ci9xc0J3RHp1L2ZrQ0IrODlBVlgrcXdBQ0FGVUFGUU9yQTJzQUhBQW9BQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtSXhNSEp3Y25OeWMzRnpjWEJ3SUFXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WTFUeVptVHlabVR5Wm1UeVpBMnNpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDl2RHlabVR5Wm1UeVptVHlaQUFBQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQUNBSUFBUUFPQUEwQUFEd0FXQUFBQklTSUdGUkVVRmpNaE1qWTFFVFFtQVNjM0Z3RVhBUU1yL2Fvak1qSWpBbFlqTWpMK1hkWThtZ0ZFUFA2QUEwQXlJLzJxSXpJeUl3SldJekw5cTlVOG1RRkVQUDZBQUFBQUFnQ0FBRUFEZ0FOQUFBOEFFd0FBQVNFaUJoVVJGQll6SVRJMk5SRTBKZ01oTlNFREsvMnFJekl5SXdKV0l6SXllZjVXQWFvRFFESWovYW9qTWpJakFsWWpNdjVWVmdBQUFnQ0FBRUFEZ0FOQUFBTUFFd0FBQVJFaEVTVWhJZ1lWRVJRV015RXlOalVSTkNZREsvMnFBbGI5cWlNeU1pTUNWaU15TWdMci9hb0NWbFV5SS8ycUl6SXlJd0pXSXpJQUFnQ3JBR3NCVlFNVkFBTUFCd0FBSlNNUk16VVZJelVCVmFxcXFtc0IvNnRYVndBQUNRQ3JBR3NEVlFNVkFBTUFDQUFNQUJBQUZRQVpBQjRBSWdBbUFBQVRNelVqQVRNMUl4VWhNelVqTlRNMUl3VXpOU01WQVJVek5RVXpOU01WQVRNMUl4RXpOU09ycXFvQkFLcXEvd0NxcXFxcUFRQ3FxZ0VBcXY1V3Fxb0JBS3FxcXFvQ2E2cjlWcXFxcWxhcXFxcXFBYXFxcXFxcXF2OEFxdjVXcWdBQUFBQUJBV0lBd0FLZUFzQUFCZ0FBQVNjSkFUY25Od0tlUFA4QUFRQTh3OE1DaER6L0FQOEFQTVRFQUFBQUFBTUFhLy9yQTVVRGxRQUlBQmtBSFFBQUFTRWlCaFVSTXhFaEZ5RWlCaFVSRkJZeklUSTJOUkUwSmlNUklSRWhBc0QrQUNNeVZRSUFnUDRySkRJeUpBSFZJekl5SS80ckFkVURsVElqL2FzQ1ZWVXlKUDJySXpJeUl3SlZKREw5VlFKVkFBQUJBTlVBbFFNckF1c0FEQUFBQVNjSEp3Y1hCeGMzRnpjbk53TXJQTy92UE8vdlBPL3ZQTy92QXE4ODcrODg3Kzg4Nys4ODcrOEFBQVVBVlFBVkE2c0Rhd0FsQURJQVB3QkxBRkVBQUFFK0FUVTBKaU1pQmhVVUZqTXlOamNYQnk0Qkl5SUdGUlFXTXpJMk5UUW1KemNCTXpVQkJ5SW1OVFEyTXpJV0ZSUUdJeEVpSmpVME5qTXlGaFVVQmlNQklpWTFORFl6TWhZVkZBWUpBUmNCTlNNQm13Z0laRWRIWkdSSEV5TVFaV1VRSXhOSFpHUkhSMlFJQ0dVQks0RDk4SnNqTWpJakl6SXlJeU15TWlNak1qSWpBUUFKREF3SkNRd01BU0wvQUZVQks0QUNlaEFqRTBka1pFZEhaQWdJWldVSUNHUkhSMlJrUnhNakVHWCsxU3NDRHc4eEpDUXhNU1FrTWY0QU1TUWtNVEVrSkRFQlFBd0pDUXdNQ1FrTUFaWC9BRlVCS2lzQUFBY0Fsd0MvQTJrQ3dRQU1BQkFBSFFBaEFDMEFPZ0ErQUFBVElnWVZGQll6TWpZMU5DWWpCVFVoRlFNaUJoVVVGak15TmpVMEppTUZJVFVoQlRJV0ZSUUdJeUltTlRRMk56SVdGUlFHSXlJbU5UUTJNd1VoTlNIQ0Voa1pFaElaR1JJQ3AvM1hmaElaR1JJU0dSa1NBZEwrckFGVS9pNE5FeE1ORFJNVERSSVpHUklTR1JrU0FxZjkxd0lwQVJVWkVoRWFHaEVTR1ZWV1ZnRXJHUklTR1JrU0VobFZWUXNURFEwVEV3ME5FK0VhRVJJWkdSSVJHbFpWQUFBQUFRQ3JBR3NEVlFNVkFBa0FBQUVuQnhFakVTY0hDUUVEVlR6dVZ1NDhBVlVCVlFIQVBPNENCLzM1N3ozK3F3RlZBQUFBQUFFQllnREFBcDRDd0FBR0FBQUJCeGNIRndrQkFaNDh3OE04QVFEL0FBTEFQTVRFUEFFQUFRQUFBQUFBQVFDVEFNY0RiUUs1QUVjQUFBRXVBU01pQmdjblBnRXpNaGNlQVJjV0Z3NEJCeWMrQVRjakRnRUhKeU1YRGdFaklpWW5JeDRCTXpJMk54Y09BU01pSnk0Qkp5WW5QZ0UzRnc0QkJ6TW5QZ0V6TWhZWE13S2pDbHc5SWowV1R5dGpOajQ1T1Y4a0pSVVlXRGxQRWhnRlJBUU5DQ3RRUmdRSkJTSTFDVVFLWEQ0VEl4QklJVWNtUGprNVh5UWxGUk0rS0Y0RkJnS0dLUTBrRlNJMENVUUIzVHBQR2hkUEdSd1RFa0l1TFRjK1pTRlBFaTBhREJVSktrWUJBU2tmT2xBSUNFZ05EaE1TUWk0dE56QlVJRjRLRkFzcURSQW9Id0FBQXdDVEFNY0RiUUs1QUJ3QUtBQTFBQUFCSWdjT0FRY0dCeFlYSGdFWEZqTXlOejRCTnpZM0ppY3VBU2NtSXhFaUpqVTBOak15RmhVVUJnTWlCaFVVRmpNeU5qVTBKaU1DQUQ0NU9WOGtKUlVWSlNSZk9UaytQams1WHlRbEZSVWxKRjg1T1Q1RllXRkZSV0ZoUlNrN095a3BPenNwQXJrVEVrSXVMVGMzTFM1Q0VoTVRFa0l1TFRjM0xTNUNFaFArWVdGRlJXRmhSVVZoQVFvN0tTazdPeWtwT3dBREFJQUF3QU9BQXNBQUJBQUlBQXdBQUNVek5TTVZBUlVoTlFFaE5TRUJxNnFxL3RVREFQMkFBZ0QrQU1CVlZRSUFWVlgrMVZZQUFBSUE5d0RBQXdrQ3dBQUZBQW9BQUNVbk55Y0pBUUV6RVNNUkF3bkV4RHovQUFFQS9pcFdWdnpFeER6L0FQOEFBZ0QrQUFJQUFBQUFBZ0NyQVVBRFZRSkFBQU1BQ0FBQUFTRVZJUVVoTlNFVkExWDlWZ0txL1ZZQ3F2MVdBa0JWcTFWVkFBQUdBSTRBcEFOeUF0d0FCZ0FMQUJJQUZnQWFBQ0FBQUFFaEZBWXJBVFVsRlNFMUlTY3lGaFVoTlNFQkl6VXpOU00xTXljak5EWXpGUUpWQVIxREw2c0JIZjdqQVIxeUwwUCtBQUdPL3VSeWNuSnk1SEpETHdFVkwwSng1SEp5NDBJdmNmM0ljWEp5Y2k5Q2NRQUNBSk1BeHdOdEFya0FIQUFvQUFBQklnY09BUWNHQnhZWEhnRVhGak15Tno0Qk56WTNKaWN1QVNjbUl4RWlKalUwTmpNeUZoVVVCZ0lBUGprNVh5UWxGUlVsSkY4NU9UNCtPVGxmSkNVVkZTVWtYems1UGtWaFlVVkZZV0VDdVJNU1FpNHROemN0TGtJU0V4TVNRaTR0TnpjdExrSVNFLzVoWVVWRllXRkZSV0VBQUFBQ0FQY0F3QU1KQXNBQUJnQUtBQUFURndjWENRRUhKVE1SSS9mRXhEd0JBUDhBUEFHOFZsWUNoTVRFUEFFQUFRQThQUDRBQUFBQUFBRUFxd0JyQTFVREZRQUpBQUFCSVRjbkNRRTNKeUUxQTFYOStlODkvcXNCVlR6dUFnY0I2KzQ4L3F2K3F6enVWZ0FBQUFBQ0FPUUFwQU1jQXR3QUhBQW1BQUFCTnhjSE14VWpIZ0VYQnljVkl6VUhKemNqTlRNbk54NEJGelV6RlFjek56VW5Jd2NWSGdFQ09XaFFhSk9UR2pRYVVHaHlhRkJvazVOb1VCbzBHbkpvWGtORFhrTVJJUUpKYUZCb2NobzBHbEJvazVOb1VHaHlhRkFhTkJxVGsvdERYa05EWGhFaEFBQUJBSUFDNndPQUEwQUFBd0FBRXlFVklZQURBUDBBQTBCVkFBQUFBd0NBQU1BRGdBTEFBQU1BQndBTEFBQTNJVFVoTlNFMUlUVVZJVFdBQXdEOUFBTUEvUUFEQU1CVmdGYlZWVlVBQVFFQUFFQURBQUNWQUFNQUFDVWhGU0VCQUFJQS9nQ1ZWUUFBQUFFQTFRR1ZBeXNCNndBRUFBQVRJUlVoTmRVQ1Z2MnFBZXRXVmdBQkFXSUF3QUtlQXNBQUJnQUFBUWNYQnhjSkFRR2VQTVBEUEFFQS93QUN3RHpFeER3QkFBRUFBQUFBQUFNQWdBREFBNEFDd0FBREFBY0FDd0FBTnlFMUlSRVZJVFVCSVRVaGdBSUEvZ0FEQVAwQUF3RDlBTUJWQWF0VlZmN1ZWZ0FEQUZVQUZRT3JBMnNBSEFBcUFEa0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlqQVRRM1BnRTNOak15RmhjQkxnRUJJaVluQVI0QkZSUUhEZ0VIQmlNQ0FGaE9UblFoSWlJaGRFNU9XRmhPVG5RaElpSWhkRTVPV1A2ckdodGRQajVITzJzci9pSWlKZ0ZWTzJzckFkNGlKaG9iWFQ0K1J3TnJJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlXRTVPZENFaS9sVkhQajVkR3hvbUl2NGlLMnYrNWlZaUFkNHJhenRIUGo1ZEd4b0FBQU1BZ1AvckE0QURsUUFYQUNNQUt3QUFBU011QVNNaUJnY2pJZ1lWRVJRV015RXlOalVSTkNZaklUSVdGUlFHSXlJbU5UUTJBU0VSTXhVaE5UTURLN01OUVNvcVFRMnpJekl5SXdKV0l6SXlJLzdWRWhrWkVoSVpHUUU5L2FwV0FhcFdBMEFsTURBbE1pUDlWU015TWlNQ3F5TXlHUklSR1JrUkVobjlBQUtyZ0lBQUFBSUFyUUJ2QTFNREVRQUdBQk1BQUNVSEp6Y2VBUmNUQVFjbkJ4Y0hKemNYTnljM0FXT09LSTRLRkFxOEFUUWZIdmMrV1BaWVBYc2VIdjJPS0k0S0ZBb0NGUDdNSGg1N1BWajJXRDczSGg4QUNRQTUvL2tEeHdPSEFBOEFFd0FZQUNFQUpRQXVBRElBTmdBNkFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0FTTVZNd0VoRVNFUkJRY1hCeWMzSGdFWEp5TVZNeVVISndjbk54NEJGd0VqRlRNbEl4VXpOeU1WTXdOVi9WWXZRME12QXFvdlEwUDkwYXFxQWdEK09RSEgvdHhDUWlscGFRb1ZDdHlxcWdINEtFRkNLR29hTlJyK0NLcXFBUjNrNU9PcXFnZERMd0txTDBOREwvMVdMME1CSEtvQmp2NXlBWTdiUWtFb2FXb0tGQXJicXpFb1FVRW9hUm8xR2dHV3FxcXFxcW9BQUFFQTFRQ1ZBeXNDNndBTEFBQUJJUkVqRVNFMUlSRXpFU0VESy84QVZ2OEFBUUJXQVFBQmxmOEFBUUJXQVFEL0FBQUFBQUFCQVdJQXdBS2VBc0FBQmdBQUFTY0pBVGNuTndLZVBQOEFBUUE4dzhNQ2hEei9BUDhBUE1URUFBQUFBQUlBVlFBVkE2c0Rhd0FjQURnQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpFU0luTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlJRSERnRUhCZ0lBV0U1T2RDRWlJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlSejQrWFJzYUdodGRQajVIUno0K1hSc2FHaHRkUGo0RGF5SWhkRTVPV0ZoT1RuUWhJaUloZEU1T1dGaE9UblFoSXYwQUdodGRQajVIUno0K1hSc2FHaHRkUGo1SFJ6NCtYUnNhQUFBQUF3QlZBQlVEcXdOckFCd0FPUUJWQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUl6VWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpFU0luTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlJRSERnRUhCZ0lBTENjbk9oRVFFQkU2Snljc0xDY25PaEVRRUJFNkp5Y3NXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WVJ6NCtYUnNhR2h0ZFBqNUhSejQrWFJzYUdodGRQajRDbFJBUk9pY25MQ3duSnpvUkVCQVJPaWNuTEN3bkp6b1JFTllpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDlBQm9iWFQ0K1IwYytQbDBiR2hvYlhUNCtSMGMrUGwwYkdnQUFBQUVBcXdCckExVURGUUFKQUFBQkJ4Y2hGU0VIRndrQkFnQTg3djM1QWdmdVBBRlYvcXNERlR6dVZ1NDhBVlVCVlFBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRRXJBVlVDMVFJckFBTUFBQUVYTnlFQks5WFYvbFlDSzliV0FBRUJsUURyQW1zQ2xRQURBQUFCQnhjUkFtdlcxZ0tWMWRVQnFnQUJBWlVBNndKckFwVUFBd0FBSlRjbkVRR1YxdGJyMWRYK1ZnQUFBUUVyQVZVQzFRSXJBQU1BQUFFM0Z5RUJLOVhWL2xZQlZkYldBQUVBaVFDaUEzY0MzZ0FGQUFBQkp3Y1hBU2NCZDdJODdnSUFQQUVic2ozdUFnQThBQUVCWWdEQUFwNEN3QUFHQUFBQkJ4Y0hGd2tCQVo0OHc4TThBUUQvQUFMQVBNVEVQQUVBQVFBQUFBQUFBUURWQVpVREt3SHJBQVFBQUJNaEZTRTExUUpXL2FvQjYxWldBQUVCQUFFaUF3QUNYZ0FGQUFBQkJ5Y0hDUUVDeE1URVBBRUFBUUFDWHNQRFBQOEFBUUFBQUFBQkFBQUFBUUFBbHBHZlRWOFBQUFVBQ3dRQUFBQUFBTmtKNzVNQUFBQUEyUW52a3dBQS8rc0R4d09WQUFBQUNBQUNBQUFBQUFBQUFBRUFBQVBBLzhBQUFBUUFBQUFBQUFQSEFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBM0JBQUFBQUFBQUFBQUFBQUFBZ0FBQUFRQUFRQUVBQUE1QkFBQXF3UUFBRlVFQUFEVkJBQUFnQVFBQUlBRUFBQ0FCQUFBcXdRQUFLc0VBQUZpQkFBQWF3UUFBTlVFQUFCVkJBQUFsd1FBQUtzRUFBRmlCQUFBa3dRQUFKTUVBQUNBQkFBQTl3UUFBS3NFQUFDT0JBQUFrd1FBQVBjRUFBQ3JCQUFBNUFRQUFJQUVBQUNBQkFBQkFBUUFBTlVFQUFGaUJBQUFnQVFBQUZVRUFBQ0FCQUFBclFRQUFEa0VBQURWQkFBQllnUUFBRlVFQUFCVkJBQUFxd1FBQUlBRUFBRXJCQUFCbFFRQUFaVUVBQUVyQkFBQWlRUUFBV0lFQUFEVkJBQUJBQUFBQUFBQUNnQVVBQjRBT2dCc0FJUUF5QURrQVJBQk5BRllBV29CcWdIQUFmSUNEZ0tHQXVRQy9nTVVBNEFEMGdQdUJBb0VJQVJXQkpnRXRBVE9CUW9GR0FVd0JUNEZUQVZpQlh3RjJnWWNCa1FHcGdiQUJ0WUhMZ2V1QjhnSDlBZ0NDQkFJSGdnc0NENElWQWhpQ0hZQUFRQUFBRGNBVmdBSkFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0QXJnQUJBQUFBQUFBQkFBNEFBQUFCQUFBQUFBQUNBQWNBbndBQkFBQUFBQUFEQUE0QVN3QUJBQUFBQUFBRUFBNEF0QUFCQUFBQUFBQUZBQXNBS2dBQkFBQUFBQUFHQUE0QWRRQUJBQUFBQUFBS0FCb0EzZ0FEQUFFRUNRQUJBQndBRGdBREFBRUVDUUFDQUE0QXBnQURBQUVFQ1FBREFCd0FXUUFEQUFFRUNRQUVBQndBd2dBREFBRUVDUUFGQUJZQU5RQURBQUVFQ1FBR0FCd0Fnd0FEQUFFRUNRQUtBRFFBK0dGblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRlpsY25OcGIyNGdNUzR3QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1HRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkdGblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRkpsWjNWc1lYSUFVZ0JsQUdjQWRRQnNBR0VBY21GblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRVp2Ym5RZ1oyVnVaWEpoZEdWa0lHSjVJRWxqYjAxdmIyNHVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtbWF0ZXJpYWwge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxM3B4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAqOmZvY3VzLCAuYWctdGhlbWUtbWF0ZXJpYWwgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogODU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTUxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTcyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTExOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTg0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4OTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTk3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwNThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6ICM0M2EwNDc7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFjYzE7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgICBoZWlnaHQ6IDQwcHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgIGJvcmRlci13aWR0aDogMDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgICAgb3V0bGluZTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6cGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XFxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgaGVpZ2h0OiA0MHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmZvY3VzIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgICBvdXRsaW5lOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1ncm91cC1jZWxsOmhvdmVyLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItY2VsbDpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1jZWxsLmFnLWNvbHVtbi1yZXNpemluZyxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZTpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZS5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUuYWctY29sdW1uLXJlc2l6aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgIG1pbi13aWR0aDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnMTZweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDE2cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzhweCclMjB4MiUzRCcxJyUyMHkyJTNEJzhweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzRTJFMkUyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDM0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDU2cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCAxNnB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA4cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIGNvbG9yOiAjM2Y1MWI1O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBoZWlnaHQ6IDU2cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDU2cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgcGFkZGluZzogOHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGhlaWdodDogNTZweDtcXG4gICAgcGFkZGluZzogMCAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxOHB4O1xcbiAgICBoZWlnaHQ6IDE4cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDg4LCAyNTUsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMTMyLCAwLjEpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjIpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMjRweDtcXG4gICAgaGVpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICAgIHdpZHRoOiAyMDBweDtcXG4gICAgICBoZWlnaHQ6IDMxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgICBwYWRkaW5nOiAwIDhweCAwIDI0cHg7XFxuICAgICAgaGVpZ2h0OiA0OHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgaGVpZ2h0OiA0OHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDE4cHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcXG4gICAgaGVpZ2h0OiA0OHB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctcmlnaHQtYXJyb3cge1xcbiAgICAgIG1hcmdpbjogMCA4cHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XFxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XFxuICAgIG1pbi1oZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMzJweDtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgaGVpZ2h0OiAxNDBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWNjMSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgICAgd2lkdGg6IDIycHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0NHB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgyMjYsIDIyNiwgMjI2LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMXB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogNTZweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1zaXplOiAxMXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkTWF0ZXJpYWxcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxOHB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBsaW5lLWhlaWdodDogMThweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICNmZjQwODE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogI2ZmNDA4MTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjU2cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCI0MnB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIzMnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjQwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjE0MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMjZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiNDhweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI4cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMThweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmYge1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBmb250LXNpemU6IDI0cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNGVjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1oaWdobGlnaHQtYW5pbWF0aW9uIHtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICBib3JkZXItdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBidXR0b24ge1xcbiAgICAgIGJvcmRlcjogMDtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XFxuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctZmlsdGVyLXRvb2xwYW5lbC1ib2R5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICBib3JkZXItbGVmdDogMDtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDtcXG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCIvKlxcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXFxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XFxuKlxcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxcbiovXFxuXFxuLmd3LWFsaWdubWVudC1jZWxsLXJpZ2h0LFxcbi5ndy1hbGlnbm1lbnQtY2VsbC1yaWdodCAuYWctY2VsbC12YWx1ZSB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxO1xcbiAgICAgICAgICAgIGZsZXg6IDE7XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtY2VsbC1jZW50ZXIsXFxuLmd3LWFsaWdubWVudC1jZWxsLWNlbnRlciAuYWctY2VsbC12YWx1ZSB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDE7XFxuICAgICAgICAgICAgZmxleDogMTtcXG59XFxuXFxuLmd3LWFsaWdubWVudC1oZWFkZXItcmlnaHQgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgICAgXFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLWNlbnRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLXJpZ2h0IC5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lcixcXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1jZW50ZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxufVwiIiwiLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cblxudmFyIHN0eWxlc0luRG9tID0ge307XG5cbnZhclx0bWVtb2l6ZSA9IGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbztcblxuXHRyZXR1cm4gZnVuY3Rpb24gKCkge1xuXHRcdGlmICh0eXBlb2YgbWVtbyA9PT0gXCJ1bmRlZmluZWRcIikgbWVtbyA9IGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cdFx0cmV0dXJuIG1lbW87XG5cdH07XG59O1xuXG52YXIgaXNPbGRJRSA9IG1lbW9pemUoZnVuY3Rpb24gKCkge1xuXHQvLyBUZXN0IGZvciBJRSA8PSA5IGFzIHByb3Bvc2VkIGJ5IEJyb3dzZXJoYWNrc1xuXHQvLyBAc2VlIGh0dHA6Ly9icm93c2VyaGFja3MuY29tLyNoYWNrLWU3MWQ4NjkyZjY1MzM0MTczZmVlNzE1YzIyMmNiODA1XG5cdC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcblx0Ly8gdG8gb3BlcmF0ZSBjb3JyZWN0bHkgaW50byBub24tc3RhbmRhcmQgZW52aXJvbm1lbnRzXG5cdC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIvaXNzdWVzLzE3N1xuXHRyZXR1cm4gd2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2I7XG59KTtcblxudmFyIGdldFRhcmdldCA9IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTtcbn07XG5cbnZhciBnZXRFbGVtZW50ID0gKGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbyA9IHt9O1xuXG5cdHJldHVybiBmdW5jdGlvbih0YXJnZXQpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBwYXNzaW5nIGZ1bmN0aW9uIGluIG9wdGlvbnMsIHRoZW4gdXNlIGl0IGZvciByZXNvbHZlIFwiaGVhZFwiIGVsZW1lbnQuXG4gICAgICAgICAgICAgICAgLy8gVXNlZnVsIGZvciBTaGFkb3cgUm9vdCBzdHlsZSBpLmVcbiAgICAgICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAgICAgLy8gICBpbnNlcnRJbnRvOiBmdW5jdGlvbiAoKSB7IHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2Zvb1wiKS5zaGFkb3dSb290IH1cbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdHZhciBzdHlsZVRhcmdldCA9IGdldFRhcmdldC5jYWxsKHRoaXMsIHRhcmdldCk7XG5cdFx0XHQvLyBTcGVjaWFsIGNhc2UgdG8gcmV0dXJuIGhlYWQgb2YgaWZyYW1lIGluc3RlYWQgb2YgaWZyYW1lIGl0c2VsZlxuXHRcdFx0aWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG5cdFx0XHRcdFx0Ly8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuXHRcdFx0XHR9IGNhdGNoKGUpIHtcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IG51bGw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuXHRcdH1cblx0XHRyZXR1cm4gbWVtb1t0YXJnZXRdXG5cdH07XG59KSgpO1xuXG52YXIgc2luZ2xldG9uID0gbnVsbDtcbnZhclx0c2luZ2xldG9uQ291bnRlciA9IDA7XG52YXJcdHN0eWxlc0luc2VydGVkQXRUb3AgPSBbXTtcblxudmFyXHRmaXhVcmxzID0gcmVxdWlyZShcIi4vdXJsc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihsaXN0LCBvcHRpb25zKSB7XG5cdGlmICh0eXBlb2YgREVCVUcgIT09IFwidW5kZWZpbmVkXCIgJiYgREVCVUcpIHtcblx0XHRpZiAodHlwZW9mIGRvY3VtZW50ICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgc3R5bGUtbG9hZGVyIGNhbm5vdCBiZSB1c2VkIGluIGEgbm9uLWJyb3dzZXIgZW52aXJvbm1lbnRcIik7XG5cdH1cblxuXHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuXHRvcHRpb25zLmF0dHJzID0gdHlwZW9mIG9wdGlvbnMuYXR0cnMgPT09IFwib2JqZWN0XCIgPyBvcHRpb25zLmF0dHJzIDoge307XG5cblx0Ly8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG5cdC8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2Vcblx0aWYgKCFvcHRpb25zLnNpbmdsZXRvbiAmJiB0eXBlb2Ygb3B0aW9ucy5zaW5nbGV0b24gIT09IFwiYm9vbGVhblwiKSBvcHRpb25zLnNpbmdsZXRvbiA9IGlzT2xkSUUoKTtcblxuXHQvLyBCeSBkZWZhdWx0LCBhZGQgPHN0eWxlPiB0YWdzIHRvIHRoZSA8aGVhZD4gZWxlbWVudFxuICAgICAgICBpZiAoIW9wdGlvbnMuaW5zZXJ0SW50bykgb3B0aW9ucy5pbnNlcnRJbnRvID0gXCJoZWFkXCI7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgYm90dG9tIG9mIHRoZSB0YXJnZXRcblx0aWYgKCFvcHRpb25zLmluc2VydEF0KSBvcHRpb25zLmluc2VydEF0ID0gXCJib3R0b21cIjtcblxuXHR2YXIgc3R5bGVzID0gbGlzdFRvU3R5bGVzKGxpc3QsIG9wdGlvbnMpO1xuXG5cdGFkZFN0eWxlc1RvRG9tKHN0eWxlcywgb3B0aW9ucyk7XG5cblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZSAobmV3TGlzdCkge1xuXHRcdHZhciBtYXlSZW1vdmUgPSBbXTtcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHRcdHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdO1xuXG5cdFx0XHRkb21TdHlsZS5yZWZzLS07XG5cdFx0XHRtYXlSZW1vdmUucHVzaChkb21TdHlsZSk7XG5cdFx0fVxuXG5cdFx0aWYobmV3TGlzdCkge1xuXHRcdFx0dmFyIG5ld1N0eWxlcyA9IGxpc3RUb1N0eWxlcyhuZXdMaXN0LCBvcHRpb25zKTtcblx0XHRcdGFkZFN0eWxlc1RvRG9tKG5ld1N0eWxlcywgb3B0aW9ucyk7XG5cdFx0fVxuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBtYXlSZW1vdmUubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBkb21TdHlsZSA9IG1heVJlbW92ZVtpXTtcblxuXHRcdFx0aWYoZG9tU3R5bGUucmVmcyA9PT0gMCkge1xuXHRcdFx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSBkb21TdHlsZS5wYXJ0c1tqXSgpO1xuXG5cdFx0XHRcdGRlbGV0ZSBzdHlsZXNJbkRvbVtkb21TdHlsZS5pZF07XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xufTtcblxuZnVuY3Rpb24gYWRkU3R5bGVzVG9Eb20gKHN0eWxlcywgb3B0aW9ucykge1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBpdGVtID0gc3R5bGVzW2ldO1xuXHRcdHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdO1xuXG5cdFx0aWYoZG9tU3R5bGUpIHtcblx0XHRcdGRvbVN0eWxlLnJlZnMrKztcblxuXHRcdFx0Zm9yKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGRvbVN0eWxlLnBhcnRzW2pdKGl0ZW0ucGFydHNbal0pO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IoOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dmFyIHBhcnRzID0gW107XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdHBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSwgb3B0aW9ucykpO1xuXHRcdFx0fVxuXG5cdFx0XHRzdHlsZXNJbkRvbVtpdGVtLmlkXSA9IHtpZDogaXRlbS5pZCwgcmVmczogMSwgcGFydHM6IHBhcnRzfTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gbGlzdFRvU3R5bGVzIChsaXN0LCBvcHRpb25zKSB7XG5cdHZhciBzdHlsZXMgPSBbXTtcblx0dmFyIG5ld1N0eWxlcyA9IHt9O1xuXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBpdGVtID0gbGlzdFtpXTtcblx0XHR2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcblx0XHR2YXIgY3NzID0gaXRlbVsxXTtcblx0XHR2YXIgbWVkaWEgPSBpdGVtWzJdO1xuXHRcdHZhciBzb3VyY2VNYXAgPSBpdGVtWzNdO1xuXHRcdHZhciBwYXJ0ID0ge2NzczogY3NzLCBtZWRpYTogbWVkaWEsIHNvdXJjZU1hcDogc291cmNlTWFwfTtcblxuXHRcdGlmKCFuZXdTdHlsZXNbaWRdKSBzdHlsZXMucHVzaChuZXdTdHlsZXNbaWRdID0ge2lkOiBpZCwgcGFydHM6IFtwYXJ0XX0pO1xuXHRcdGVsc2UgbmV3U3R5bGVzW2lkXS5wYXJ0cy5wdXNoKHBhcnQpO1xuXHR9XG5cblx0cmV0dXJuIHN0eWxlcztcbn1cblxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50IChvcHRpb25zLCBzdHlsZSkge1xuXHR2YXIgdGFyZ2V0ID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8pXG5cblx0aWYgKCF0YXJnZXQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaW5kIGEgc3R5bGUgdGFyZ2V0LiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHZhbHVlIGZvciB0aGUgJ2luc2VydEludG8nIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcblx0fVxuXG5cdHZhciBsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcCA9IHN0eWxlc0luc2VydGVkQXRUb3Bbc3R5bGVzSW5zZXJ0ZWRBdFRvcC5sZW5ndGggLSAxXTtcblxuXHRpZiAob3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJ0b3BcIikge1xuXHRcdGlmICghbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3ApIHtcblx0XHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIHRhcmdldC5maXJzdENoaWxkKTtcblx0XHR9IGVsc2UgaWYgKGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wLm5leHRTaWJsaW5nKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cdFx0fVxuXHRcdHN0eWxlc0luc2VydGVkQXRUb3AucHVzaChzdHlsZSk7XG5cdH0gZWxzZSBpZiAob3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJib3R0b21cIikge1xuXHRcdHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cdH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwib2JqZWN0XCIgJiYgb3B0aW9ucy5pbnNlcnRBdC5iZWZvcmUpIHtcblx0XHR2YXIgbmV4dFNpYmxpbmcgPSBnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0SW50byArIFwiIFwiICsgb3B0aW9ucy5pbnNlcnRBdC5iZWZvcmUpO1xuXHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIG5leHRTaWJsaW5nKTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJbU3R5bGUgTG9hZGVyXVxcblxcbiBJbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgJ2luc2VydEF0JyAoJ29wdGlvbnMuaW5zZXJ0QXQnKSBmb3VuZC5cXG4gTXVzdCBiZSAndG9wJywgJ2JvdHRvbScsIG9yIE9iamVjdC5cXG4gKGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyI2luc2VydGF0KVxcblwiKTtcblx0fVxufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQgKHN0eWxlKSB7XG5cdGlmIChzdHlsZS5wYXJlbnROb2RlID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG5cdHN0eWxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGUpO1xuXG5cdHZhciBpZHggPSBzdHlsZXNJbnNlcnRlZEF0VG9wLmluZGV4T2Yoc3R5bGUpO1xuXHRpZihpZHggPj0gMCkge1xuXHRcdHN0eWxlc0luc2VydGVkQXRUb3Auc3BsaWNlKGlkeCwgMSk7XG5cdH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcblxuXHRvcHRpb25zLmF0dHJzLnR5cGUgPSBcInRleHQvY3NzXCI7XG5cblx0YWRkQXR0cnMoc3R5bGUsIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgc3R5bGUpO1xuXG5cdHJldHVybiBzdHlsZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTGlua0VsZW1lbnQgKG9wdGlvbnMpIHtcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlua1wiKTtcblxuXHRvcHRpb25zLmF0dHJzLnR5cGUgPSBcInRleHQvY3NzXCI7XG5cdG9wdGlvbnMuYXR0cnMucmVsID0gXCJzdHlsZXNoZWV0XCI7XG5cblx0YWRkQXR0cnMobGluaywgb3B0aW9ucy5hdHRycyk7XG5cdGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zLCBsaW5rKTtcblxuXHRyZXR1cm4gbGluaztcbn1cblxuZnVuY3Rpb24gYWRkQXR0cnMgKGVsLCBhdHRycykge1xuXHRPYmplY3Qua2V5cyhhdHRycykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0ZWwuc2V0QXR0cmlidXRlKGtleSwgYXR0cnNba2V5XSk7XG5cdH0pO1xufVxuXG5mdW5jdGlvbiBhZGRTdHlsZSAob2JqLCBvcHRpb25zKSB7XG5cdHZhciBzdHlsZSwgdXBkYXRlLCByZW1vdmUsIHJlc3VsdDtcblxuXHQvLyBJZiBhIHRyYW5zZm9ybSBmdW5jdGlvbiB3YXMgZGVmaW5lZCwgcnVuIGl0IG9uIHRoZSBjc3Ncblx0aWYgKG9wdGlvbnMudHJhbnNmb3JtICYmIG9iai5jc3MpIHtcblx0ICAgIHJlc3VsdCA9IG9wdGlvbnMudHJhbnNmb3JtKG9iai5jc3MpO1xuXG5cdCAgICBpZiAocmVzdWx0KSB7XG5cdCAgICBcdC8vIElmIHRyYW5zZm9ybSByZXR1cm5zIGEgdmFsdWUsIHVzZSB0aGF0IGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIGNzcy5cblx0ICAgIFx0Ly8gVGhpcyBhbGxvd3MgcnVubmluZyBydW50aW1lIHRyYW5zZm9ybWF0aW9ucyBvbiB0aGUgY3NzLlxuXHQgICAgXHRvYmouY3NzID0gcmVzdWx0O1xuXHQgICAgfSBlbHNlIHtcblx0ICAgIFx0Ly8gSWYgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbiByZXR1cm5zIGEgZmFsc3kgdmFsdWUsIGRvbid0IGFkZCB0aGlzIGNzcy5cblx0ICAgIFx0Ly8gVGhpcyBhbGxvd3MgY29uZGl0aW9uYWwgbG9hZGluZyBvZiBjc3Ncblx0ICAgIFx0cmV0dXJuIGZ1bmN0aW9uKCkge1xuXHQgICAgXHRcdC8vIG5vb3Bcblx0ICAgIFx0fTtcblx0ICAgIH1cblx0fVxuXG5cdGlmIChvcHRpb25zLnNpbmdsZXRvbikge1xuXHRcdHZhciBzdHlsZUluZGV4ID0gc2luZ2xldG9uQ291bnRlcisrO1xuXG5cdFx0c3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGNyZWF0ZVN0eWxlRWxlbWVudChvcHRpb25zKSk7XG5cblx0XHR1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcblx0XHRyZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xuXG5cdH0gZWxzZSBpZiAoXG5cdFx0b2JqLnNvdXJjZU1hcCAmJlxuXHRcdHR5cGVvZiBVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBVUkwuY3JlYXRlT2JqZWN0VVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLnJldm9rZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIEJsb2IgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCJcblx0KSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVMaW5rRWxlbWVudChvcHRpb25zKTtcblx0XHR1cGRhdGUgPSB1cGRhdGVMaW5rLmJpbmQobnVsbCwgc3R5bGUsIG9wdGlvbnMpO1xuXHRcdHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSk7XG5cblx0XHRcdGlmKHN0eWxlLmhyZWYpIFVSTC5yZXZva2VPYmplY3RVUkwoc3R5bGUuaHJlZik7XG5cdFx0fTtcblx0fSBlbHNlIHtcblx0XHRzdHlsZSA9IGNyZWF0ZVN0eWxlRWxlbWVudChvcHRpb25zKTtcblx0XHR1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQobnVsbCwgc3R5bGUpO1xuXHRcdHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSk7XG5cdFx0fTtcblx0fVxuXG5cdHVwZGF0ZShvYmopO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZSAobmV3T2JqKSB7XG5cdFx0aWYgKG5ld09iaikge1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRuZXdPYmouY3NzID09PSBvYmouY3NzICYmXG5cdFx0XHRcdG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmXG5cdFx0XHRcdG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXBcblx0XHRcdCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHVwZGF0ZShvYmogPSBuZXdPYmopO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW1vdmUoKTtcblx0XHR9XG5cdH07XG59XG5cbnZhciByZXBsYWNlVGV4dCA9IChmdW5jdGlvbiAoKSB7XG5cdHZhciB0ZXh0U3RvcmUgPSBbXTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gKGluZGV4LCByZXBsYWNlbWVudCkge1xuXHRcdHRleHRTdG9yZVtpbmRleF0gPSByZXBsYWNlbWVudDtcblxuXHRcdHJldHVybiB0ZXh0U3RvcmUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuXHR9O1xufSkoKTtcblxuZnVuY3Rpb24gYXBwbHlUb1NpbmdsZXRvblRhZyAoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuXHR2YXIgY3NzID0gcmVtb3ZlID8gXCJcIiA6IG9iai5jc3M7XG5cblx0aWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcblx0XHRzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSByZXBsYWNlVGV4dChpbmRleCwgY3NzKTtcblx0fSBlbHNlIHtcblx0XHR2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcyk7XG5cdFx0dmFyIGNoaWxkTm9kZXMgPSBzdHlsZS5jaGlsZE5vZGVzO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXNbaW5kZXhdKSBzdHlsZS5yZW1vdmVDaGlsZChjaGlsZE5vZGVzW2luZGV4XSk7XG5cblx0XHRpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcblx0XHRcdHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN0eWxlLmFwcGVuZENoaWxkKGNzc05vZGUpO1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBhcHBseVRvVGFnIChzdHlsZSwgb2JqKSB7XG5cdHZhciBjc3MgPSBvYmouY3NzO1xuXHR2YXIgbWVkaWEgPSBvYmoubWVkaWE7XG5cblx0aWYobWVkaWEpIHtcblx0XHRzdHlsZS5zZXRBdHRyaWJ1dGUoXCJtZWRpYVwiLCBtZWRpYSlcblx0fVxuXG5cdGlmKHN0eWxlLnN0eWxlU2hlZXQpIHtcblx0XHRzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG5cdH0gZWxzZSB7XG5cdFx0d2hpbGUoc3R5bGUuZmlyc3RDaGlsZCkge1xuXHRcdFx0c3R5bGUucmVtb3ZlQ2hpbGQoc3R5bGUuZmlyc3RDaGlsZCk7XG5cdFx0fVxuXG5cdFx0c3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG5cdH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlTGluayAobGluaywgb3B0aW9ucywgb2JqKSB7XG5cdHZhciBjc3MgPSBvYmouY3NzO1xuXHR2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuXHQvKlxuXHRcdElmIGNvbnZlcnRUb0Fic29sdXRlVXJscyBpc24ndCBkZWZpbmVkLCBidXQgc291cmNlbWFwcyBhcmUgZW5hYmxlZFxuXHRcdGFuZCB0aGVyZSBpcyBubyBwdWJsaWNQYXRoIGRlZmluZWQgdGhlbiBsZXRzIHR1cm4gY29udmVydFRvQWJzb2x1dGVVcmxzXG5cdFx0b24gYnkgZGVmYXVsdC4gIE90aGVyd2lzZSBkZWZhdWx0IHRvIHRoZSBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgb3B0aW9uXG5cdFx0ZGlyZWN0bHlcblx0Ki9cblx0dmFyIGF1dG9GaXhVcmxzID0gb3B0aW9ucy5jb252ZXJ0VG9BYnNvbHV0ZVVybHMgPT09IHVuZGVmaW5lZCAmJiBzb3VyY2VNYXA7XG5cblx0aWYgKG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzIHx8IGF1dG9GaXhVcmxzKSB7XG5cdFx0Y3NzID0gZml4VXJscyhjc3MpO1xuXHR9XG5cblx0aWYgKHNvdXJjZU1hcCkge1xuXHRcdC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NjAzODc1XG5cdFx0Y3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIiArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSkgKyBcIiAqL1wiO1xuXHR9XG5cblx0dmFyIGJsb2IgPSBuZXcgQmxvYihbY3NzXSwgeyB0eXBlOiBcInRleHQvY3NzXCIgfSk7XG5cblx0dmFyIG9sZFNyYyA9IGxpbmsuaHJlZjtcblxuXHRsaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuXG5cdGlmKG9sZFNyYykgVVJMLnJldm9rZU9iamVjdFVSTChvbGRTcmMpO1xufVxuIiwiXG4vKipcbiAqIFdoZW4gc291cmNlIG1hcHMgYXJlIGVuYWJsZWQsIGBzdHlsZS1sb2FkZXJgIHVzZXMgYSBsaW5rIGVsZW1lbnQgd2l0aCBhIGRhdGEtdXJpIHRvXG4gKiBlbWJlZCB0aGUgY3NzIG9uIHRoZSBwYWdlLiBUaGlzIGJyZWFrcyBhbGwgcmVsYXRpdmUgdXJscyBiZWNhdXNlIG5vdyB0aGV5IGFyZSByZWxhdGl2ZSB0byBhXG4gKiBidW5kbGUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBwYWdlLlxuICpcbiAqIE9uZSBzb2x1dGlvbiBpcyB0byBvbmx5IHVzZSBmdWxsIHVybHMsIGJ1dCB0aGF0IG1heSBiZSBpbXBvc3NpYmxlLlxuICpcbiAqIEluc3RlYWQsIHRoaXMgZnVuY3Rpb24gXCJmaXhlc1wiIHRoZSByZWxhdGl2ZSB1cmxzIHRvIGJlIGFic29sdXRlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBwYWdlIGxvY2F0aW9uLlxuICpcbiAqIEEgcnVkaW1lbnRhcnkgdGVzdCBzdWl0ZSBpcyBsb2NhdGVkIGF0IGB0ZXN0L2ZpeFVybHMuanNgIGFuZCBjYW4gYmUgcnVuIHZpYSB0aGUgYG5wbSB0ZXN0YCBjb21tYW5kLlxuICpcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3MpIHtcbiAgLy8gZ2V0IGN1cnJlbnQgbG9jYXRpb25cbiAgdmFyIGxvY2F0aW9uID0gdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cubG9jYXRpb247XG5cbiAgaWYgKCFsb2NhdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcImZpeFVybHMgcmVxdWlyZXMgd2luZG93LmxvY2F0aW9uXCIpO1xuICB9XG5cblx0Ly8gYmxhbmsgb3IgbnVsbD9cblx0aWYgKCFjc3MgfHwgdHlwZW9mIGNzcyAhPT0gXCJzdHJpbmdcIikge1xuXHQgIHJldHVybiBjc3M7XG4gIH1cblxuICB2YXIgYmFzZVVybCA9IGxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgbG9jYXRpb24uaG9zdDtcbiAgdmFyIGN1cnJlbnREaXIgPSBiYXNlVXJsICsgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXFwvW15cXC9dKiQvLCBcIi9cIik7XG5cblx0Ly8gY29udmVydCBlYWNoIHVybCguLi4pXG5cdC8qXG5cdFRoaXMgcmVndWxhciBleHByZXNzaW9uIGlzIGp1c3QgYSB3YXkgdG8gcmVjdXJzaXZlbHkgbWF0Y2ggYnJhY2tldHMgd2l0aGluXG5cdGEgc3RyaW5nLlxuXG5cdCAvdXJsXFxzKlxcKCAgPSBNYXRjaCBvbiB0aGUgd29yZCBcInVybFwiIHdpdGggYW55IHdoaXRlc3BhY2UgYWZ0ZXIgaXQgYW5kIHRoZW4gYSBwYXJlbnNcblx0ICAgKCAgPSBTdGFydCBhIGNhcHR1cmluZyBncm91cFxuXHQgICAgICg/OiAgPSBTdGFydCBhIG5vbi1jYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAgICAgW14pKF0gID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgIHwgID0gT1Jcblx0ICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICg/OiAgPSBTdGFydCBhbm90aGVyIG5vbi1jYXB0dXJpbmcgZ3JvdXBzXG5cdCAgICAgICAgICAgICAgICAgW14pKF0rICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIHwgID0gT1Jcblx0ICAgICAgICAgICAgICAgICBcXCggID0gTWF0Y2ggYSBzdGFydCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgICAgICBbXikoXSogID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgXFwpICA9IE1hdGNoIGEgZW5kIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICApICA9IEVuZCBHcm91cFxuICAgICAgICAgICAgICAqXFwpID0gTWF0Y2ggYW55dGhpbmcgYW5kIHRoZW4gYSBjbG9zZSBwYXJlbnNcbiAgICAgICAgICApICA9IENsb3NlIG5vbi1jYXB0dXJpbmcgZ3JvdXBcbiAgICAgICAgICAqICA9IE1hdGNoIGFueXRoaW5nXG4gICAgICAgKSAgPSBDbG9zZSBjYXB0dXJpbmcgZ3JvdXBcblx0IFxcKSAgPSBNYXRjaCBhIGNsb3NlIHBhcmVuc1xuXG5cdCAvZ2kgID0gR2V0IGFsbCBtYXRjaGVzLCBub3QgdGhlIGZpcnN0LiAgQmUgY2FzZSBpbnNlbnNpdGl2ZS5cblx0ICovXG5cdHZhciBmaXhlZENzcyA9IGNzcy5yZXBsYWNlKC91cmxcXHMqXFwoKCg/OlteKShdfFxcKCg/OlteKShdK3xcXChbXikoXSpcXCkpKlxcKSkqKVxcKS9naSwgZnVuY3Rpb24oZnVsbE1hdGNoLCBvcmlnVXJsKSB7XG5cdFx0Ly8gc3RyaXAgcXVvdGVzIChpZiB0aGV5IGV4aXN0KVxuXHRcdHZhciB1bnF1b3RlZE9yaWdVcmwgPSBvcmlnVXJsXG5cdFx0XHQudHJpbSgpXG5cdFx0XHQucmVwbGFjZSgvXlwiKC4qKVwiJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KVxuXHRcdFx0LnJlcGxhY2UoL14nKC4qKSckLywgZnVuY3Rpb24obywgJDEpeyByZXR1cm4gJDE7IH0pO1xuXG5cdFx0Ly8gYWxyZWFkeSBhIGZ1bGwgdXJsPyBubyBjaGFuZ2Vcblx0XHRpZiAoL14oI3xkYXRhOnxodHRwOlxcL1xcL3xodHRwczpcXC9cXC98ZmlsZTpcXC9cXC9cXC98XFxzKiQpL2kudGVzdCh1bnF1b3RlZE9yaWdVcmwpKSB7XG5cdFx0ICByZXR1cm4gZnVsbE1hdGNoO1xuXHRcdH1cblxuXHRcdC8vIGNvbnZlcnQgdGhlIHVybCB0byBhIGZ1bGwgdXJsXG5cdFx0dmFyIG5ld1VybDtcblxuXHRcdGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi8vXCIpID09PSAwKSB7XG5cdFx0ICBcdC8vVE9ETzogc2hvdWxkIHdlIGFkZCBwcm90b2NvbD9cblx0XHRcdG5ld1VybCA9IHVucXVvdGVkT3JpZ1VybDtcblx0XHR9IGVsc2UgaWYgKHVucXVvdGVkT3JpZ1VybC5pbmRleE9mKFwiL1wiKSA9PT0gMCkge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdXJsXG5cdFx0XHRuZXdVcmwgPSBiYXNlVXJsICsgdW5xdW90ZWRPcmlnVXJsOyAvLyBhbHJlYWR5IHN0YXJ0cyB3aXRoICcvJ1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZSB0byBjdXJyZW50IGRpcmVjdG9yeVxuXHRcdFx0bmV3VXJsID0gY3VycmVudERpciArIHVucXVvdGVkT3JpZ1VybC5yZXBsYWNlKC9eXFwuXFwvLywgXCJcIik7IC8vIFN0cmlwIGxlYWRpbmcgJy4vJ1xuXHRcdH1cblxuXHRcdC8vIHNlbmQgYmFjayB0aGUgZml4ZWQgdXJsKC4uLilcblx0XHRyZXR1cm4gXCJ1cmwoXCIgKyBKU09OLnN0cmluZ2lmeShuZXdVcmwpICsgXCIpXCI7XG5cdH0pO1xuXG5cdC8vIHNlbmQgYmFjayB0aGUgZml4ZWQgY3NzXG5cdHJldHVybiBmaXhlZENzcztcbn07XG4iLCJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuXHRpZiAoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcblx0XHRtb2R1bGUuZGVwcmVjYXRlID0gZnVuY3Rpb24oKSB7fTtcblx0XHRtb2R1bGUucGF0aHMgPSBbXTtcblx0XHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcblx0XHRpZiAoIW1vZHVsZS5jaGlsZHJlbikgbW9kdWxlLmNoaWxkcmVuID0gW107XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJsb2FkZWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUubDtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImlkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XG5cdH1cblx0cmV0dXJuIG1vZHVsZTtcbn07XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBTdGFydCBjZWxsIGVkaXRpbmdcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge1N0cmluZ3xudW1iZXJ9IHJvdyBUaGUgcm93IGluZGV4XG4gKiBAcGFyYW0ge1N0cmluZ30gY29sS2V5IFRoZSBjb2x1bW4ncyBrZXlcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0ga2V5ICBLZXkgcHJlc3NcbiAqIEBwYXJhbSB7U3RyaW5nfSBjaGFyIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc3RhcnRFZGl0aW5nQ2VsbChpZCwgcm93LCBjb2xLZXksIGtleSwgY2hhcikge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5zZXRGb2N1c2VkQ2VsbChOdW1iZXIocm93KSwgY29sS2V5KTtcbiAgb3B0aW9ucy5hcGkuc3RhcnRFZGl0aW5nQ2VsbCh7XG4gICAgcm93SW5kZXg6IE51bWJlcihyb3cpLFxuICAgIGNvbEtleTogY29sS2V5LFxuICAgIGtleVByZXNzOiBOdW1iZXIoa2V5KSxcbiAgICBjaGFyUHJlc3M6IGNoYXJcbiAgfSk7XG59XG5cbi8qKlxuICogU3RvcCBjZWxsIGVkaXRpbmcgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtCb29sZWFufSBjYW5jZWwgd2hlbiB0cnVlIGNhbmNlbCBlZGl0cyAsIHNhdmUgZWRpdHMgb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zdG9wRWRpdGluZyhpZCwgY2FuY2VsKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnN0b3BFZGl0aW5nKGNhbmNlbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19lZGl0TmV4dENlbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAudGFiVG9OZXh0Q2VsbCgpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2VkaXRQcmV2aW91c0NlbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAudGFiVG9QcmV2aW91c0NlbGwoKTtcbn1cblxuLyoqXG4gKiBTZXQgRm9jdXMgb24gdGhlIGdpdmVuIHJvdyBhbmQgY29sdW1uXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSByb3cgVGhlIHJvdydzIGluZGV4L2lkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uIFRoZSBjb2x1bW4gaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldEZvY3VzZWRDZWxsKGlkLCByb3csIGNvbHVtbikge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3QgciA9ICFyb3cgPyAwIDogKE51bWJlci5pc0ludGVnZXIoK3JvdykgPyArcm93IDogb3B0aW9ucy5hcGkuZ2V0Um93Tm9kZShyb3cpLnJvd0luZGV4KTtcbiAgY29uc3QgYyA9IGNvbHVtbiA/IGNvbHVtbiA6IG9wdGlvbnMuY29sdW1uQXBpLmdldEFsbEdyaWRDb2x1bW5zKClbMF0uY29sSWQ7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldEZvY3VzZWRDZWxsKHIsIGMpO1xufSIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5cbi8qKlxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAqIFxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnMgd2l0aCBvcHRpb25zIHdoaWNoIGNhbiBub3QgYmUgaGFuZGxlZCBpbiBCQmpcbiAqIChleDogYXR0YWNoaW5nIGNhbGxiYWNrcylcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gZGVmaW5pdGlvbnMgYXJyYXkgb2YgY29sdW1uIGRlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyhkZWZpbml0aW9ucykge1xuXG4gIGZvciAobGV0IGkgaW4gZGVmaW5pdGlvbnMpIHtcbiAgICBjb25zdCBkZWYgPSBkZWZpbml0aW9uc1tpXTtcblxuICAgIGRlZi5jaGVja2JveFNlbGVjdGlvbiA9IGRlZi5jaGVja2JveFNlbGVjdGlvbiB8fCBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveDtcbiAgICBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gfHwgZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZSB0aGUgY29sdW1uIGRlZmluaXRpb25zIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7QXJyYXl9IGRlZmluaXRpb25zIGFycmF5IG9mIGNvbHVtbiBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uRGVmaW5pdGlvbnMoaWQsIGRlZmluaXRpb25zKSB7XG4gIGNvbnN0IGdyaWQgPSBnd19nZXRHcmlkKGlkKTtcbiAgY29uc3QgZGVlcFBhcnNlZERlZmluaXRpb25zID0gZGVlcFBhcnNlSnNvbihKU09OLnN0cmluZ2lmeShkZWZpbml0aW9ucykpO1xuXG4gIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG5cbiAgZ3JpZC5vcHRpb25zLmFwaS5zZXRDb2x1bW5EZWZzKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG4gIGdyaWQub3B0aW9ucy5jb2x1bW5EZWZzID0gZGVlcFBhcnNlZERlZmluaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2l6ZUNvbHVtbnNUb0ZpdChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaXplQ29sdW1uc1RvRml0KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRWaXNpYmxlQ29sdW1uKGlkLCBjb2x1bW5JZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5lbnN1cmVDb2x1bW5WaXNpYmxlKGNvbHVtbklkKTtcbn1cblxuLyoqXG4gKiBTZXQgQ29sdW1uIFdpZHRoXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB3aWR0aCBUaGUgbmV3IGNvbHVtbiB3aWR0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uV2lkdGgoaWQsIGNvbHVtbklkLCB3aWR0aCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5XaWR0aChjb2x1bW5JZCwgTnVtYmVyKHdpZHRoKSk7XG59XG5cbi8qKlxuICogUGluIENvbHVtblxuICpcbiAqIFBpbiBhIGNvbHVtbiB0byBhIHNwZWNpZmljIGRpcmVjdGlvblxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBwaW4gVGhlIHBpbiBkaXJlY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BpbkNvbHVtbihpZCwgY29sdW1uSWQsIHBpbikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5QaW5uZWQoY29sdW1uSWQsIHBpbik7XG59XG5cbi8qKlxuICogTW92ZSBDb2x1bW5cbiAqXG4gKiBNb3ZlIGNvbHVtbiB0byBhIHNwZWNpZmljIGluZGV4XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB0b0luZGV4IFRoZSBuZXcgY29sdW1uIGluZGV4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19tb3ZlQ29sdW1uKGlkLCBjb2x1bW5JZCwgdG9JbmRleCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5tb3ZlQ29sdW1uKGNvbHVtbklkLCB0b0luZGV4KTtcbn1cblxuLyoqXG4gKiBTaG93IC8gSGlkZSBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgc2VsZWN0aW9uIGNoZWNrYm94IGlzIGFsd2F5cyBzaG93biBvbiB0aGVcbiAqIGZpcnN0IGNvbHVtblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbVxuICpcbiAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBmaXJzdCBjb2x1bW4gLCBmYWxzZSBpZiBub3QgdGhlIGZpcnN0IGNvbHVtbiBvciBpZiB0aGVcbiAqICAgICAgICAgICAgICAgICAgIGdyaWQncyBgQ29udGV4dC5zaG93U2VsZWN0aW9uQ2hlY2tib3hgIGlzIGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveChwYXJhbSkge1xuICBpZiAoIXBhcmFtLmNvbnRleHQuc2hvd1NlbGVjdGlvbkNoZWNrYm94KSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgY29sdW1ucyA9IHBhcmFtLmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRWaXJ0dWFsQ29sdW1ucygpO1xuXG4gIHJldHVybiBjb2x1bW5zWzBdLmNvbERlZi5maWVsZCA9PT0gcGFyYW0uY29sRGVmLmZpZWxkO1xufVxuXG4vKipcbiAqIFNob3cgLyBIaWRlIGhlYWRlciBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgaGVhZGVyIHNlbGVjdGlvbiBjaGVja2JveCBpcyBhbHdheXMgc2hvd24gb24gdGhlXG4gKiBmaXJzdCBjb2x1bW5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1cbiAqXG4gKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIHdoZW4gZmlyc3QgY29sdW1uICwgZmFsc2UgaWYgbm90IHRoZSBmaXJzdCBjb2x1bW4gb3IgaWYgdGhlXG4gKiAgICAgICAgICAgICAgICAgICBncmlkJ3MgYENvbnRleHQuc2hvd0hlYWRlclNlbGVjdGlvbkNoZWNrYm94YCBpcyBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbihwYXJhbSkge1xuICBjb25zdCBjb250ZXh0ID0gcGFyYW0uYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuXG4gIGlmICghY29udGV4dC5zaG93SGVhZGVyU2VsZWN0aW9uQ2hlY2tib3gpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBjb2x1bW5zID0gcGFyYW0uY29sdW1uQXBpLmdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zKCk7XG5cbiAgcmV0dXJuIGNvbHVtbnNbMF0uY29sRGVmLmZpZWxkID09PSBwYXJhbS5jb2xEZWYuZmllbGQ7XG59XG5cbi8qKlxuICogRW5hYmxlIHJvdyBncm91cGluZyBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICogQHBhcmFtIHtCb29sZWFufSBzZXQgIFdoZW4gdHJ1ZSAsIGBzZXRSb3dHcm91cENvbHVtbnNgIHdpbGwgYmUgdXNlZCAsIGBhZGRSb3dHcm91cENvbHVtbnNgIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUm93R3JvdXBDb2x1bW4oaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFJvd0dyb3VwQ29sdW1uc1wiIDogXCJhZGRSb3dHcm91cENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcm93IGdyb3VwaW5nIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVSb3dHcm91cENvbHVtbihpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVSb3dHcm91cENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0UGl2b3RNb2RlKGlkKSB7XG4gIHJldHVybiBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5pc1Bpdm90TW9kZSgpO1xufVxuXG4vKipcbiAqIEVuYWJsZSAvIGRpc2JhbGUgcGl2b3QgbW9kZSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge0Jvb2xlYW59IG1vZGUgd2hlbiB0cnVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0UGl2b3RNb2RlKGlkLCBtb2RlKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnNldFBpdm90TW9kZSghIU51bWJlcihtb2RlKSk7XG59XG5cbi8qKlxuICogRW5hYmxlIHBpdm90IGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHNldCAgV2hlbiB0cnVlICwgYGFkZFBpdm90Q29sdW1uc2Agd2lsbCBiZSB1c2VkICwgYHNldFBpdm90Q29sdW1uc2Agb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRQaXZvdENvbHVtbnMoaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFBpdm90Q29sdW1uc1wiIDogXCJhZGRQaXZvdENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcGl2b3QgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVBpdm90Q29sdW1ucyhpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVQaXZvdENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIEVuYWJsZSB2YWx1ZSBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkVmFsdWVDb2x1bW5zKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuYWRkVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHZhbHVlIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVWYWx1ZUNvbHVtbnMoaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIFVwZGF0ZSBjb250ZXh0IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfSBrZXkgVGhlIGNvbnRleHQncyBrZXkgdG8gdXBkYXRlXG4gKiBAcGFyYW0ge1N0cmluZ30gdmFsdWUgIFRoZSBuZXcgY29udGV4dCdzIHZhbHVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfdXBkYXRlQ29udGV4dChpZCwga2V5LCB2YWx1ZSkge1xuXHRnd19nZXRHcmlkKGlkKVxuXHRcdC5vcHRpb25zXG5cdFx0LmNvbnRleHRba2V5XSA9IEpTT04ucGFyc2UodmFsdWUpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5leHBvcnQgKiBmcm9tICcuL2luaXQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW5zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcm93cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29scGFuZWwuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXNiYXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9qc3MuanMnOyIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyB9IGZyb20gXCIuL2NvbHVtbnNcIjtcbmltcG9ydCB7IGd3X25hdmlnYXRlVG9OZXh0Um93IH0gICAgICAgZnJvbSBcIi4vcm93c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0Q29udGV4dE1lbnUgfSAgICAgICAgICBmcm9tIFwiLi9tZW51c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQsIGd3X2FkZEdyaWR9ICBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIGd3X29uUm93RG91YmxlQ2xpY2tlZCxcbiAgZ3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuICBnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCxcbiAgZ3dfb25DZWxsQ2xpY2tFdmVudCxcbiAgZ3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuICBnd19vblJvd0VkaXRpbmdFdmVudCxcbiAgZ3dfb25SZWFkeUV2ZW50LFxuICBnd19kZWJvdW5jZVxufSBmcm9tIFwiZXZlbnRzXCI7XG5cbmNvbnN0IHsgZGVlcFBhcnNlSnNvbiB9ID0gcmVxdWlyZShcImRlZXAtcGFyc2UtanNvblwiKTtcbmNvbnN0IHRlbXBsYXRlICAgICAgICAgID0gcmVxdWlyZSgnbG9kYXNoL3RlbXBsYXRlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19pbml0KG9wdGlvbnMsIGxpY2Vuc2UgLCBkYXRhKSB7XG4gIFxuICAvLyBzZXQgdGhlIGxpY2Vuc2Uga2V5IGZvciBlbnRlcnByaXNlIHZlcnNpb25cbiAgaWYgKGFnR3JpZC5MaWNlbnNlTWFuYWdlciAmJiBsaWNlbnNlKVxuICAgIGFnR3JpZC5MaWNlbnNlTWFuYWdlci5zZXRMaWNlbnNlS2V5KGxpY2Vuc2UpO1xuXG4gIGNvbnN0IGlkICAgICAgICAgICAgICA9IG9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgY29udGFpbmVyICAgICAgID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChpZCk7XG4gIC8vIHdlIG1ha2UgdGhlIGdyaWQgb3B0aW9ucyBhdmFpbGFibGUgYXMgc29vbiBhcyBwb3NzaWJsZSBcbiAgY29uc3QgZ3JpZCAgICAgICAgICAgID0gZ3dfYWRkR3JpZChpZCwge1xuICAgIGNvbnRhaW5lcixcbiAgICBvcHRpb25zXG4gIH0pO1xuXG4gIC8vIFRPRE86IHVzZSBhZyBncmlkIGRlc3Ryb3lcbiAgY29udGFpbmVyLmlubmVySFRNTCAgID0gJyc7XG5cbiAgY29uc3QgcGFyc2VkT3B0aW9ucyAgID0gZ3dfcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICBwYXJzZWRPcHRpb25zLnJvd0RhdGEgPSBkYXRhO1xuXG4gIGNvbnN0IGluc3RhbmNlICAgICAgICA9IG5ldyBhZ0dyaWQuR3JpZChjb250YWluZXIsIHBhcnNlZE9wdGlvbnMpO1xuICBncmlkLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIGdyaWQub3B0aW9ucyAgPSBwYXJzZWRPcHRpb25zO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGAlYyBHcmlkIFske2lkfV0gc2V0dGluZ3MgOiBgXG4gICAgLCAnYmFja2dyb3VuZDogIzIyMjsgY29sb3I6ICNiYWRhNTUnXG4gICAgLCBwYXJzZWRPcHRpb25zXG4gICk7XG59XG5cbi8qKlxuICogUGFyc2UgT3B0aW9uc1xuICogXG4gKiBQYXJzZSB0aGUgZ3JpZCBvcHRpb25zIGFuZCByZXR1cm4gXG4gKiBhbiBvYmplY3Qgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byB0aGUgZ3JpZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBHcmlkIG9wdGlvbnMgYXMgSnNvbiBPYmplY3RcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBvcHRpb25zIG9iamVjdFxuICovXG5mdW5jdGlvbiBnd19wYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICBjb25zdCBkZWVwUGFyc2VkT3B0aW9ucyAgICAgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgY29uc3QgaWQgICAgICAgICAgICAgICAgICAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZSAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5nZXREYXRhUGF0aCB8fCBcIlwiO1xuICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRvIGNvbnRyb2wgdGhpcyBzZXR0aW5nIGZyb20gQkJqID9cbiAgY29uc3QgZGVib3VuY2VEdXJhdGlvbiAgICAgID0gMjUwO1xuICBjb25zdCBmaW5hbE9wdGlvbnMgPSB7XG4gICAgLi4uZGVlcFBhcnNlZE9wdGlvbnMgLFxuICAgIC4uLntcbiAgICAgIGdldERvY3VtZW50OiAgICAgICAgICAgICgpICAgICA9PiAgIGd3X2dldERvY3VtZW50KCksXG4gICAgICBvbkNlbGxFZGl0aW5nU3RhcnRlZDogICBlICAgICAgPT4geyBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRWRpdGluZ1N0b3BwZWQ6ICAgZSAgICAgID0+IHsgZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbFZhbHVlQ2hhbmdlZDogICAgIGUgICAgICA9PiB7IGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvblJvd0VkaXRpbmdTdGFydGVkOiAgICBlICAgICAgPT4geyBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25Sb3dFZGl0aW5nU3RvcHBlZDogICAgZSAgICAgID0+IHsgZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uUm93VmFsdWVDaGFuZ2VkOiAgICAgIGUgICAgICA9PiB7IGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkNlbGxDbGlja2VkOiAgICAgICAgICBlICAgICAgPT4geyBnd19vbkNlbGxDbGlja0V2ZW50KGlkLCBlKSAgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRG91YmxlQ2xpY2tlZDogICAgZSAgICAgID0+IHsgZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkgICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uR3JpZFJlYWR5OiAgICAgICAgICAgIGUgICAgICA9PiB7IGd3X29uUmVhZHlFdmVudChpZCwgZSkgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBnZXRSb3dOb2RlSWQ6ICAgICAgICAgICBkYXRhICAgPT4gICBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgZ2V0Q29udGV4dE1lbnVJdGVtczogICAgcGFyYW1zID0+ICAgZ3dfZ2V0Q29udGV4dE1lbnUoaWQsIHBhcmFtcykgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIFwicG9wdXBQYXJlbnRcIjogICAgICAgICAgICAgICAgICAgICAgZ3dfZ2V0RG9jdW1lbnQoKS5ib2R5LFxuICAgICAgXCJvblJvd0RvdWJsZUNsaWNrZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJvd0RvdWJsZUNsaWNrZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblNlbGVjdGlvbkNoYW5nZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblNlbGVjdGlvbkNoYW5nZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblJhbmdlU2VsZWN0aW9uQ2hhbmdlZFwiOiAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCAsIGRlYm91bmNlRHVyYXRpb24pICAsXG4gICAgICBcImNvbXBvbmVudHNcIjoge1xuICAgICAgICBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0Jvb2xlYW5zUmVuZGVyZXIsXG4gICAgICAgIFwiQmFzaWNCb29sZWFuc0VkaXRvclwiICAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljQm9vbGVhbnNFZGl0b3IgICxcbiAgICAgICAgXCJCYXNpY0Jvb2xlYW5zRmlsdGVyXCIgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNCb29sZWFuc0ZpbHRlciAgLFxuICAgICAgICBcIkJhc2ljTnVtYmVyc0VkaXRvclwiICAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY051bWJlcnNFZGl0b3IgICAsXG4gICAgICAgIFwiQmFzaWNEYXRlVGltZXNFZGl0b3JcIiAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljRGF0ZVRpbWVzRWRpdG9yICxcbiAgICAgICAgXCJCYXNpY0RhdGVUaW1lc0ZpbHRlclwiICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNEYXRlVGltZXNGaWx0ZXIgLFxuICAgICAgICBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIiAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0ltYWdlc1JlbmRlcmVyICAsXG4gICAgICAgIC8vIGxvZGFzaCB0ZW1wbGF0ZSByZW5kZXJcbiAgICAgICAgXCJHV0N1c3RvbUhUTUxUZW1wbGF0ZVJlbmRlcmVyXCI6IHBhcmFtcyA9PiB7XG4gICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0ZW1wbGF0ZShwYXJhbXMuX19URU1QTEFURV9fKTtcbiAgICAgICAgICByZXR1cm4gY29tcGlsZWQoeyBwYXJhbXM6IHBhcmFtcyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBpZiAoXG4gICAgZmluYWxPcHRpb25zLmNvbnRleHQuaGFzT3duUHJvcGVydHkoXCJuYXZpZ2F0ZVRvTmV4dENlbGxcIikgJiZcbiAgICBmaW5hbE9wdGlvbnMuY29udGV4dC5uYXZpZ2F0ZVRvTmV4dENlbGxcbiAgKSB7XG4gICAgZmluYWxPcHRpb25zLm5hdmlnYXRlVG9OZXh0Q2VsbCA9IHBhcmFtcyA9PiB7IHJldHVybiBnd19uYXZpZ2F0ZVRvTmV4dFJvdyhpZCwgcGFyYW1zKSB9O1xuICB9XG5cbiAgaWYgKGdldERhdGFQYXRoVGVtcGxhdGUgJiYgZmluYWxPcHRpb25zLnRyZWVEYXRhKSB7XG4gICAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkID0gdGVtcGxhdGUoZ2V0RGF0YVBhdGhUZW1wbGF0ZSk7XG4gICAgZmluYWxPcHRpb25zLmdldERhdGFQYXRoID0gZGF0YSA9PiBnZXREYXRhUGF0aFRlbXBsYXRlQ29tcGxpZWQoeyBkYXRhOiBkYXRhIH0pO1xuICB9XG5cbiAgLy8gZXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAgZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMoZmluYWxPcHRpb25zLmNvbHVtbkRlZnMpO1xuXG4gIHJldHVybiBmaW5hbE9wdGlvbnM7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgJ2V4cG9zZS1sb2FkZXI/anNzIWpzcy9qc3MuanMnO1xuaW1wb3J0IHtnd19nZXREb2N1bWVudH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogRm9ybWF0ZSB0aGUgY3NzIHNlbGVjdG9yIFxuICogXG4gKiBDaGVjayBpZiB0aGUgY3NzIHNlbGVjdG9yIHN0YXJ0cyB3aXRoIGRvdCAsIGlmIG5vdCBhZGQgb25lIGFuZCByZXR1cm4gdGhlIFxuICogZm9ybWF0dGVkIG5hbWUgXG4gKiBcbiAqIEBwYXJhbSB7Kn0gc2VsZWN0b3IgXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKXtcbiAgcmV0dXJuIHNlbGVjdG9yLnN0YXJ0c1dpdGgoXCIuXCIpID8gc2VsZWN0b3IgOiBgLiR7c2VsZWN0b3J9YDtcbn1cblxuLyoqXG4gKiBBZGQgbmV3IHN0eWxlIFxuICogXG4gKiBBZGQgbmV3IHN0eWxlIHRvIHRoZSBkb2N1bWVudCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yIGNzcyBzZWxlY3RvclxuICogQHBhcmFtIHtTdHJpbmd9IHJ1bGVzIEpzb24gc3RyaW5nIGZvciBhbiBhcnJheSBvZiBydWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3R5bGUoc2VsZWN0b3IsIHJ1bGVzKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5zZXQoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpLCBKU09OLnBhcnNlKHJ1bGVzKSk7XG59XG5cbi8qKlxuICogUmVtb3ZlIHN0eWxlXG4gKiBcbiAqIFJlbW92ZSBhZGRlZCBzdHlsZSBmcm9tIHRoZXMgZG9jdW1lbnQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBjc3Mgc2VsZWN0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVN0eWxlKHNlbGVjdG9yKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5yZW1vdmUoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiXG5pbXBvcnQge1xuICBnd19wYXJzZU5vZGVGcm9tRXZlbnQsXG4gIGd3X3NlbmRFdmVudFxufSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Q29udGV4dE1lbnUoZ3JpZElkLCBwYXJhbXMpIHtcblxuICBjb25zdCBidWlsZENvbnRleHRNZW51QWN0aW9uID0gKHBhcmFtcywgaWQpID0+IHtcblxuICAgIHJldHVybiAoKSA9PiB7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQocGFyYW1zKTtcbiAgICAgIGNvbnN0IGNvbElkID0gcGFyYW1zLmNvbHVtbi5jb2xJZDtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICBnd19zZW5kRXZlbnQoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dCwge1xuICAgICAgICAndHlwZSc6ICdndy5jb250ZXh0bWVudScsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7IHJvdzogbm9kZSwgY29sdW1uOiBjb2xJZCwgdmFsdWUsIGlkIH0pXG4gICAgICB9LCBpZCk7XG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBwYXJzZU1lbnUgPSAobWVudSkgPT4ge1xuICAgIG1lbnUuZm9yRWFjaChpdGVtID0+IHtcblxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykgcmV0dXJuO1xuXG4gICAgICBpdGVtWydhY3Rpb24nXSA9IGJ1aWxkQ29udGV4dE1lbnVBY3Rpb24ocGFyYW1zLCBpdGVtLmlkKTtcblxuICAgICAgaWYgKGl0ZW1bJ2Nzc0NsYXNzZXMnXSAmJiAhQXJyYXkuaXNBcnJheShpdGVtWydjc3NDbGFzc2VzJ10pKVxuICAgICAgICBpdGVtWydjc3NDbGFzc2VzJ10gPSBpdGVtWydjc3NDbGFzc2VzJ10uc3BsaXQoXCIgXCIpO1xuXG4gICAgICBpZiAoaXRlbVsnc3ViTWVudSddKSBpdGVtWydzdWJNZW51J10gPSBwYXJzZU1lbnUoaXRlbVsnc3ViTWVudSddKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtZW51O1xuICB9O1xuXG4gIHJldHVybiBwYXJzZU1lbnUoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dC5jb250ZXh0TWVudSk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBTaG93IGxvYWRpbmcgb3ZlcmxheVxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3Nob3dMb2FkaW5nT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaG93TG9hZGluZ092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBTaG93ICdubyByb3dzJyBvdmVybGF5XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2hvd05vUm93c092ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2hvd05vUm93c092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBDbGVhciBhbGwgb3ZlcmxheXNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19oaWRlT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5oaWRlT3ZlcmxheSgpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19wYXJzZU5vZGUgfSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRRdWlja0ZpbHRlcihpZCwgZmlsdGVyKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldFF1aWNrRmlsdGVyKGZpbHRlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19leHBhbmRBbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuZXhwYW5kQWxsKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19jb2xsYXBzZUFsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5jb2xsYXBzZUFsbCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0VmlzaWJsZVJvdyhpZCwgaW5kZXgsIHBvc2l0aW9uKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmVuc3VyZUluZGV4VmlzaWJsZShpbmRleCwgcG9zaXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfbmF2aWdhdGVUb05leHRSb3coaWQsIHBhcmFtcykge1xuXG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBsZXQgcHJldmlvdXNDZWxsID0gcGFyYW1zLnByZXZpb3VzQ2VsbFBvc2l0aW9uO1xuICBsZXQgc3VnZ2VzdGVkTmV4dENlbGwgPSBwYXJhbXMubmV4dENlbGxQb3NpdGlvbjtcblxuICBjb25zdCBLRVlfVVAgPSAzODtcbiAgY29uc3QgS0VZX0RPV04gPSA0MDtcbiAgY29uc3QgS0VZX0xFRlQgPSAzNztcbiAgY29uc3QgS0VZX1JJR0hUID0gMzk7XG5cbiAgc3dpdGNoIChwYXJhbXMua2V5KSB7XG4gICAgY2FzZSBLRVlfRE9XTjpcbiAgICAgIC8vIHNldCBzZWxlY3RlZCBjZWxsIG9uIGN1cnJlbnQgY2VsbCArIDFcbiAgICAgIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlKChub2RlKSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NlbGwucm93SW5kZXggKyAxID09PSBub2RlLnJvd0luZGV4KSB7XG4gICAgICAgICAgbm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgY2FzZSBLRVlfVVA6XG4gICAgICAvLyBzZXQgc2VsZWN0ZWQgY2VsbCBvbiBjdXJyZW50IGNlbGwgLSAxXG4gICAgICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZSgobm9kZSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDZWxsLnJvd0luZGV4IC0gMSA9PT0gbm9kZS5yb3dJbmRleCkge1xuICAgICAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1Z2dlc3RlZE5leHRDZWxsO1xuICAgIGNhc2UgS0VZX0xFRlQ6XG4gICAgY2FzZSBLRVlfUklHSFQ6XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBoYXZlIHN1cGVyIHN0cmFuZ2Uga2V5Ym9hcmRcIik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFJvd05vZGVJZChpZCwgZGF0YSkge1xuICByZXR1cm4gZGF0YVtnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQuZ2V0Um93Tm9kZUlkXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd3NEYXRhKGlkLCBqc29uKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnNldFJvd0RhdGEoanNvbik7XG4gIG9wdGlvbnMucm93RGF0YSA9IGpzb247XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dEYXRhKGlkLCByb3cpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IHVwZGF0ZTogW3Jvd10gfSk7XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVSb3dzKGlkLCBpbmRleGVzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBsZXQgaXRlbXMgPSBbXTtcblxuICBpbmRleGVzLmZvckVhY2goaW5kZXggPT4ge1xuICAgIGl0ZW1zLnB1c2gob3B0aW9ucy5hcGkuZ2V0Um93Tm9kZShpbmRleCkuZGF0YSk7XG4gIH0pO1xuXG4gIG9wdGlvbnMuYXBpLnVwZGF0ZVJvd0RhdGEoeyByZW1vdmU6IGl0ZW1zIH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUm93cyhpZCwgaW5kZXgsIHJvd3MpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IGFkZDogcm93cywgYWRkSW5kZXg6IGluZGV4IH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgaGVpZ2h0IG9mIGFsbCByb3dzIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQgdGhlIHJvdyBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd3NIZWlnaHQoaWQsIGhlaWdodCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZShyb3cgPT4ge1xuICAgIHJvdy5zZXRSb3dIZWlnaHQoaGVpZ2h0KTtcbiAgfSk7XG4gIG9wdGlvbnMuYXBpLm9uUm93SGVpZ2h0Q2hhbmdlZCgpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgZ2l2ZW4gcm93IGhlaWdodCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkIFxuICogQHBhcmFtIHtOdW1iZXJ9IGluZGV4IHRoZSByb3cgaW5kZXhcbiAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQgdGhlIG5ldyBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd0hlaWdodChpZCwgaW5kZXgsIGhlaWdodCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3Qgcm93ID0gb3B0aW9ucy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChpbmRleCk7XG5cbiAgaWYgKHJvdykge1xuICAgIHJvdy5zZXRSb3dIZWlnaHQoaGVpZ2h0KTtcbiAgICBvcHRpb25zLmFwaS5vblJvd0hlaWdodENoYW5nZWQoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBzZXQgaGVpZ2h0IGZvciByb3cgJHtpbmRleH0uIFJvdyBjYW4gbm90IGJlIGZvdW5kYCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFNlbGVjdGVkUm93cyhpZCwgcm93cykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZUFmdGVyRmlsdGVyQW5kU29ydChub2RlID0+IHtcbiAgICBpZiAocm93cy5pbmRleE9mKG5vZGUucm93SW5kZXgpID4gLTEpIHtcbiAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICBvcHRpb25zLmFwaS5vbkdyb3VwRXhwYW5kZWRPckNvbGxhcHNlZCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2VsZWN0QWxsKGlkLCBmaWx0ZXJlZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBpZiAoMSA9PT0gZmlsdGVyZWQpIHtcbiAgICBvcHRpb25zLmFwaS5zZWxlY3RBbGxGaWx0ZXJlZCgpO1xuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMuYXBpLnNlbGVjdEFsbCgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19kZXNlbGVjdEFsbChpZCwgZmlsdGVyZWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgaWYgKDEgPT09IGZpbHRlcmVkKSB7XG4gICAgb3B0aW9ucy5hcGkuZGVzZWxlY3RBbGxGaWx0ZXJlZCgpO1xuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMuYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgcm93c1xuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9ICBzZWxlY3RlZCByb3dzIGFzIEpTT05cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFNlbGVjdGVkUm93cyhpZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3Qgbm9kZXMgPSBvcHRpb25zLmFwaS5nZXRTZWxlY3RlZE5vZGVzKCk7XG4gIGxldCBwYXJzZWQgPSBbXTtcblxuICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgIHBhcnNlZC5wdXNoKGd3X3BhcnNlTm9kZShub2RlLCBvcHRpb25zLmNvbnRleHQpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBhcnNlZCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBsYXN0IHNlbGVjdGVkIHJvd1xuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHNlbGVjdGVkIHJvdyBhcyBKU09OXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRTZWxlY3RlZFJvdyhpZCkge1xuICBjb25zdCByb3dzID0gSlNPTi5wYXJzZShnd19nZXRTZWxlY3RlZFJvd3MoaWQpKTtcblxuICBpZiAocm93cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocm93c1tyb3dzLmxlbmd0aCAtIDFdKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxuLyoqXG4gKiBHZXQgUmFuZ2UgU2VsZWN0aW9uc1xuICogXG4gKiBUaGUgbWV0aG9kIHdpbGwgY3JlYXRlIGEgcmFuZ2UganNvbiBtb2RlbCBmb3IgZWFjaCByYW5nZSB3aGljaCBjYW4gYmUgcGFyc2VkIGluIEJCaiBzaWRlLlxuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHNlbGVjdGVkIHJhbmdlcyBhcyBKU09OXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRSYW5nZVNlbGVjdGlvbnMoaWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IGNvbnRleHQgPSBvcHRpb25zLmNvbnRleHQ7XG4gIGNvbnN0IGFwaSA9IG9wdGlvbnMuYXBpO1xuICBjb25zdCByYW5nZXMgPSBhcGkuZ2V0Q2VsbFJhbmdlcygpO1xuICBjb25zdCBtb2RlbCA9IGFwaS5nZXRNb2RlbCgpO1xuICBsZXQgcmVzdWx0ID0gW107XG5cbiAgcmFuZ2VzLmZvckVhY2gocmFuZ2UgPT4ge1xuXG4gICAgLy8gY29uc3Qgc3RhcnQgPSBnd19wYXJzZU5vZGUobW9kZWwuZ2V0Um93KHJhbmdlLnN0YXJ0Um93LnJvd0luZGV4KSwgb3B0aW9ucy5jb250ZXh0KTtcbiAgICAvLyBjb25zdCBlbmQgPSBnd19wYXJzZU5vZGUobW9kZWwuZ2V0Um93KHJhbmdlLmVuZFJvdy5yb3dJbmRleCksIG9wdGlvbnMuY29udGV4dCk7XG5cbiAgICAvL2lmIChzdGFydCAhPT0gZmFsc2UgJiYgZW5kICE9PSBmYWxzZSkge1xuICAgIGNvbnN0IGNvbHVtbnMgPSByYW5nZS5jb2x1bW5zLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnQpID0+IHtcblxuICAgICAgaWYgKFwiYWctR3JpZC1BdXRvQ29sdW1uXCIgIT09IGN1cnJlbnQuY29sSWQpIHtcbiAgICAgICAgYWNjdW11bGF0b3IucHVzaChjdXJyZW50LmNvbElkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgIH0sIFtdKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICBjb25zdCBzdGFySW5kZXggPSBNYXRoLm1pbihyYW5nZS5zdGFydFJvdy5yb3dJbmRleCwgcmFuZ2UuZW5kUm93LnJvd0luZGV4KTtcbiAgICBjb25zdCBlbmRJbmRleCA9IE1hdGgubWF4KHJhbmdlLnN0YXJ0Um93LnJvd0luZGV4LCByYW5nZS5lbmRSb3cucm93SW5kZXgpO1xuICAgIGNvbnN0IHJvd3MgPSBbXTtcblxuICAgIGZvciAobGV0IHJvd0luZGV4ID0gc3RhckluZGV4OyByb3dJbmRleCA8PSBlbmRJbmRleDsgcm93SW5kZXgrKykge1xuICAgICAgY29uc3Qgbm9kZSA9IG1vZGVsLmdldFJvdyhyb3dJbmRleCk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBwYXJzZWROb2RlID0gZ3dfcGFyc2VOb2RlKG5vZGUsIGNvbnRleHQpO1xuICAgICAgICBpZihwYXJzZWROb2RlKSByb3dzLnB1c2gocGFyc2VkTm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvd3MubGVuZ3RoICYmIGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICByZXN1bHQucHVzaCh7IHJvd3MsIGNvbHVtbnMgfSk7XG4gICAgfVxuICAgIC8vfVxuICB9KTtcblxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcbn1cblxuLyoqXG4gKiBBZGQgbmV3IGNlbGwgcmFuZ2VcbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IHJhbmdlICBib3VuZGVkIG9yIHVuYm91bmRlZCByYW5nZSBtb2RlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkQ2VsbFJhbmdlKGlkLCByYW5nZSkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3QgcHIgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KHJhbmdlKSk7XG4gIGNvbnN0IHN0YXJ0ID0gIShwci5zdGFydCB8fCBudWxsKSA/XG4gICAgMCA6IChOdW1iZXIuaXNJbnRlZ2VyKCtwci5zdGFydCkgPyArcHIuc3RhcnQgOiBvcHRpb25zLmFwaS5nZXRSb3dOb2RlKHByLnN0YXJ0KS5yb3dJbmRleCk7XG4gIGNvbnN0IGVuZCA9ICEocHIuZW5kIHx8IG51bGwpID9cbiAgICAob3B0aW9ucy5yb3dEYXRhLmxlbmd0aCAtIDEpIDogKE51bWJlci5pc0ludGVnZXIoK3ByLmVuZCkgPyArcHIuZW5kIDogb3B0aW9ucy5hcGkuZ2V0Um93Tm9kZShwci5lbmQpLnJvd0luZGV4KTtcblxuICBvcHRpb25zLmFwaS5hZGRDZWxsUmFuZ2Uoe1xuICAgIHJvd1N0YXJ0SW5kZXg6IE1hdGguYWJzKHN0YXJ0KSxcbiAgICByb3dFbmRJbmRleDogTWF0aC5hYnMoZW5kKSxcbiAgICBjb2x1bW5zOiBwci5jb2x1bW5zXG4gIH0pO1xufVxuXG4vKipcbiAqIENsZWFycyB0aGUgc2VsZWN0ZWQgcmFuZ2UuXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2NsZWFyUmFuZ2VTZWxlY3Rpb24oaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuY2xlYXJSYW5nZVNlbGVjdGlvbigpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3RhdGUoaWQsIHN0YXRlKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIHRyeSB7XG4gICAgb3B0aW9ucy5jb2x1bW5BcGkuc2V0Q29sdW1uU3RhdGUoc3RhdGUuY29sdW1ucyk7XG4gICAgb3B0aW9ucy5jb2x1bW5BcGkuc2V0Q29sdW1uR3JvdXBTdGF0ZShzdGF0ZS5ncm91cHMpO1xuICAgIG9wdGlvbnMuYXBpLnNldFNvcnRNb2RlbChzdGF0ZS5zb3J0KTtcbiAgICBvcHRpb25zLmFwaS5zZXRGaWx0ZXJNb2RlbChzdGF0ZS5maWx0ZXJzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIHBhcnNlIGdyaWQgc3RhdGUgZnJvbSBKU09OJywgZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFN0YXRlKGlkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBjb2x1bW5zID0gb3B0aW9ucy5jb2x1bW5BcGkuZ2V0Q29sdW1uU3RhdGUoKTtcbiAgY29uc3QgZ3JvdXBzID0gb3B0aW9ucy5jb2x1bW5BcGkuZ2V0Q29sdW1uR3JvdXBTdGF0ZSgpO1xuICBjb25zdCBzb3J0ID0gb3B0aW9ucy5hcGkuZ2V0U29ydE1vZGVsKCk7XG4gIGNvbnN0IGZpbHRlcnMgPSBvcHRpb25zLmFwaS5nZXRGaWx0ZXJNb2RlbCgpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvbHVtbnMsXG4gICAgICBncm91cHMsXG4gICAgICBzb3J0LFxuICAgICAgZmlsdGVyc1xuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gY29udmVydCB0aGUgZ3JpZCBzdGF0ZSB0byBqc29uJywgZSk7XG4gIH1cbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0YXR1c2JhckNvbXBvbmVudFZpc2liaWxpdHkoaWQsIGtleSwgdmlzaWJpbGl0eSkge1xuXHRnd19nZXRHcmlkKGlkKVxuXHRcdC5vcHRpb25zXG5cdFx0LmFwaVxuXHRcdC5nZXRTdGF0dXNQYW5lbChrZXkpXG5cdFx0LnNldFZpc2libGUoQm9vbGVhbih2aXNpYmlsaXR5KSk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTaWRlQmFyVmlzaWJsZShpZCwgdmFsdWUpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0U2lkZUJhclZpc2libGUoQm9vbGVhbih2YWx1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfb3BlblRvb2xwYW5lbChncmlkSWQsIHRvb2xwYW5lbElkKSB7XG4gIGd3X2dldEdyaWQoZ3JpZElkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5vcGVuVG9vbFBhbmVsKHRvb2xwYW5lbElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2Nsb3NlVG9vbHBhbmVsKGdyaWRJZCwgdG9vbHBhbmVsSWQpIHtcbiAgZ3dfZ2V0R3JpZChncmlkSWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmNsb3NlVG9vbFBhbmVsKHRvb2xwYW5lbElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5KGlkLCByZWFkb25seSkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRGdW5jdGlvbnNSZWFkT25seShCb29sZWFuKHJlYWRvbmx5KSk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8qKlxuICogR2V0IGRvY3VtZW50IFxuICogXG4gKiBHZXQgdGhlIGRvY3VtZW50IGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBCQmogZW52XG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gRG9jdW1lbnQgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldERvY3VtZW50KCkge1xuICByZXR1cm4gdHlwZW9mICRkb2MgIT09ICd1bmRlZmluZWQnID8gJGRvYyA6IGRvY3VtZW50O1xufVxuXG4vKipcbiAqIEdldCB3aW5kb3cgXG4gKiBcbiAqIEdldCB0aGUgd2luZG93IGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBCQmogZW52XG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gV2luZG93IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRXaW5kb3coKSB7XG4gIHJldHVybiB0eXBlb2YgJHdpbiAhPT0gJ3VuZGVmaW5lZCcgPyAkd2luIDogd2luZG93O1xufVxuXG4vKipcbiAqIEVzY2FwZSBWYWx1ZSBcbiAqIFxuICogQ2hhbmdlIG51bGwgYW5kIHVuZGVmaW5lZCB0byBlbXB0eSBzdHJpbmcgXG4gKiBcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgXG4gKiBcbiAqIEByZXR1cm4ge1N0cmluZ30gZXNjYXBlZCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZXNjYXBlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiAnJztcbn1cblxuLyoqXG4gKiBHZXQgR3JpZCBcbiAqIFxuICogUmV0cmlldmUgdGhlIGdyaWQgaW5zdGFuY2UgZnJvbSBgd2luZG93LkJCakdyaWRFeFdpZGdldGAgYXJyYXkgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm4ge09iamVjdHxudWxsfSBUaGUgZ3JpZCdzIGluc3RhbmNlIG9mciBudWxsXG4gKiBAdGhyb3dzIFR5cGVFcnJvciB3aGVuIHRoZSBncmlkIGluc3RhbmNlIGlzIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0R3JpZChpZCkge1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0ID0gd2luZG93LkJCakdyaWRFeFdpZGdldCB8fCB7fTtcbiAgY29uc3QgZ3JpZCA9ICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0W2lkXSB8fCBudWxsO1xuXG4gIGlmICghZ3JpZCkge1xuICAgIGNvbnN0IHJlZ2lzdGVyZWRHcmlkcyA9IEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQpKTtcbiAgICAvL2dldEZ1bmNBcmdzKGZ1bmMpLmZvckVhY2goKGtleSwgaSkgPT4gYXJnc09ialtrZXldID0gYXJnc1tpXSk7XG4gICAgXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbmBcXG5cXG5bR3JpZCBOb3QgRm91bmRdIFRoZSBtZXRob2QgYXNrZWQgZm9yIG5vbi1leGlzdGVudCBncmlkIGluc3RhbmNlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVxdWlyZWQgR3JpZCBJZCA6ICR7aWR9ICAgXG5SZWdpc3RlcmVkIEdyaWRzIDogJHtyZWdpc3RlcmVkR3JpZHN9XG5gKTtcbiAgfVxuICBcbiAgcmV0dXJuIGdyaWQ7XG59XG5cbi8qKlxuICogQWRkIEdyaWQgXG4gKiBcbiAqIFN0b3JlIGEgbmV3IGdyaWQgaW5zdGFuY2UgYnkgaW4gdGhlIGB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0YCBhcnJheSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zICBUaGUgZ3JpZCdzIG9wdGlvbnNcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBTdG9yZWQgZ3JpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkR3JpZChpZCwgb3B0aW9ucykge1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0ID0gd2luZG93LkJCakdyaWRFeFdpZGdldCB8fCB7fTtcbiAgd2luZG93LkJCakdyaWRFeFdpZGdldFtpZF0gPSBvcHRpb25zO1xuICBcbiAgcmV0dXJuIGd3X2dldEdyaWQoaWQpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLy8gc2VsZWN0aW9uIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19DTElDSyA9IDY5O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0sgPSA1MjtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0NMSUNLID0gNTAwMTtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyA9IDUwMDI7XG5cbi8vIGVkaXRpbmcgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUQVJURUQgPSA1MDAzO1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVEID0gNTAwNDtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQgPSA1MDA1O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQgID0gNTAwNjtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVEID0gNTAwNztcblxuLy8gc3RhdGUgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0UgPSA1MDA4O1xuXG4vLyByYW5nZSBzZWxlY3Rpb25cbmV4cG9ydCBjb25zdCBHV19FVkVOVF9SQU5HRV9TRUxFQ1RJT05fQ0hBTkdFRCA9IDUwMDk7IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19zZW5kRXZlbnQsIGd3X3BhcnNlTm9kZUZyb21FdmVudCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfZXNjYXBlLCBnd19nZXRHcmlkIH0gZnJvbSBcImFwaS91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIEdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVELFxuICBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCxcbiAgR1dfRVZFTlRfQ0VMTF9WQUxVRV9DSEFOR0VELFxuICBHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVELFxuICBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVEXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jb25zdCBDRUxMX0VESVRJTkdfRVZFTlRTX01BUCA9IHtcbiAgJ2NlbGxFZGl0aW5nU3RhcnRlZCcgIDogR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUQVJURUQsXG4gICdjZWxsRWRpdGluZ1N0b3BwZWQnICA6IEdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVELFxuICAnY2VsbFZhbHVlQ2hhbmdlZCcgIDogR1dfRVZFTlRfQ0VMTF9WQUxVRV9DSEFOR0VELFxufTtcblxuY29uc3QgUk9XX0VESVRJTkdfRVZFTlRTX01BUCA9IHtcbiAgJ3Jvd0VkaXRpbmdTdGFydGVkJyAgOiBHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVELFxuICAncm93RWRpdGluZ1N0b3BwZWQnICA6IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUT1BQRUQsXG59O1xuXG4vKipcbiAqIEFuIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBjZWxsRWRpdGluZ1N0YXJ0ZWRgICwgYGNlbGxFZGl0aW5nU3RvcHBlZGAgYW5kIFxuICogYGNlbGxWYWx1ZUNoYW5nZWRgIGV2ZW50c1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5jZWxsRWRpdGluZ1N0YXJ0ZWRcbiAqIEBsaXN0ZW5zIGFnR3JpZC5jZWxsRWRpdGluZ1N0b3BwZWRcbiAqIEBsaXN0ZW5zIGFnR3JpZC5jZWxsVmFsdWVDaGFuZ2VkXG4gKiBcbiAqIEBmaXJlcyBndy5jZWxsRWRpdGluZ1N0YXJ0ZWRcbiAqIEBmaXJlcyBndy5jZWxsRWRpdGluZ1N0b3BwZWRcbiAqIEBmaXJlcyBndy5jZWxsVmFsdWVDaGFuZ2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIHtcblxuICBjb25zdCB2YWx1ZSA9IGd3X2VzY2FwZShlLm5ld1ZhbHVlKSB8fCBnd19lc2NhcGUoZS52YWx1ZSk7XG4gIGNvbnN0IG9sZFZhbHVlID0gZ3dfZXNjYXBlKGUub2xkVmFsdWUpIHx8IGd3X2VzY2FwZShlLm5ld1ZhbHVlKSB8fCBnd19lc2NhcGUoZS52YWx1ZSk7XG5cbiAgLy9pZiAodmFsdWUgPT09IG9sZFZhbHVlKSByZXR1cm47XG5cbiAgY29uc3QgcGFyc2VkID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KGUpO1xuICBjb25zdCB0eXBlID0gZS50eXBlO1xuICBjb25zdCBjb2xJZCA9IGUuY29sdW1uLmNvbElkO1xuXG4gIGlmIChwYXJzZWQpIHtcbiAgICBnd19zZW5kRXZlbnQoXG4gICAgICBnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsXG4gICAgICB7XG4gICAgICAgICd0eXBlJzogYGd3LiR7dHlwZX1gLFxuICAgICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIHJvdzogcGFyc2VkLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIG9sZFZhbHVlLFxuICAgICAgICAgIGNvbHVtbjogY29sSWRcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBDRUxMX0VESVRJTkdfRVZFTlRTX01BUFt0eXBlXVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgcm93RWRpdGluZ1N0YXJ0ZWRgICwgYHJvd0VkaXRpbmdTdG9wcGVkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0YXJ0ZWRcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yb3dFZGl0aW5nU3RvcHBlZFxuICogXG4gKiBAZmlyZXMgZ3cucm93RWRpdGluZ1N0YXJ0ZWRcbiAqIEBmaXJlcyBndy5yb3dFZGl0aW5nU3RvcHBlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpIHtcbiAgY29uc3QgcGFyc2VkID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KGUpO1xuXG4gIGlmIChwYXJzZWQpIHtcbiAgICBjb25zdCB0eXBlID0gZS50eXBlO1xuICAgIGd3X3NlbmRFdmVudChcbiAgICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCxcbiAgICAgIHtcbiAgICAgICAgJ3R5cGUnOiBgZ3cuJHtlLnR5cGV9YCxcbiAgICAgICAgJ2RldGFpbCc6IEpTT04uc3RyaW5naWZ5KHBhcnNlZClcbiAgICAgIH0sXG4gICAgICBST1dfRURJVElOR19FVkVOVFNfTUFQW3R5cGVdXG4gICAgKTtcbiAgfVxufVxuXG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7XG5cdGd3X29uUm93RG91YmxlQ2xpY2tlZCxcblx0Z3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuXHRnd19vbkNlbGxDbGlja0V2ZW50LFxuXHRnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZFxufSBmcm9tIFwiLi9zZWxlY3Rpb25zXCI7XG5cbmltcG9ydCB7XG5cdGd3X29uQ2VsbEVkaXRpbmdFdmVudCxcblx0Z3dfb25Sb3dFZGl0aW5nRXZlbnRcbn0gZnJvbSBcIi4vZWRpdGluZ1wiO1xuXG5pbXBvcnQge1xuXHRnd19vblJlYWR5RXZlbnRcbn0gZnJvbSBcIi4vc3RhdGVcIjtcblxuaW1wb3J0IHtcblx0Z3dfZGVib3VuY2Vcbn0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCB7XG5cdGd3X29uUm93RG91YmxlQ2xpY2tlZCxcblx0Z3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuXHRnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCxcblx0Z3dfb25DZWxsQ2xpY2tFdmVudCxcblx0Z3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuXHRnd19vblJvd0VkaXRpbmdFdmVudCxcblx0Z3dfb25SZWFkeUV2ZW50LFxuXHRnd19kZWJvdW5jZVxufTsiLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X3NlbmRFdmVudCwgZ3dfcGFyc2VOb2RlRnJvbUV2ZW50IH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19lc2NhcGUsIGd3X2dldEdyaWQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuaW1wb3J0IHtcbiAgR1dfRVZFTlRfUk9XX0NMSUNLLFxuICBHV19FVkVOVF9ST1dfRE9VQkxFX0NMSUNLLFxuICBHV19FVkVOVF9DRUxMX0NMSUNLLFxuICBHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyxcbiAgR1dfRVZFTlRfUkFOR0VfU0VMRUNUSU9OX0NIQU5HRURcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IENFTExfQ0xJQ0tJTkdfRVZFTlRTX01BUCA9IHtcbiAgJ2NlbGxDbGlja2VkJzogR1dfRVZFTlRfQ0VMTF9DTElDSyxcbiAgJ2NlbGxEb3VibGVDbGlja2VkJzogR1dfRVZFTlRfQ0VMTF9ET1VCTEVfQ0xJQ0ssXG59O1xuXG4vKipcbiAqIEFuIGhhbmRsZXIgZm9yIHRoZSBncmlkIGByb3dEb3VibGVDbGlja2VkYCBldmVudFxuICogXG4gKiBUaGUgZnVuY3Rpb24gd2lsbCBzZW5kIGEgYmJqIGV2ZW50IHdpdGggYEdXX05PREVgIGFzIHBheWxvYWRcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGUgVGhlIGV2ZW50J3MgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RG91YmxlQ2xpY2tlZFxuICogQGZpcmVzIGd3LnJvd0RvdWJsZUNsaWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJvd0RvdWJsZUNsaWNrZWQoZSkge1xuICBjb25zdCBjb250ZXh0ID0gZS5hcGkuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLmNvbnRleHQ7XG4gIGd3X3NlbmRFdmVudChjb250ZXh0LCB7XG4gICAgJ3R5cGUnOiAnZ3cucm93RG91YmxlQ2xpY2snLFxuICAgICdkZXRhaWwnOiAnJ1xuICB9LCBHV19FVkVOVF9ST1dfRE9VQkxFX0NMSUNLKTtcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBzZWxlY3Rpb25DaGFuZ2VkYCBldmVudFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnNlbGVjdGlvbkNoYW5nZWRcbiAqIEBmaXJlcyBndy5yb3dTZWxlY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uU2VsZWN0aW9uQ2hhbmdlZChlKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBlLmFwaS5ncmlkT3B0aW9uc1dyYXBwZXIuZ3JpZE9wdGlvbnMuY29udGV4dDtcbiAgZ3dfc2VuZEV2ZW50KGNvbnRleHQsIHtcbiAgICAndHlwZSc6ICdndy5yb3dTZWxlY3QnLFxuICAgICdkZXRhaWwnOiAnJ1xuICB9LCBHV19FVkVOVF9ST1dfQ0xJQ0spO1xufVxuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgdGhlIGdyaWQgYHJhbmdlU2VsZWN0aW9uQ2hhbmdlZGAgZXZlbnRcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGUgXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yYW5nZVNlbGVjdGlvbkNoYW5nZWRcbiAqIEBmaXJlcyBndy5yYW5nZVNlbGVjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWQoZSkge1xuICBjb25zdCBjb250ZXh0ID0gZS5hcGkuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLmNvbnRleHQ7XG4gIGd3X3NlbmRFdmVudChjb250ZXh0LCB7XG4gICAgJ3R5cGUnOiAnZ3cucmFuZ2VTZWxlY3Rpb24nLFxuICAgICdkZXRhaWwnOiAnJ1xuICB9LCBHV19FVkVOVF9SQU5HRV9TRUxFQ1RJT05fQ0hBTkdFRCk7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgY2VsbENsaWNrRXZlbnRgICYgYGNlbGxEb3VibGVDbGlja2VkYCBldmVudFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5jZWxsQ2xpY2tFdmVudFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxEb3VibGVDbGlja2VkXG4gKiBcbiAqIEBmaXJlcyBndy5jZWxsQ2xpY2tlZFxuICogQGZpcmVzIGd3LmNlbGxEb3VibGVDbGlja2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vbkNlbGxDbGlja0V2ZW50KGlkLCBlKSB7XG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgICBnd19zZW5kRXZlbnQoZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LCB7XG4gICAgICAndHlwZSc6IGBndy4ke2UudHlwZX1gLFxuICAgICAgJ2RldGFpbCc6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcm93OiBwYXJzZWQsXG4gICAgICAgIHZhbHVlOiBnd19lc2NhcGUoZS52YWx1ZSksXG4gICAgICAgIG9sZFZhbHVlOiBnd19lc2NhcGUoZS52YWx1ZSksXG4gICAgICAgIGNvbHVtbjogZS5jb2x1bW4uY29sSWRcbiAgICAgIH0pXG4gICAgfSwgQ0VMTF9DTElDS0lOR19FVkVOVFNfTUFQW3R5cGVdKTtcbiAgfVxufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19zZW5kRXZlbnQsIGd3X2RlYm91bmNlIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcImFwaS91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIEdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIE9uIFJlYWR5IEV2ZW50IFxuICogXG4gKiBUaGUgbWV0aG9kIHdpbGwgaWdub3JlIGZpcnN0IHJlYWR5IGV2ZW50IGFuZCB0aGVuIHJlZ2lzdGVyIGEgZGVib3VuY2VkIHN0YXRlXG4gKiBjYWxsYmFjayB0byBzZW5kIHN0YXRlIGV2ZW50cyB0byBCQmpcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25SZWFkeUV2ZW50KGlkLCBlKSB7XG5cbiAgLy8gcmVnaXN0ZXIgc3RhdGUgZGVib3VuY2UgbW9uaXRvciBcbiAgY29uc3Qgc3RhdGVEZWJvdW5jZSA9IGd3X2RlYm91bmNlKGNoYW5nZUV2ZW50ID0+IHtcblxuICAgIC8vIFdlIHNraXAgdGhlIGZpcnN0IHJlbmRlciBzdGF0ZSBjaGFuZ2VzXG4gICAgLy8gaWYgKCFnd19nZXRHcmlkKGlkKS5oYXNPd25Qcm9wZXJ0eSgnaXNGaXJzdFJlbmRlcicpKSB7XG4gICAgLy8gXHRnd19nZXRHcmlkKGlkKS5pc0ZpcnN0UmVuZGVyID0gdHJ1ZTtcbiAgICAvLyBcdHJldHVybjtcbiAgICAvLyB9XG5cbiAgICBnd19vblN0YXRlQ2hhbmdlZChpZCwgY2hhbmdlRXZlbnQpO1xuICB9LCA1MDApO1xuXG4gIFtcbiAgICAnc29ydENoYW5nZWQnLFxuICAgICdmaWx0ZXJDaGFuZ2VkJyxcbiAgICAnY29sdW1uVmlzaWJsZScsXG4gICAgJ2NvbHVtblBpbm5lZCcsXG4gICAgJ2NvbHVtblJlc2l6ZWQnLFxuICAgICdjb2x1bW5Nb3ZlZCcsXG4gICAgJ25ld0NvbHVtbnNMb2FkZWQnLFxuICAgICdncmlkQ29sdW1uc0NoYW5nZWQnLFxuICAgICdkaXNwbGF5ZWRDb2x1bW5zQ2hhbmdlZCcsXG4gICAgJ3ZpcnR1YWxDb2x1bW5zQ2hhbmdlZCcsXG4gICAgJ2NvbHVtbkV2ZXJ5dGhpbmdDaGFuZ2VkJyxcbiAgICAvLydncmlkU2l6ZUNoYW5nZWQnLFxuICAgICdleHBhbmRPckNvbGxhcHNlQWxsJyxcbiAgICAvLyd0b29sUGFuZWxWaXNpYmxlQ2hhbmdlZCdcbiAgXS5mb3JFYWNoKGV2ZW50ID0+IHtcbiAgICBnd19nZXRHcmlkKGlkKS5vcHRpb25zLmFwaS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBzdGF0ZURlYm91bmNlKTtcbiAgfSk7XG59XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYHN0YXRlQ2hhbmdlZGAgZXZlbnRzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnN0YXRlQ2hhbmdlZFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0VkaXRpbmdTdG9wcGVkXG4gKiBcbiAqIEBmaXJlcyBndy5zdGF0ZUNoYW5nZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uU3RhdGVDaGFuZ2VkKGlkLCBlKSB7XG4gIGd3X3NlbmRFdmVudChcbiAgICBnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsXG4gICAge1xuICAgICAgJ3R5cGUnOiAnZ3cuc3RhdGVDaGFuZ2VkJyxcbiAgICAgICdkZXRhaWwnOiBbXVxuICAgIH0sXG4gICAgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0VcbiAgKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldERvY3VtZW50IH0gZnJvbSBcImFwaS91dGlsaXRpZXNcIjtcblxuLyoqIGh0dHBzOi8vZGF2aWR3YWxzaC5uYW1lL2phdmFzY3JpcHQtZGVib3VuY2UtZnVuY3Rpb24gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19kZWJvdW5jZShmdW5jLCB3YWl0LCBpbW1lZGlhdGUpIHtcbiAgdmFyIHRpbWVvdXQ7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGNvbnRleHQgPSB0aGlzLCBhcmdzID0gYXJndW1lbnRzO1xuICAgIHZhciBsYXRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRpbWVvdXQgPSBudWxsO1xuICAgICAgaWYgKCFpbW1lZGlhdGUpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgfTtcbiAgICB2YXIgY2FsbE5vdyA9IGltbWVkaWF0ZSAmJiAhdGltZW91dDtcbiAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQpO1xuICAgIGlmIChjYWxsTm93KSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICB9O1xufVxuXG4vKipcbiAqIFNlbmQgYW4gZXZlbnQgdG8gQkJqIHNpZGUgXG4gKiBcbiAqIFRoZSBmdW5jdGlvbiB3aWxsIHRyaWdnZXIgYSBjdXN0b20gY2xpY2sgZXZlbnQgb24gdGhlIGBldmVudC1icmlkZ2UtJHtpZH1gIGRpdlxuICogdGhlbiB0aGUgZGl2IHdpbGwgdXNlIGJhc2lzRGlzcGF0Y2hDdXN0b21FdmVudCB0byBkaXNwYXRjaCB0aGUgZXZlbnQgdG8gQkJqXG4gKiBcbiAqIEBwYXJhbSB7QXJyYXl9IGNvbnRleHQgdGhlIGdyaWQncyBjb250ZXh0XG4gKiBAcGFyYW0geyp9IHBheWxvYWQgdGhlIGV2ZW50IHBheWxvYWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudElkIHRoZSBldmVudCdzIGlkIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2VuZEV2ZW50KGNvbnRleHQsIHBheWxvYWQgPSB7fSwgZXZlbnRJZCA9IFtdKSB7XG4gIGNvbnN0IHJlZ2lzdGVyZWRJbnRlcmVzdHMgPSBjb250ZXh0LmludGVyZXN0cyB8fCBbXTtcblxuICBpZiAocmVnaXN0ZXJlZEludGVyZXN0cy5pbmNsdWRlcyhldmVudElkKSkge1xuICAgIGNvbnN0IGRpdiA9IGd3X2dldERvY3VtZW50KCkuZ2V0RWxlbWVudEJ5SWQoYGV2ZW50LWJyaWRnZS0ke2NvbnRleHQuaWR9YCk7XG4gICAgY29uc3QgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2NsaWNrJyk7XG5cbiAgICBldmVudC5wYXlsb2FkID0gcGF5bG9hZDtcbiAgICBkaXYuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBCQmpHcmlkRXhXaWRnZXRSb3dcbiAqIFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGlkIFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGluZGV4IFxuICogQHByb3BlcnR5IHtudW1iZXJ9IHBhcmVudEtleSBcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjaGlsZEluZGV4IFxuICogQHByb3BlcnR5IHtib29sZWFufSBzZWxlY3RlZCBcbiAqL1xuXG4vKipcbiAqIFBhcnNlIGEgbm9kZSBhcyBCQmpHcmlkRXhXaWRnZXRSb3dcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IG5vZGUgYWcgZ3JpZCBub2RlXG4gKiBAcGFyYW0ge09iamVjdH0gY29udGV4dCAgYWcgZ3JpZCBjb250ZXh0XG4gKiBcbiAqIEByZXR1cm5zIHtCQmpHcmlkRXhXaWRnZXRSb3d8Qm9vbGVhbn0gb2JqZWN0IGZvcm1hdHRlZCBhcyBCQmpHcmlkRXhXaWRnZXRSb3cuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIGlmIHRoZSBub2RlIGlzIGZvciBncm91cCBub2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19wYXJzZU5vZGUobm9kZSwgY29udGV4dCkge1xuXG4gIGlmICh0cnVlID09PSBub2RlLmdyb3VwKSByZXR1cm4gZmFsc2U7IC8vIHdlIGRvIG5vdCBtYW5hZ2UgZ3JvdXBzXG5cbiAgY29uc3Qgcm93Tm9kZUlkID0gY29udGV4dC5oYXNPd25Qcm9wZXJ0eSgnZ2V0Um93Tm9kZUlkJykgJiYgbm9kZS5kYXRhW2NvbnRleHQuZ2V0Um93Tm9kZUlkXSA/XG4gICAgbm9kZS5kYXRhW2NvbnRleHQuZ2V0Um93Tm9kZUlkXSA6ICcnO1xuXG4gIHJldHVybiB7XG4gICAgaWQ6IHJvd05vZGVJZCA/IHJvd05vZGVJZCA6IG5vZGUuaWQsXG4gICAgaW5kZXg6IHJvd05vZGVJZCxcbiAgICBwYXJlbnRLZXk6IG5vZGUuaGFzT3duUHJvcGVydHkoJ3BhcmVudCcpICYmIG5vZGUucGFyZW50Lmhhc093blByb3BlcnR5KCdrZXknKSA/XG4gICAgICBub2RlLnBhcmVudC5rZXkgOiAnJyxcbiAgICBjaGlsZEluZGV4OiBub2RlLmNoaWxkSW5kZXgsXG4gICAgc2VsZWN0ZWQ6IEJvb2xlYW4obm9kZS5zZWxlY3RlZCksXG4gIH07XG59XG5cbi8qKlxuICogUGFyc2Ugbm9kZSBmcm9tIGV2ZW50IFxuICogXG4gKiBQYXJzZSBub2RlIGluIHRoZSBwYVNzZWQgZXZlbnQgYXMgQkJqR3JpZEV4V2lkZ2V0Um93XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlXG4gKiBcbiAqIEByZXR1cm5zIHtCQmpHcmlkRXhXaWRnZXRSb3d9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSkge1xuICByZXR1cm4gZ3dfcGFyc2VOb2RlKGUubm9kZSwgZS5jb250ZXh0KTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0ICdleHBvc2UtbG9hZGVyP0Jhc2lzLkFnR3JpZENvbXBvbmVudHMhYWctZ3JpZC1jb21wb25lbnRzL2Rpc3QvYWdjLWJhc2ljLmJ1bmRsZS5qcyc7XG5cbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzJyk7XG5cbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1kYXJrLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1tYXRlcmlhbC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcycpO1xuXG5yZXF1aXJlKCcuL3N0eWxlL2NsYXNzZXMuY3NzJyk7XG5cbmV4cG9ydCAqIGZyb20gJy4vcG9seWZpbGxzLmpzJztcbmV4cG9ydCAqIGZyb20gXCIuL2FwaVwiO1xuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG4vKiogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0N1c3RvbUV2ZW50L0N1c3RvbUV2ZW50ICAqL1xuKGZ1bmN0aW9uICgpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGZhbHNlOyAvL0lmIG5vdCBJRVxuXG4gIGZ1bmN0aW9uIEN1c3RvbUV2ZW50KGV2ZW50LCBwYXJhbXMpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwgeyBidWJibGVzOiBmYWxzZSwgY2FuY2VsYWJsZTogZmFsc2UsIGRldGFpbDogdW5kZWZpbmVkIH07XG4gICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpO1xuICAgIGV2dC5pbml0Q3VzdG9tRXZlbnQoZXZlbnQsIHBhcmFtcy5idWJibGVzLCBwYXJhbXMuY2FuY2VsYWJsZSwgcGFyYW1zLmRldGFpbCk7XG4gICAgcmV0dXJuIGV2dDtcbiAgfVxuXG4gIEN1c3RvbUV2ZW50LnByb3RvdHlwZSA9IHdpbmRvdy5FdmVudC5wcm90b3R5cGU7XG5cbiAgd2luZG93LkN1c3RvbUV2ZW50ID0gQ3VzdG9tRXZlbnQ7XG59KSgpO1xuIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2NsYXNzZXMuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2NsYXNzZXMuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzP2I0MzYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcz9jZGMxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzP2I5MzAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzPzA5NTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3M/M2Y1NiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3M/OGM0ZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzPzdkMDAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcz8xMWFlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2Zvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL251bWJlci9pcy1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL3N0cmluZy9zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmljdC1tZXRob2QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWxlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZWVwLXBhcnNlLWpzb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tcG9uZW50cy9kaXN0L2FnYy1iYXNpYy5idW5kbGUuanMtZXhwb3NlZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanNzL2pzcy5qcy1leHBvc2VkIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qc3MvanNzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcHBseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcnJheUxpa2VLZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2FycmF5TWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VBc3NpZ25WYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlR2V0VGFnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VJc0FyZ3VtZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlSXNOYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VQcm9wZXJ0eU9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VSZXN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VTZXRUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVGltZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VVbmFyeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVmFsdWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvcHlPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY29yZUpzRGF0YS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jdXN0b21EZWZhdWx0c0Fzc2lnbkluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2RlZmluZVByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZUh0bWxDaGFyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZVN0cmluZ0NoYXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZnJlZUdsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXROYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0UHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2dldFJhd1RhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXRWYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc0luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzSXRlcmF0ZWVDYWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzTWFza2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzUHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25hdGl2ZUtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fbmF0aXZlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25vZGVVdGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX29iamVjdFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX292ZXJBcmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fb3ZlclJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFc2NhcGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFdmFsdWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19yZUludGVycG9sYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3Jvb3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2V0VG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2hvcnRPdXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fdG9Tb3VyY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hc3NpZ25JbldpdGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hdHRlbXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvY29uc3RhbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9lcS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2VzY2FwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lkZW50aXR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0FycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcnJheUxpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0J1ZmZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzRXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0Z1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNMZW5ndGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc09iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzT2JqZWN0TGlrZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzUGxhaW5PYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2tleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9rZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9zdHViRmFsc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90ZW1wbGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL3RlbXBsYXRlU2V0dGluZ3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90b1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc3R5bGUvY2xhc3Nlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL3VybHMuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY2VsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jb2x1bW5zLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY29udGV4dC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvaW5pdC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2pzcy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL21lbnVzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvb3ZlcmxheXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9yb3dzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9zdGF0dXNiYXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS90b29scGFuZWwuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9jb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9lZGl0aW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9zZWxlY3Rpb25zLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9wb2x5ZmlsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlL2NsYXNzZXMuY3NzP2I3MzgiXSwibmFtZXMiOlsiZGVlcFBhcnNlSnNvbiIsImpzb25TdHJpbmciLCJKU09OIiwicGFyc2UiLCJlcnIiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWwiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwib2JqIiwia2V5IiwibW9kdWxlIiwiZXhwb3J0cyIsImd3X3N0YXJ0RWRpdGluZ0NlbGwiLCJpZCIsInJvdyIsImNvbEtleSIsImNoYXIiLCJvcHRpb25zIiwiYXBpIiwic2V0Rm9jdXNlZENlbGwiLCJOdW1iZXIiLCJzdGFydEVkaXRpbmdDZWxsIiwicm93SW5kZXgiLCJrZXlQcmVzcyIsImNoYXJQcmVzcyIsImd3X3N0b3BFZGl0aW5nIiwiY2FuY2VsIiwic3RvcEVkaXRpbmciLCJnd19lZGl0TmV4dENlbGwiLCJ0YWJUb05leHRDZWxsIiwiZ3dfZWRpdFByZXZpb3VzQ2VsbCIsInRhYlRvUHJldmlvdXNDZWxsIiwiZ3dfc2V0Rm9jdXNlZENlbGwiLCJjb2x1bW4iLCJyIiwiaXNJbnRlZ2VyIiwiZ2V0Um93Tm9kZSIsImMiLCJjb2x1bW5BcGkiLCJnZXRBbGxHcmlkQ29sdW1ucyIsImNvbElkIiwicmVxdWlyZSIsImd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zIiwiZGVmaW5pdGlvbnMiLCJpIiwiZGVmIiwiY2hlY2tib3hTZWxlY3Rpb24iLCJnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveCIsImhlYWRlckNoZWNrYm94U2VsZWN0aW9uIiwiZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbiIsImd3X3NldENvbHVtbkRlZmluaXRpb25zIiwiZ3JpZCIsImRlZXBQYXJzZWREZWZpbml0aW9ucyIsInN0cmluZ2lmeSIsInNldENvbHVtbkRlZnMiLCJjb2x1bW5EZWZzIiwiZ3dfc2l6ZUNvbHVtbnNUb0ZpdCIsInNpemVDb2x1bW5zVG9GaXQiLCJnd19zZXRWaXNpYmxlQ29sdW1uIiwiY29sdW1uSWQiLCJlbnN1cmVDb2x1bW5WaXNpYmxlIiwiZ3dfc2V0Q29sdW1uV2lkdGgiLCJ3aWR0aCIsInNldENvbHVtbldpZHRoIiwiZ3dfcGluQ29sdW1uIiwicGluIiwic2V0Q29sdW1uUGlubmVkIiwiZ3dfbW92ZUNvbHVtbiIsInRvSW5kZXgiLCJtb3ZlQ29sdW1uIiwicGFyYW0iLCJjb250ZXh0Iiwic2hvd1NlbGVjdGlvbkNoZWNrYm94IiwiY29sdW1ucyIsImdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zIiwiY29sRGVmIiwiZmllbGQiLCJncmlkT3B0aW9uc1dyYXBwZXIiLCJncmlkT3B0aW9ucyIsInNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveCIsImd3X2FkZFJvd0dyb3VwQ29sdW1uIiwic2V0Iiwic3BsaXQiLCJ0cmltIiwiZ3dfcmVtb3ZlUm93R3JvdXBDb2x1bW4iLCJyZW1vdmVSb3dHcm91cENvbHVtbnMiLCJnd19nZXRQaXZvdE1vZGUiLCJpc1Bpdm90TW9kZSIsImd3X3NldFBpdm90TW9kZSIsIm1vZGUiLCJzZXRQaXZvdE1vZGUiLCJnd19hZGRQaXZvdENvbHVtbnMiLCJnd19yZW1vdmVQaXZvdENvbHVtbnMiLCJyZW1vdmVQaXZvdENvbHVtbnMiLCJnd19hZGRWYWx1ZUNvbHVtbnMiLCJhZGRWYWx1ZUNvbHVtbnMiLCJnd19yZW1vdmVWYWx1ZUNvbHVtbnMiLCJyZW1vdmVWYWx1ZUNvbHVtbnMiLCJnd191cGRhdGVDb250ZXh0IiwidmFsdWUiLCJ0ZW1wbGF0ZSIsImd3X2luaXQiLCJsaWNlbnNlIiwiZGF0YSIsImFnR3JpZCIsIkxpY2Vuc2VNYW5hZ2VyIiwic2V0TGljZW5zZUtleSIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwiaW5uZXJIVE1MIiwicGFyc2VkT3B0aW9ucyIsImd3X3BhcnNlT3B0aW9ucyIsInJvd0RhdGEiLCJpbnN0YW5jZSIsIkdyaWQiLCJjb25zb2xlIiwibG9nIiwiZGVlcFBhcnNlZE9wdGlvbnMiLCJnZXREYXRhUGF0aFRlbXBsYXRlIiwiZ2V0RGF0YVBhdGgiLCJkZWJvdW5jZUR1cmF0aW9uIiwiZmluYWxPcHRpb25zIiwiZ2V0RG9jdW1lbnQiLCJvbkNlbGxFZGl0aW5nU3RhcnRlZCIsImUiLCJvbkNlbGxFZGl0aW5nU3RvcHBlZCIsIm9uQ2VsbFZhbHVlQ2hhbmdlZCIsIm9uUm93RWRpdGluZ1N0YXJ0ZWQiLCJvblJvd0VkaXRpbmdTdG9wcGVkIiwib25Sb3dWYWx1ZUNoYW5nZWQiLCJvbkNlbGxDbGlja2VkIiwib25DZWxsRG91YmxlQ2xpY2tlZCIsIm9uR3JpZFJlYWR5IiwiZ2V0Um93Tm9kZUlkIiwiZ3dfZ2V0Um93Tm9kZUlkIiwiZ2V0Q29udGV4dE1lbnVJdGVtcyIsInBhcmFtcyIsImJvZHkiLCJnd19vblJvd0RvdWJsZUNsaWNrZWQiLCJnd19vblNlbGVjdGlvbkNoYW5nZWQiLCJnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCIsIkJhc2lzIiwiQWdHcmlkQ29tcG9uZW50cyIsIkJhc2ljQm9vbGVhbnNSZW5kZXJlciIsIkJhc2ljQm9vbGVhbnNFZGl0b3IiLCJCYXNpY0Jvb2xlYW5zRmlsdGVyIiwiQmFzaWNOdW1iZXJzRWRpdG9yIiwiQmFzaWNEYXRlVGltZXNFZGl0b3IiLCJCYXNpY0RhdGVUaW1lc0ZpbHRlciIsIkJhc2ljSW1hZ2VzUmVuZGVyZXIiLCJjb21waWxlZCIsIl9fVEVNUExBVEVfXyIsImhhc093blByb3BlcnR5IiwibmF2aWdhdGVUb05leHRDZWxsIiwidHJlZURhdGEiLCJnZXREYXRhUGF0aFRlbXBsYXRlQ29tcGxpZWQiLCJmb3JtYXRTZWxlY3RvciIsInNlbGVjdG9yIiwic3RhcnRzV2l0aCIsImd3X3NldFN0eWxlIiwicnVsZXMiLCJqc3MiLCJmb3JEb2N1bWVudCIsImd3X3JlbW92ZVN0eWxlIiwicmVtb3ZlIiwiZ3dfZ2V0Q29udGV4dE1lbnUiLCJncmlkSWQiLCJidWlsZENvbnRleHRNZW51QWN0aW9uIiwibm9kZSIsInYiLCJwYXJzZU1lbnUiLCJtZW51IiwiZm9yRWFjaCIsIml0ZW0iLCJjb250ZXh0TWVudSIsImd3X3Nob3dMb2FkaW5nT3ZlcmxheSIsInNob3dMb2FkaW5nT3ZlcmxheSIsImd3X3Nob3dOb1Jvd3NPdmVybGF5Iiwic2hvd05vUm93c092ZXJsYXkiLCJnd19oaWRlT3ZlcmxheSIsImhpZGVPdmVybGF5IiwiZ3dfc2V0UXVpY2tGaWx0ZXIiLCJmaWx0ZXIiLCJzZXRRdWlja0ZpbHRlciIsImd3X2V4cGFuZEFsbCIsImV4cGFuZEFsbCIsImd3X2NvbGxhcHNlQWxsIiwiY29sbGFwc2VBbGwiLCJnd19zZXRWaXNpYmxlUm93IiwiaW5kZXgiLCJwb3NpdGlvbiIsImVuc3VyZUluZGV4VmlzaWJsZSIsImd3X25hdmlnYXRlVG9OZXh0Um93IiwicHJldmlvdXNDZWxsIiwicHJldmlvdXNDZWxsUG9zaXRpb24iLCJzdWdnZXN0ZWROZXh0Q2VsbCIsIm5leHRDZWxsUG9zaXRpb24iLCJLRVlfVVAiLCJLRVlfRE9XTiIsIktFWV9MRUZUIiwiS0VZX1JJR0hUIiwiZm9yRWFjaE5vZGUiLCJzZXRTZWxlY3RlZCIsIkVycm9yIiwiZ3dfc2V0Um93c0RhdGEiLCJqc29uIiwic2V0Um93RGF0YSIsInJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwiLCJnd19zZXRSb3dEYXRhIiwidXBkYXRlUm93RGF0YSIsInVwZGF0ZSIsImd3X3JlbW92ZVJvd3MiLCJpbmRleGVzIiwiaXRlbXMiLCJwdXNoIiwiZ3dfYWRkUm93cyIsInJvd3MiLCJhZGQiLCJhZGRJbmRleCIsImd3X3NldFJvd3NIZWlnaHQiLCJoZWlnaHQiLCJzZXRSb3dIZWlnaHQiLCJvblJvd0hlaWdodENoYW5nZWQiLCJnd19zZXRSb3dIZWlnaHQiLCJnZXREaXNwbGF5ZWRSb3dBdEluZGV4Iiwid2FybiIsImd3X3NldFNlbGVjdGVkUm93cyIsImZvckVhY2hOb2RlQWZ0ZXJGaWx0ZXJBbmRTb3J0IiwiaW5kZXhPZiIsImV4cGFuZGVkIiwib25Hcm91cEV4cGFuZGVkT3JDb2xsYXBzZWQiLCJnd19zZWxlY3RBbGwiLCJmaWx0ZXJlZCIsInNlbGVjdEFsbEZpbHRlcmVkIiwic2VsZWN0QWxsIiwiZ3dfZGVzZWxlY3RBbGwiLCJkZXNlbGVjdEFsbEZpbHRlcmVkIiwiZGVzZWxlY3RBbGwiLCJnd19nZXRTZWxlY3RlZFJvd3MiLCJub2RlcyIsImdldFNlbGVjdGVkTm9kZXMiLCJwYXJzZWQiLCJnd19nZXRTZWxlY3RlZFJvdyIsImxlbmd0aCIsImd3X2dldFJhbmdlU2VsZWN0aW9ucyIsInJhbmdlcyIsImdldENlbGxSYW5nZXMiLCJtb2RlbCIsImdldE1vZGVsIiwicmVzdWx0IiwicmFuZ2UiLCJhY2N1bXVsYXRvciIsImN1cnJlbnQiLCJCb29sZWFuIiwic3RhckluZGV4IiwiTWF0aCIsIm1pbiIsInN0YXJ0Um93IiwiZW5kUm93IiwiZW5kSW5kZXgiLCJtYXgiLCJnZXRSb3ciLCJwYXJzZWROb2RlIiwiZ3dfYWRkQ2VsbFJhbmdlIiwicHIiLCJzdGFydCIsImVuZCIsImFkZENlbGxSYW5nZSIsInJvd1N0YXJ0SW5kZXgiLCJhYnMiLCJyb3dFbmRJbmRleCIsImd3X2NsZWFyUmFuZ2VTZWxlY3Rpb24iLCJjbGVhclJhbmdlU2VsZWN0aW9uIiwiZ3dfc2V0U3RhdGUiLCJzdGF0ZSIsInNldENvbHVtblN0YXRlIiwic2V0Q29sdW1uR3JvdXBTdGF0ZSIsImdyb3VwcyIsInNldFNvcnRNb2RlbCIsInNvcnQiLCJzZXRGaWx0ZXJNb2RlbCIsImZpbHRlcnMiLCJnd19nZXRTdGF0ZSIsImdldENvbHVtblN0YXRlIiwiZ2V0Q29sdW1uR3JvdXBTdGF0ZSIsImdldFNvcnRNb2RlbCIsImdldEZpbHRlck1vZGVsIiwiZ3dfc2V0U3RhdHVzYmFyQ29tcG9uZW50VmlzaWJpbGl0eSIsInZpc2liaWxpdHkiLCJnZXRTdGF0dXNQYW5lbCIsInNldFZpc2libGUiLCJnd19zZXRTaWRlQmFyVmlzaWJsZSIsInNldFNpZGVCYXJWaXNpYmxlIiwiZ3dfb3BlblRvb2xwYW5lbCIsInRvb2xwYW5lbElkIiwib3BlblRvb2xQYW5lbCIsImd3X2Nsb3NlVG9vbHBhbmVsIiwiY2xvc2VUb29sUGFuZWwiLCJnd19zZXRGdW5jdGlvbnNSZWFkT25seSIsInJlYWRvbmx5Iiwic2V0RnVuY3Rpb25zUmVhZE9ubHkiLCJnd19nZXREb2N1bWVudCIsIiRkb2MiLCJkb2N1bWVudCIsImd3X2dldFdpbmRvdyIsIiR3aW4iLCJ3aW5kb3ciLCJnd19lc2NhcGUiLCJ1bmRlZmluZWQiLCJnd19nZXRHcmlkIiwiQkJqR3JpZEV4V2lkZ2V0IiwicmVnaXN0ZXJlZEdyaWRzIiwiVHlwZUVycm9yIiwiZ3dfYWRkR3JpZCIsIkdXX0VWRU5UX1JPV19DTElDSyIsIkdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0NMSUNLIiwiR1dfRVZFTlRfQ0VMTF9ET1VCTEVfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCIsIkdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVEIiwiR1dfRVZFTlRfQ0VMTF9WQUxVRV9DSEFOR0VEIiwiR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCIsIkdXX0VWRU5UX1JPV19FRElUSU5HX1NUT1BQRUQiLCJHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRSIsIkdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEIiwiQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAiLCJST1dfRURJVElOR19FVkVOVFNfTUFQIiwiZ3dfb25DZWxsRWRpdGluZ0V2ZW50IiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsInR5cGUiLCJnd19vblJvd0VkaXRpbmdFdmVudCIsIkNFTExfQ0xJQ0tJTkdfRVZFTlRTX01BUCIsImd3X29uQ2VsbENsaWNrRXZlbnQiLCJnd19vblJlYWR5RXZlbnQiLCJzdGF0ZURlYm91bmNlIiwiY2hhbmdlRXZlbnQiLCJnd19vblN0YXRlQ2hhbmdlZCIsImV2ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImd3X2RlYm91bmNlIiwiZnVuYyIsIndhaXQiLCJpbW1lZGlhdGUiLCJ0aW1lb3V0IiwiYXJncyIsImFyZ3VtZW50cyIsImxhdGVyIiwiYXBwbHkiLCJjYWxsTm93IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImd3X3NlbmRFdmVudCIsInBheWxvYWQiLCJldmVudElkIiwicmVnaXN0ZXJlZEludGVyZXN0cyIsImludGVyZXN0cyIsImluY2x1ZGVzIiwiZGl2IiwiQ3VzdG9tRXZlbnQiLCJkaXNwYXRjaEV2ZW50IiwiZ3dfcGFyc2VOb2RlIiwiZ3JvdXAiLCJyb3dOb2RlSWQiLCJ4IiwicCIsInBhcmVudCIsImNoaWxkSW5kZXgiLCJzIiwic2VsZWN0ZWQiLCJnd19wYXJzZU5vZGVGcm9tRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImRldGFpbCIsImV2dCIsImNyZWF0ZUV2ZW50IiwiaW5pdEN1c3RvbUV2ZW50IiwicHJvdG90eXBlIiwiRXZlbnQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtEQUEwQyxnQ0FBZ0M7QUFDMUU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnRUFBd0Qsa0JBQWtCO0FBQzFFO0FBQ0EseURBQWlELGNBQWM7QUFDL0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUF5QyxpQ0FBaUM7QUFDMUUsd0hBQWdILG1CQUFtQixFQUFFO0FBQ3JJO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQTJCLDBCQUEwQixFQUFFO0FBQ3ZELHlDQUFpQyxlQUFlO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhEQUFzRCwrREFBK0Q7O0FBRXJI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LHNCQUFzQjtBQUN4RTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtB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TztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87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OztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSw2RkFBNkY7QUFDN0Y7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdKQUFnSjtBQUNoSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGdDQUFnQyxlQUFlO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0MsZUFBZTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCxlQUFlO0FBQ25FO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0Msb0VBQW9FO0FBQ3RHO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGNBQWMsNEJBQTRCO0FBQzFDO0FBQ0E7O0FBRUEsMkJBQTJCLDBCQUEwQjtBQUNyRDtBQUNBOztBQUVBLDBDQUEwQyxxRkFBcUY7QUFDL0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCLDRCQUE0QjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsNENBQTRDLEtBQUs7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSx1R0FBdUc7O0FBRXZHLDRDQUE0QyxLQUFLO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMsS0FBSztBQUNqRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDLEtBQUs7QUFDaEQ7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7O0FBRVg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsa0JBQWtCO0FBQzVDO0FBQ0EscUVBQXFFLDhHQUE4RztBQUNuTDtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBLDBDQUEwQztBQUMxQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHlCQUF5Qiw4QkFBOEI7QUFDdkQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QiwrQkFBK0I7QUFDdEQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVB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Qyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMs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MEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJE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MEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVB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RCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0Qs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LDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCw0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bURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9E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QkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSx1Q0FBdUMsNEJBQTRCLDZCQUE2QixFQUFFLGdGQUFnRixzQkFBc0IsRUFBRSw4RkFBOEYsa0JB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LHVEQUF1RCx5QkFBeUIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsMENBQTBDLDRCQUE0Qiw2QkFBNkIsRUFBRSxz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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RDs7QUFFQSw2QkFBNkIsbUJBQW1COztBQUVoRDs7QUFFQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDdFhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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RSxLQUFYO0FBQWtCQyxnQkFBVSxFQUFFLEtBQTlCO0FBQXFDQyxZQUFNLEVBQUVqRTtBQUE3QyxLQUFuQjtBQUNBLFFBQUlrRSxHQUFHLEdBQUd2RSxRQUFRLENBQUN3RSxXQUFULENBQXFCLGFBQXJCLENBQVY7QUFDQUQsT0FBRyxDQUFDRSxlQUFKLENBQW9CdEMsS0FBcEIsRUFBMkIxTSxNQUFNLENBQUMyTyxPQUFsQyxFQUEyQzNPLE1BQU0sQ0FBQzRPLFVBQWxELEVBQThENU8sTUFBTSxDQUFDNk8sTUFBckU7QUFDQSxXQUFPQyxHQUFQO0FBQ0Q7O0FBRURmLGFBQVcsQ0FBQ2tCLFNBQVosR0FBd0J2RSxNQUFNLENBQUN3RSxLQUFQLENBQWFELFNBQXJDO0FBRUF2RSxRQUFNLENBQUNxRCxXQUFQLEdBQXFCQSxXQUFyQjtBQUNELENBYkQsSTs7Ozs7Ozs7Ozs7O0FDUkEsY0FBYyxtQkFBTyxDQUFDLGlOQUErRzs7QUFFckksNENBQTRDLFFBQVM7O0FBRXJEO0FBQ0E7Ozs7QUFJQSxlQUFlOztBQUVmO0FBQ0Esa0NBQWtDOztBQUVsQyxhQUFhLG1CQUFPLENBQUMsc0dBQW1EOztBQUV4RTs7QUFFQSxHQUFHLEtBQVUsRUFBRSxFIiwiZmlsZSI6ImJiai1ncmlkLXdpZGdldC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcbiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0uY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYm9vdHN0cmFwLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1ib290c3RyYXAuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZnJlc2guY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWZyZXNoLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1mcmVzaC5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLW1hdGVyaWFsLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1tYXRlcmlhbC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtbWF0ZXJpYWwuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJCYXNpc1wiXSA9IHJvb3RbXCJCYXNpc1wiXSB8fCB7fSwgcm9vdFtcIkJhc2lzXCJdW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAvKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbi8qKioqKiovIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuLyoqKioqKi8gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbi8qKioqKiovIFx0XHRcdGk6IG1vZHVsZUlkLFxuLyoqKioqKi8gXHRcdFx0bDogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRleHBvcnRzOiB7fVxuLyoqKioqKi8gXHRcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4vKioqKioqLyBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuLyoqKioqKi8gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbi8qKioqKiovIFx0fVxuLyoqKioqKi9cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMjQpO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoW1xuLyogMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUGFyYW1zOyB9KTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBQYXJhbXMgTWl4aW5zIFxuKlxuKiBIZWxwZXIgbWV0aG9kcyB0byBtYW5hZ2UgY29tcG9uZW50cyBwYXJhbXNcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgUGFyYW1zID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gUGFyYW1zKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBQYXJhbXMpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFBhcmFtcywgW3tcbiAgICBrZXk6IFwiZ2V0V2luXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFdpbihwYXJhbXMpIHtcbiAgICAgIHZhciB3aW4gPSBwYXJhbXMuV0lORE9XIHx8IHdpbmRvdyB8fCBudWxsO1xuICAgICAgaWYgKCF3aW4pIHRocm93IG5ldyBFcnJvcignQ3VycmVudCBlbnZpcm9tZW50IGRvZXMgbm90IHN1cHBvcnQgd2luZG93Jyk7XG4gICAgICByZXR1cm4gd2luO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXREb2NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RG9jKHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHBhcmFtcy5ET0NVTUVOVCB8fCBkb2N1bWVudCB8fCBudWxsO1xuICAgICAgaWYgKCFkb2MpIHRocm93IG5ldyBFcnJvcignQ3VycmVudCBlbnZpcm9tZW50IGRvZXMgbm90IHN1cHBvcnQgZG9jdW1lbnQnKTtcbiAgICAgIHJldHVybiBkb2M7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldE9wdGlvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRPcHRpb24obmFtZSwgcGFyYW1zKSB7XG4gICAgICB2YXIgZmFsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IG51bGw7XG4gICAgICB2YXIgb3B0aW9uOyAvLyB0cnkgdG8gZmV0Y2ggZnJvbSB0aGUgY29sdW1uIGRlZiBmaXJzdFxuXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KCdjb2xEZWYnKSAmJiBwYXJhbXMuY29sRGVmLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIG9wdGlvbiA9IHBhcmFtcy5jb2xEZWZbbmFtZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0cnkgdG8gZmV0Y2ggZnJvbSBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnfG1ldGEgaW4gdGhlIGNvbnRleHRcbiAgICAgICAgdmFyIEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcgPSBwYXJhbXMuY29udGV4dC5BR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnIHx8IHBhcmFtcy5jb250ZXh0Lm1ldGE7XG5cbiAgICAgICAgaWYgKEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcgJiYgQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZy5oYXNPd25Qcm9wZXJ0eShwYXJhbXMuY29sdW1uLmNvbElkKSAmJiBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnW3BhcmFtcy5jb2x1bW4uY29sSWRdLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgICAgb3B0aW9uID0gQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZ1twYXJhbXMuY29sdW1uLmNvbElkXVtuYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB0cnkgdG8gZmV0Y2ggZnJvbSB0aGUgY29udGVjdCBvYmplY3QgaXRzZWxmXG4gICAgICAgICAgdmFyIGNvbnRleHQgPSBwYXJhbXMuY29udGV4dDtcblxuICAgICAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgIG9wdGlvbiA9IGNvbnRleHRbbmFtZV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRyeSB0byBjaGVjayBwYXJhbXMgaXRzZWxmIG9yIGZhbGxiYWNrIHRvIGRlZmF1bHQgXG4gICAgICAgICAgICBvcHRpb24gPSBwYXJhbXNbbmFtZV0gfHwgZmFsbGJhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFBhcmFtcztcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG4vKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24odXNlU291cmNlTWFwKSB7XG5cdHZhciBsaXN0ID0gW107XG5cblx0Ly8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXHRsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG5cdFx0XHR2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKTtcblx0XHRcdGlmKGl0ZW1bMl0pIHtcblx0XHRcdFx0cmV0dXJuIFwiQG1lZGlhIFwiICsgaXRlbVsyXSArIFwie1wiICsgY29udGVudCArIFwifVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fSkuam9pbihcIlwiKTtcblx0fTtcblxuXHQvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuXHRsaXN0LmkgPSBmdW5jdGlvbihtb2R1bGVzLCBtZWRpYVF1ZXJ5KSB7XG5cdFx0aWYodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpXG5cdFx0XHRtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG5cdFx0dmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGlkID0gdGhpc1tpXVswXTtcblx0XHRcdGlmKHR5cGVvZiBpZCA9PT0gXCJudW1iZXJcIilcblx0XHRcdFx0YWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuXHRcdH1cblx0XHRmb3IoaSA9IDA7IGkgPCBtb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaXRlbSA9IG1vZHVsZXNbaV07XG5cdFx0XHQvLyBza2lwIGFscmVhZHkgaW1wb3J0ZWQgbW9kdWxlXG5cdFx0XHQvLyB0aGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCAxMDAlIHBlcmZlY3QgZm9yIHdlaXJkIG1lZGlhIHF1ZXJ5IGNvbWJpbmF0aW9uc1xuXHRcdFx0Ly8gIHdoZW4gYSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWVkaWEgcXVlcmllcy5cblx0XHRcdC8vICBJIGhvcGUgdGhpcyB3aWxsIG5ldmVyIG9jY3VyIChIZXkgdGhpcyB3YXkgd2UgaGF2ZSBzbWFsbGVyIGJ1bmRsZXMpXG5cdFx0XHRpZih0eXBlb2YgaXRlbVswXSAhPT0gXCJudW1iZXJcIiB8fCAhYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuXHRcdFx0XHRpZihtZWRpYVF1ZXJ5ICYmICFpdGVtWzJdKSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IG1lZGlhUXVlcnk7XG5cdFx0XHRcdH0gZWxzZSBpZihtZWRpYVF1ZXJ5KSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IFwiKFwiICsgaXRlbVsyXSArIFwiKSBhbmQgKFwiICsgbWVkaWFRdWVyeSArIFwiKVwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxpc3QucHVzaChpdGVtKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHJldHVybiBsaXN0O1xufTtcblxuZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApIHtcblx0dmFyIGNvbnRlbnQgPSBpdGVtWzFdIHx8ICcnO1xuXHR2YXIgY3NzTWFwcGluZyA9IGl0ZW1bM107XG5cdGlmICghY3NzTWFwcGluZykge1xuXHRcdHJldHVybiBjb250ZW50O1xuXHR9XG5cblx0aWYgKHVzZVNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHZhciBzb3VyY2VNYXBwaW5nID0gdG9Db21tZW50KGNzc01hcHBpbmcpO1xuXHRcdHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG5cdFx0XHRyZXR1cm4gJy8qIyBzb3VyY2VVUkw9JyArIGNzc01hcHBpbmcuc291cmNlUm9vdCArIHNvdXJjZSArICcgKi8nXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gW2NvbnRlbnRdLmNvbmNhdChzb3VyY2VVUkxzKS5jb25jYXQoW3NvdXJjZU1hcHBpbmddKS5qb2luKCdcXG4nKTtcblx0fVxuXG5cdHJldHVybiBbY29udGVudF0uam9pbignXFxuJyk7XG59XG5cbi8vIEFkYXB0ZWQgZnJvbSBjb252ZXJ0LXNvdXJjZS1tYXAgKE1JVClcbmZ1bmN0aW9uIHRvQ29tbWVudChzb3VyY2VNYXApIHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5cdHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpO1xuXHR2YXIgZGF0YSA9ICdzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwnICsgYmFzZTY0O1xuXG5cdHJldHVybiAnLyojICcgKyBkYXRhICsgJyAqLyc7XG59XG5cblxuLyoqKi8gfSksXG4vKiAyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHt9O1xuXG52YXJcdG1lbW9pemUgPSBmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW87XG5cblx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRpZiAodHlwZW9mIG1lbW8gPT09IFwidW5kZWZpbmVkXCIpIG1lbW8gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXHRcdHJldHVybiBtZW1vO1xuXHR9O1xufTtcblxudmFyIGlzT2xkSUUgPSBtZW1vaXplKGZ1bmN0aW9uICgpIHtcblx0Ly8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3Ncblx0Ly8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuXHQvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG5cdC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuXHQvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcblx0cmV0dXJuIHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iO1xufSk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7XG59O1xuXG52YXIgZ2V0RWxlbWVudCA9IChmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW8gPSB7fTtcblxuXHRyZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgcGFzc2luZyBmdW5jdGlvbiBpbiBvcHRpb25zLCB0aGVuIHVzZSBpdCBmb3IgcmVzb2x2ZSBcImhlYWRcIiBlbGVtZW50LlxuICAgICAgICAgICAgICAgIC8vIFVzZWZ1bCBmb3IgU2hhZG93IFJvb3Qgc3R5bGUgaS5lXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgaW5zZXJ0SW50bzogZnVuY3Rpb24gKCkgeyByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNmb29cIikuc2hhZG93Um9vdCB9XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG5cdFx0XHR2YXIgc3R5bGVUYXJnZXQgPSBnZXRUYXJnZXQuY2FsbCh0aGlzLCB0YXJnZXQpO1xuXHRcdFx0Ly8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblx0XHRcdGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuXHRcdFx0XHRcdC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcblx0XHRcdFx0fSBjYXRjaChlKSB7XG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBudWxsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcblx0XHR9XG5cdFx0cmV0dXJuIG1lbW9bdGFyZ2V0XVxuXHR9O1xufSkoKTtcblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXJcdHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xudmFyXHRzdHlsZXNJbnNlcnRlZEF0VG9wID0gW107XG5cbnZhclx0Zml4VXJscyA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuXHRpZiAodHlwZW9mIERFQlVHICE9PSBcInVuZGVmaW5lZFwiICYmIERFQlVHKSB7XG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50XCIpO1xuXHR9XG5cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0b3B0aW9ucy5hdHRycyA9IHR5cGVvZiBvcHRpb25zLmF0dHJzID09PSBcIm9iamVjdFwiID8gb3B0aW9ucy5hdHRycyA6IHt9O1xuXG5cdC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuXHQvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cdGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSBcImJvb2xlYW5cIikgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgPGhlYWQ+IGVsZW1lbnRcbiAgICAgICAgaWYgKCFvcHRpb25zLmluc2VydEludG8pIG9wdGlvbnMuaW5zZXJ0SW50byA9IFwiaGVhZFwiO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdGFyZ2V0XG5cdGlmICghb3B0aW9ucy5pbnNlcnRBdCkgb3B0aW9ucy5pbnNlcnRBdCA9IFwiYm90dG9tXCI7XG5cblx0dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhsaXN0LCBvcHRpb25zKTtcblxuXHRhZGRTdHlsZXNUb0RvbShzdHlsZXMsIG9wdGlvbnMpO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcblx0XHR2YXIgbWF5UmVtb3ZlID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdFx0ZG9tU3R5bGUucmVmcy0tO1xuXHRcdFx0bWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpO1xuXHRcdH1cblxuXHRcdGlmKG5ld0xpc3QpIHtcblx0XHRcdHZhciBuZXdTdHlsZXMgPSBsaXN0VG9TdHlsZXMobmV3TGlzdCwgb3B0aW9ucyk7XG5cdFx0XHRhZGRTdHlsZXNUb0RvbShuZXdTdHlsZXMsIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV07XG5cblx0XHRcdGlmKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcblx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykgZG9tU3R5bGUucGFydHNbal0oKTtcblxuXHRcdFx0XHRkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn07XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMsIG9wdGlvbnMpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdGlmKGRvbVN0eWxlKSB7XG5cdFx0XHRkb21TdHlsZS5yZWZzKys7XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhciBwYXJ0cyA9IFtdO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblxuXHRcdFx0c3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7aWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0c307XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGxpc3RUb1N0eWxlcyAobGlzdCwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGVzID0gW107XG5cdHZhciBuZXdTdHlsZXMgPSB7fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IGxpc3RbaV07XG5cdFx0dmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG5cdFx0dmFyIGNzcyA9IGl0ZW1bMV07XG5cdFx0dmFyIG1lZGlhID0gaXRlbVsyXTtcblx0XHR2YXIgc291cmNlTWFwID0gaXRlbVszXTtcblx0XHR2YXIgcGFydCA9IHtjc3M6IGNzcywgbWVkaWE6IG1lZGlhLCBzb3VyY2VNYXA6IHNvdXJjZU1hcH07XG5cblx0XHRpZighbmV3U3R5bGVzW2lkXSkgc3R5bGVzLnB1c2gobmV3U3R5bGVzW2lkXSA9IHtpZDogaWQsIHBhcnRzOiBbcGFydF19KTtcblx0XHRlbHNlIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KTtcblx0fVxuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudCAob3B0aW9ucywgc3R5bGUpIHtcblx0dmFyIHRhcmdldCA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvKVxuXG5cdGlmICghdGFyZ2V0KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnRJbnRvJyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG5cdH1cblxuXHR2YXIgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AgPSBzdHlsZXNJbnNlcnRlZEF0VG9wW3N0eWxlc0luc2VydGVkQXRUb3AubGVuZ3RoIC0gMV07XG5cblx0aWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwidG9wXCIpIHtcblx0XHRpZiAoIWxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCB0YXJnZXQuZmlyc3RDaGlsZCk7XG5cdFx0fSBlbHNlIGlmIChsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZykge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHRcdH1cblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnB1c2goc3R5bGUpO1xuXHR9IGVsc2UgaWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwiYm90dG9tXCIpIHtcblx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydEF0ID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKSB7XG5cdFx0dmFyIG5leHRTaWJsaW5nID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8gKyBcIiBcIiArIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKTtcblx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiW1N0eWxlIExvYWRlcl1cXG5cXG4gSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICdpbnNlcnRBdCcgKCdvcHRpb25zLmluc2VydEF0JykgZm91bmQuXFxuIE11c3QgYmUgJ3RvcCcsICdib3R0b20nLCBvciBPYmplY3QuXFxuIChodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlciNpbnNlcnRhdClcXG5cIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50IChzdHlsZSkge1xuXHRpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXHRzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcblxuXHR2YXIgaWR4ID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcC5pbmRleE9mKHN0eWxlKTtcblx0aWYoaWR4ID49IDApIHtcblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnNwbGljZShpZHgsIDEpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXG5cdGFkZEF0dHJzKHN0eWxlLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIHN0eWxlKTtcblxuXHRyZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmtFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXHRvcHRpb25zLmF0dHJzLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuXG5cdGFkZEF0dHJzKGxpbmssIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgbGluayk7XG5cblx0cmV0dXJuIGxpbms7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJzIChlbCwgYXR0cnMpIHtcblx0T2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuXHRcdGVsLnNldEF0dHJpYnV0ZShrZXksIGF0dHJzW2tleV0pO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGUsIHVwZGF0ZSwgcmVtb3ZlLCByZXN1bHQ7XG5cblx0Ly8gSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gd2FzIGRlZmluZWQsIHJ1biBpdCBvbiB0aGUgY3NzXG5cdGlmIChvcHRpb25zLnRyYW5zZm9ybSAmJiBvYmouY3NzKSB7XG5cdCAgICByZXN1bHQgPSBvcHRpb25zLnRyYW5zZm9ybShvYmouY3NzKTtcblxuXHQgICAgaWYgKHJlc3VsdCkge1xuXHQgICAgXHQvLyBJZiB0cmFuc2Zvcm0gcmV0dXJucyBhIHZhbHVlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIHJ1bm5pbmcgcnVudGltZSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIGNzcy5cblx0ICAgIFx0b2JqLmNzcyA9IHJlc3VsdDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICBcdC8vIElmIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gcmV0dXJucyBhIGZhbHN5IHZhbHVlLCBkb24ndCBhZGQgdGhpcyBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIGNvbmRpdGlvbmFsIGxvYWRpbmcgb2YgY3NzXG5cdCAgICBcdHJldHVybiBmdW5jdGlvbigpIHtcblx0ICAgIFx0XHQvLyBub29wXG5cdCAgICBcdH07XG5cdCAgICB9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcblx0XHR2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcblxuXHRcdHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuXG5cdFx0dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG5cdFx0cmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcblxuXHR9IGVsc2UgaWYgKFxuXHRcdG9iai5zb3VyY2VNYXAgJiZcblx0XHR0eXBlb2YgVVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLmNyZWF0ZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5yZXZva2VPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBCbG9iID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiXG5cdCkge1xuXHRcdHN0eWxlID0gY3JlYXRlTGlua0VsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gdXBkYXRlTGluay5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXG5cdFx0XHRpZihzdHlsZS5ocmVmKSBVUkwucmV2b2tlT2JqZWN0VVJMKHN0eWxlLmhyZWYpO1xuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXHRcdH07XG5cdH1cblxuXHR1cGRhdGUob2JqKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaikge1xuXHRcdGlmIChuZXdPYmopIHtcblx0XHRcdGlmIChcblx0XHRcdFx0bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuXHRcdFx0XHRuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuXHRcdFx0XHRuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR1cGRhdGUob2JqID0gbmV3T2JqKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlKCk7XG5cdFx0fVxuXHR9O1xufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuXHR2YXIgdGV4dFN0b3JlID0gW107XG5cblx0cmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcblx0XHR0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cblx0XHRyZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcblx0fTtcbn0pKCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcblx0dmFyIGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmouY3NzO1xuXG5cdGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuXHRcdHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuXHRcdGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG5cdFx0XHRzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGUsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuXG5cdGlmKG1lZGlhKSB7XG5cdFx0c3R5bGUuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgbWVkaWEpXG5cdH1cblxuXHRpZihzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuXHR9IGVsc2Uge1xuXHRcdHdoaWxlKHN0eWxlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuXHRcdH1cblxuXHRcdHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmsgKGxpbmssIG9wdGlvbnMsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cblx0Lypcblx0XHRJZiBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgaXNuJ3QgZGVmaW5lZCwgYnV0IHNvdXJjZW1hcHMgYXJlIGVuYWJsZWRcblx0XHRhbmQgdGhlcmUgaXMgbm8gcHVibGljUGF0aCBkZWZpbmVkIHRoZW4gbGV0cyB0dXJuIGNvbnZlcnRUb0Fic29sdXRlVXJsc1xuXHRcdG9uIGJ5IGRlZmF1bHQuICBPdGhlcndpc2UgZGVmYXVsdCB0byB0aGUgY29udmVydFRvQWJzb2x1dGVVcmxzIG9wdGlvblxuXHRcdGRpcmVjdGx5XG5cdCovXG5cdHZhciBhdXRvRml4VXJscyA9IG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzID09PSB1bmRlZmluZWQgJiYgc291cmNlTWFwO1xuXG5cdGlmIChvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyB8fCBhdXRvRml4VXJscykge1xuXHRcdGNzcyA9IGZpeFVybHMoY3NzKTtcblx0fVxuXG5cdGlmIChzb3VyY2VNYXApIHtcblx0XHQvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYwMzg3NVxuXHRcdGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgXCIgKi9cIjtcblx0fVxuXG5cdHZhciBibG9iID0gbmV3IEJsb2IoW2Nzc10sIHsgdHlwZTogXCJ0ZXh0L2Nzc1wiIH0pO1xuXG5cdHZhciBvbGRTcmMgPSBsaW5rLmhyZWY7XG5cblx0bGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuXHRpZihvbGRTcmMpIFVSTC5yZXZva2VPYmplY3RVUkwob2xkU3JjKTtcbn1cblxuXG4vKioqLyB9KSxcbi8qIDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEJvb2xlYW5Td2l0Y2g7IH0pO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIEJvb2xlYW4gUmVuZGVyZXJcbipcbiogU2ltcGxlIHRvZ2dsZSBzd2l0Y2ggdG8gaGFuZGxlIGJvb2xlYW4gdmFsdWVzXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xudmFyIEJvb2xlYW5Td2l0Y2ggPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ29uc3RydWN0IHRoZSBCb29sZWFuU3dpdGNoIENvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IGNoZWNrZWQgY2hlY2tlZCBkZWZhdWx0IHZhbHVlICwgdHJ1ZSB0byBjaGVjayAsIGZhbHNlIHRvIHVuY2hlY2tcbiAgICogQHBhcmFtIHtPYmplY3R9IGRvYyBkb2N1bWVudCBpbnN0YW5jZVxuICAgKi9cbiAgZnVuY3Rpb24gQm9vbGVhblN3aXRjaCgpIHtcbiAgICB2YXIgY2hlY2tlZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogZmFsc2U7XG4gICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZG9jdW1lbnQ7XG4gICAgdmFyIGxpc3RlbmVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJvb2xlYW5Td2l0Y2gpO1xuXG4gICAgdGhpcy5fYnVpbGQobGlzdGVuZXIsIGNoZWNrZWQsIGRvYyk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCB0aGUgY29tcG9uZW50IHZhbHVlXG4gICAqXG4gICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAqL1xuXG5cbiAgX2NyZWF0ZUNsYXNzKEJvb2xlYW5Td2l0Y2gsIFt7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5wdXQuY2hlY2tlZDtcbiAgICB9XG4gICAgLyoqIEZvY3VzIG9uIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzKCkge1xuICAgICAgdGhpcy5jb21wb25lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgLyoqIFRvZ2dsZSB0aGUgY29tcG9uZW50IHN0YXRlICovXG5cbiAgfSwge1xuICAgIGtleTogXCJ0b2dnbGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gIXRoaXMuaW5wdXQuY2hlY2tlZDtcbiAgICB9XG4gICAgLyoqIFNldCB0aGUgY29tcG9uZW50IHN0YXRlIHRvIGNoZWNrZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImNoZWNrXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNoZWNrKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqIFNldCB0aGUgY29tcG9uZW50IHN0YXRlIHRvIHVuY2hlY2tlZCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwidW5jaGVja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1bmNoZWNrKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBFbmFibGUgdGhlIGNvbXBvbmVudCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZW5hYmxlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGVuYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgLyoqIERpc2FibGUgdGhlIGNvbXBvbmVudCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGlzYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkaXNhYmxlKCkge1xuICAgICAgdGhpcy5pbnB1dC5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIGlmICh0aGlzLl9vbkNsaWNrQmluZCkgdGhpcy5jb21wb25lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsaWNrQmluZCk7XG4gICAgICBpZiAodGhpcy5fb25DaGFuZ2VCaW5kKSB0aGlzLmNvbXBvbmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkKGxpc3RlbmVyKSB7XG4gICAgICB2YXIgY2hlY2tlZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG4gICAgICB2YXIgZG9jID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBkb2N1bWVudDtcbiAgICAgIC8vIGxhYmVsIGFzIGNvbXBvbmVudFxuICAgICAgdGhpcy5jb21wb25lbnQgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5jbGFzc05hbWUgPSAnQm9vbGVhblN3aXRjaCc7XG4gICAgICB0aGlzLmNvbXBvbmVudC50YWJJbmRleCA9IFwiLTFcIjsgLy8gc3BhbiBhcyBzbGlkZXJcblxuICAgICAgdGhpcy5zbGlkZXIgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5zbGlkZXIuY2xhc3NOYW1lID0gJ3NsaWRlciByb3VuZCc7IC8vIGlucHV0XG5cbiAgICAgIHRoaXMuaW5wdXQgPSBkb2MuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgIHRoaXMuaW5wdXQudHlwZSA9ICdjaGVja2JveCc7XG4gICAgICB0aGlzLmlucHV0LmNoZWNrZWQgPSBjaGVja2VkO1xuICAgICAgdGhpcy5pbnB1dC50YWJJbmRleCA9IFwiMFwiOyAvLyBhdHRhY2hlIGlucHV0IGFuZCBzbGlkZXIgdG8gY29tcG9uZW50XG5cbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdGhpcy5jb21wb25lbnQuYXBwZW5kQ2hpbGQodGhpcy5zbGlkZXIpO1xuICAgICAgdGhpcy5fb25DbGlja0JpbmQgPSB0aGlzLl9vbkNsaWNrLmJpbmQodGhpcywgbGlzdGVuZXIpO1xuICAgICAgdGhpcy5fb25DaGFuZ2VCaW5kID0gdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzLCBsaXN0ZW5lcik7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uQ2xpY2tCaW5kKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbkNoYW5nZUJpbmQpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfb25DbGlja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DbGljayhsaXN0ZW5lciwgZSkge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuZGlzYWJsZWQpIHJldHVybiBmYWxzZTtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKGxpc3RlbmVyLCBlKSB7XG4gICAgICBpZiAodGhpcy5pbnB1dC5kaXNhYmxlZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgdmFyIGtleSA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuXG4gICAgICBpZiAoa2V5ID09IDMyKSB7XG4gICAgICAgIC8vIHNwYWNlXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIGlmIChsaXN0ZW5lcikgbGlzdGVuZXIodGhpcyk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKGtleSA9PSAzOSkge1xuICAgICAgICAvLyByaWdodFxuICAgICAgICB0aGlzLmNoZWNrKCk7XG4gICAgICAgIGlmIChsaXN0ZW5lcikgbGlzdGVuZXIodGhpcyk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKGtleSA9PSAzNykge1xuICAgICAgICAvLyBsZWZ0XG4gICAgICAgIHRoaXMudW5jaGVjaygpO1xuICAgICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBCb29sZWFuU3dpdGNoO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBEYXRlVGltZXNEaWFsb2c7IH0pO1xuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogRGF0ZVRpbWVzRGlhbG9nXG4qXG4qIEEgd3JhcCBhcm91bmQgZmxhdHBpY2tyIEFQSVxuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBEYXRlVGltZXNEaWFsb2cgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ29uc3RydWN0IHRoZSBEYXRlVGltZXNEaWFsb2cgQ29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkb2MgZG9jdW1lbnQgaW5zdGFuY2VcbiAgICogXG4gICAqIHtAbGluayBodHRwczovL2ZsYXRwaWNrci5qcy5vcmcvb3B0aW9ucy99XG4gICAqL1xuICBmdW5jdGlvbiBEYXRlVGltZXNEaWFsb2coKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBkb2MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRvY3VtZW50O1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERhdGVUaW1lc0RpYWxvZyk7XG5cbiAgICB0aGlzLmRvYyA9IGRvYztcbiAgICB0aGlzLm9wdGlvbnMgPSBfb2JqZWN0U3ByZWFkKHt9LCB7XG4gICAgICBkYXRlRm9ybWF0OiBvcHRpb25zLm1hc2ssXG4gICAgICBmb3JtYXREYXRlOiB0aGlzLmZvcm1hdERhdGUuYmluZCh0aGlzKSxcbiAgICAgIHBhcnNlRGF0ZTogdGhpcy5wYXJzZURhdGUuYmluZCh0aGlzKSxcbiAgICAgIG9uUmVhZHk6IHRoaXMuX29uUmVhZHkuYmluZCh0aGlzKVxuICAgIH0sIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5fYnVpbGQodGhpcy5vcHRpb25zLCB0aGlzLmRvYyk7XG4gIH1cbiAgLyoqXG4gICAqIEZvcm1hdCB0aGUgZGF0ZSB1c2luZyBgQkJqLk1hc2tzLlR5cGVzLmRhdGVgXG4gICAqIFxuICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBmb3JtYXQgQkJqIGRhdGUgZm9ybWF0XG4gICAqL1xuXG5cbiAgX2NyZWF0ZUNsYXNzKERhdGVUaW1lc0RpYWxvZywgW3tcbiAgICBrZXk6IFwiZm9ybWF0RGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXREYXRlKGRhdGUsIGZvcm1hdCkge1xuICAgICAgaWYgKGZvcm1hdC5pbmRleE9mKCclJykgPCAwKSByZXR1cm47XG4gICAgICByZXR1cm4gQkJqLk1hc2tzLlR5cGVzLmRhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IGRhdGUgb2JqZWN0IGZyb20gYSBkYXRlIHN0cmluZyBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZVN0cmluZyBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJwYXJzZURhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcpIHtcbiAgICAgIHZhciBkYXRlT2JqZWN0ID0gRGF0ZS5wYXJzZShkYXRlU3RyaW5nKTtcbiAgICAgIGlmICghKGRhdGVPYmplY3QgaW5zdGFuY2VvZiBEYXRlKSkgZGF0ZU9iamVjdCA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpO1xuICAgICAgcmV0dXJuIGRhdGVPYmplY3Q7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBjYWxhbmRlciBkYXRlXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgXG4gICAgICogQHBhcmFtIHtCb29sZWFufSB0cmlnZ2VyQ2hhbmdlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwic2V0RGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXREYXRlKGRhdGUpIHtcbiAgICAgIHZhciB0cmlnZ2VyQ2hhbmdlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLnNldERhdGUoZGF0ZSB8fCAnJywgdHJpZ2dlckNoYW5nZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBjYWxhbmRlciBvcHRpb25cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gb3B0aW9uIFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJzZXRPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpIHtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLnNldChvcHRpb24sIHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIE9wZW4gY2FsYW5kZXIgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIm9wZW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb3BlbigpIHtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLm9wZW4oKTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LmZvY3VzKCk7XG4gICAgfVxuICAgIC8qKiBDbG9zZSBDYWxhbmRlciAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiY2xvc2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2xvc2UoKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5jbG9zZSgpO1xuICAgIH1cbiAgICAvKiogRW5hYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImVuYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBlbmFibGUoKSB7XG4gICAgICB0aGlzLmlucHV0LmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBEaXNhYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRpc2FibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgICAvKiogRGVzdHJveSBUaGUgY29tcG9uZW50IGFuZCByZW1vdmUgZXZlbnQgbGlzdGVuZXJzICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkZXN0cm95XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5kZXN0cm95KCk7XG4gICAgICBpZiAodGhpcy5fb25DbGVhckJ1dHRvbkNsaWNrQmluZCkgdGhpcy5jbGVhckJ1dHRvbi5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQpO1xuICAgICAgaWYgKHRoaXMuX29uS2V5RG93bkJpbmQpIHRoaXMuY29tcG9uZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleURvd25CaW5kKTtcbiAgICB9XG4gICAgLyoqIEJ1aWxkIHRoZSBjb21wb25lbnQgc3RydWN0dXJlICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkKCkge1xuICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZG9jdW1lbnQ7XG4gICAgICB0aGlzLmNvbXBvbmVudCA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmNsYXNzTmFtZSA9ICdEYXRlVGltZXNEaWFsb2cnO1xuICAgICAgdGhpcy5jb21wb25lbnQudGFiSW5kZXggPSBcIjBcIjtcbiAgICAgIHRoaXMuaW5wdXQgPSBkb2MuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdGhpcy5mbGF0cGlja3IgPSBmbGF0cGlja3IodGhpcy5pbnB1dCwgb3B0aW9ucyk7XG4gICAgICB0aGlzLl9vbktleURvd25CaW5kID0gdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFsbG93IGFycm93IGtleXMgaW5zaWRlIHRoZSBpbnB1dFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGUgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25LZXlEb3duXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbktleURvd24oZSkge1xuICAgICAgdmFyIGtleSA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuXG4gICAgICBpZiAoWzM3LCAzOV0uaW5kZXhPZihrZXkpID4gLTEpIHtcbiAgICAgICAgLy8gbGVmdCB8fCByaWdodFxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICgzOCA9PT0ga2V5KSB7XG4gICAgICAgIC8vIHVwIFxuICAgICAgICB2YXIgY3VycmVudERhdGUgPSB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZTtcblxuICAgICAgICB2YXIgX25leHQgPSBEYXRlLnBhcnNlKGN1cnJlbnREYXRlKTtcblxuICAgICAgICBpZiAoIShfbmV4dCBpbnN0YW5jZW9mIERhdGUpKSBfbmV4dCA9IG5ldyBEYXRlKGN1cnJlbnREYXRlKTtcblxuICAgICAgICBfbmV4dC5zZXREYXRlKF9uZXh0LmdldERhdGUoKSArIDEpO1xuXG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLnNldERhdGUoX25leHQsIGZhbHNlLCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LnZhbHVlID0gQkJqLk1hc2tzLlR5cGVzLmRhdGUoX25leHQsIHRoaXMub3B0aW9ucy5tYXNrKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoNDAgPT09IGtleSkge1xuICAgICAgICAvLyBkb3duXG4gICAgICAgIHZhciBfY3VycmVudERhdGUgPSB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZTtcbiAgICAgICAgdmFyIHByZXYgPSBEYXRlLnBhcnNlKF9jdXJyZW50RGF0ZSk7XG4gICAgICAgIGlmICghKHByZXYgaW5zdGFuY2VvZiBEYXRlKSkgbmV4dCA9IG5ldyBEYXRlKF9jdXJyZW50RGF0ZSk7XG4gICAgICAgIHByZXYuc2V0RGF0ZShwcmV2LmdldERhdGUoKSAtIDEpO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5zZXREYXRlKHByZXYsIGZhbHNlLCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LnZhbHVlID0gQkJqLk1hc2tzLlR5cGVzLmRhdGUocHJldiwgdGhpcy5vcHRpb25zLm1hc2spO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICg5ID09PSBrZXkpIHtcbiAgICAgICAgLy8gdGFwXG4gICAgICAgIHRoaXMuc2V0RGF0ZSh0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZSwgdHJ1ZSwgdGhpcy5vcHRpb25zLmRhdGVGb3JtYXQpO1xuICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNsZWFyIGJ1dHRvbiB3aGVuIGZsYXRwaWNrciBpcyByZWFkeSBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge0RhdGV9IGRhdGVPYmogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGVTdHIgXG4gICAgICogQHBhcmFtIHtmbGF0cGlja3J9IGluc3RhbmNlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uUmVhZHlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uUmVhZHkoZGF0ZU9iaiwgZGF0ZVN0ciwgaW5zdGFuY2UpIHtcbiAgICAgIHZhciBjbGVhckJ1dHRvbiA9IGluc3RhbmNlLmNhbGVuZGFyQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5mbGF0cGlja3ItY2xlYXInKTtcblxuICAgICAgaWYgKCFjbGVhckJ1dHRvbikge1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uY2xhc3NOYW1lID0gJ2ZsYXRwaWNrci1jbGVhcic7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uaW5uZXJIVE1MID0gJ0NsZWFyJztcbiAgICAgICAgaW5zdGFuY2UuY2FsZW5kYXJDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5jbGVhckJ1dHRvbik7XG4gICAgICAgIHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQgPSB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2suYmluZCh0aGlzLCBpbnN0YW5jZSk7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2tCaW5kKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogTGlzdGVuIHRvIGZsYXRwaWNrciBjbGVhciBidXR0b24gY2xpY2tzIGFuZCBjbGVhciB0aGUgY2FsYW5kZXJcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge2ZsYXRwaWNrcn0gaW5zdGFuY2UgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DbGVhckJ1dHRvbkNsaWNrXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbkNsZWFyQnV0dG9uQ2xpY2soZmxhdHBpY2tySW5zdGFuY2UpIHtcbiAgICAgIGZsYXRwaWNrckluc3RhbmNlLmNsZWFyKCk7XG4gICAgICBmbGF0cGlja3JJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnb25DbGVhcicpKSB0aGlzLm9wdGlvbnMub25DbGVhcigpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEYXRlVGltZXNEaWFsb2c7XG59KCk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGNvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiA2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNCb29sZWFuc1JlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcn0uQmFzaWNCb29sZWFuc0ZpbHRlciB1bHtkaXNwbGF5OmJsb2NrO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXJ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGl7cGFkZGluZzoxMHB4Oy13ZWJraXQtdHJhbnNpdGlvbjouNHM7dHJhbnNpdGlvbjouNHM7Ym9yZGVyLWJvdHRvbTp0aGluIHNvbGlkICNjY2N9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGkuc2VsZWN0ZWR7YmFja2dyb3VuZDojNTY5ZmY3O2NvbG9yOiNmZmZ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9LkJvb2xlYW5Td2l0Y2h7b3V0bGluZTpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt3aWR0aDo0MHB4O2hlaWdodDoyMHB4fS5Cb29sZWFuU3dpdGNoIGlucHV0e2Rpc3BsYXk6bm9uZX0uQm9vbGVhblN3aXRjaCAuc2xpZGVye2N1cnNvcjpwb2ludGVyO3RvcDoyMCU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjEwJTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2N9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlciwuQm9vbGVhblN3aXRjaCAuc2xpZGVyOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246LjRzO3RyYW5zaXRpb246LjRzfS5Cb29sZWFuU3dpdGNoIC5zbGlkZXI6YmVmb3Jle2NvbnRlbnQ6XFxcIlxcXCI7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtsZWZ0OjFweDt0b3A6MXB4O2JvdHRvbToxcHg7cmlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uQm9vbGVhblN3aXRjaCBpbnB1dDpjaGVja2VkKy5zbGlkZXJ7YmFja2dyb3VuZC1jb2xvcjojNTY5ZmY3fS5Cb29sZWFuU3dpdGNoIGlucHV0OmZvY3VzKy5zbGlkZXJ7Ym94LXNoYWRvdzowIDAgMXB4ICM1NjlmZjd9LkJvb2xlYW5Td2l0Y2ggaW5wdXQ6Y2hlY2tlZCsuc2xpZGVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KX0uQm9vbGVhblN3aXRjaCAuc2xpZGVyLnJvdW5ke2JvcmRlci1yYWRpdXM6MjhweH0uQm9vbGVhblN3aXRjaCAuc2xpZGVyLnJvdW5kOmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJX1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiA3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblxuLyoqXG4gKiBXaGVuIHNvdXJjZSBtYXBzIGFyZSBlbmFibGVkLCBgc3R5bGUtbG9hZGVyYCB1c2VzIGEgbGluayBlbGVtZW50IHdpdGggYSBkYXRhLXVyaSB0b1xuICogZW1iZWQgdGhlIGNzcyBvbiB0aGUgcGFnZS4gVGhpcyBicmVha3MgYWxsIHJlbGF0aXZlIHVybHMgYmVjYXVzZSBub3cgdGhleSBhcmUgcmVsYXRpdmUgdG8gYVxuICogYnVuZGxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBPbmUgc29sdXRpb24gaXMgdG8gb25seSB1c2UgZnVsbCB1cmxzLCBidXQgdGhhdCBtYXkgYmUgaW1wb3NzaWJsZS5cbiAqXG4gKiBJbnN0ZWFkLCB0aGlzIGZ1bmN0aW9uIFwiZml4ZXNcIiB0aGUgcmVsYXRpdmUgdXJscyB0byBiZSBhYnNvbHV0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSBsb2NhdGlvbi5cbiAqXG4gKiBBIHJ1ZGltZW50YXJ5IHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhdCBgdGVzdC9maXhVcmxzLmpzYCBhbmQgY2FuIGJlIHJ1biB2aWEgdGhlIGBucG0gdGVzdGAgY29tbWFuZC5cbiAqXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzKSB7XG4gIC8vIGdldCBjdXJyZW50IGxvY2F0aW9uXG4gIHZhciBsb2NhdGlvbiA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2F0aW9uO1xuXG4gIGlmICghbG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaXhVcmxzIHJlcXVpcmVzIHdpbmRvdy5sb2NhdGlvblwiKTtcbiAgfVxuXG5cdC8vIGJsYW5rIG9yIG51bGw/XG5cdGlmICghY3NzIHx8IHR5cGVvZiBjc3MgIT09IFwic3RyaW5nXCIpIHtcblx0ICByZXR1cm4gY3NzO1xuICB9XG5cbiAgdmFyIGJhc2VVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gIHZhciBjdXJyZW50RGlyID0gYmFzZVVybCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcL1teXFwvXSokLywgXCIvXCIpO1xuXG5cdC8vIGNvbnZlcnQgZWFjaCB1cmwoLi4uKVxuXHQvKlxuXHRUaGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBqdXN0IGEgd2F5IHRvIHJlY3Vyc2l2ZWx5IG1hdGNoIGJyYWNrZXRzIHdpdGhpblxuXHRhIHN0cmluZy5cblxuXHQgL3VybFxccypcXCggID0gTWF0Y2ggb24gdGhlIHdvcmQgXCJ1cmxcIiB3aXRoIGFueSB3aGl0ZXNwYWNlIGFmdGVyIGl0IGFuZCB0aGVuIGEgcGFyZW5zXG5cdCAgICggID0gU3RhcnQgYSBjYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAoPzogID0gU3RhcnQgYSBub24tY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgICAgIFteKShdICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAoPzogID0gU3RhcnQgYW5vdGhlciBub24tY2FwdHVyaW5nIGdyb3Vwc1xuXHQgICAgICAgICAgICAgICAgIFteKShdKyAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICAgICAgW14pKF0qICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIFxcKSAgPSBNYXRjaCBhIGVuZCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKSAgPSBFbmQgR3JvdXBcbiAgICAgICAgICAgICAgKlxcKSA9IE1hdGNoIGFueXRoaW5nIGFuZCB0aGVuIGEgY2xvc2UgcGFyZW5zXG4gICAgICAgICAgKSAgPSBDbG9zZSBub24tY2FwdHVyaW5nIGdyb3VwXG4gICAgICAgICAgKiAgPSBNYXRjaCBhbnl0aGluZ1xuICAgICAgICkgID0gQ2xvc2UgY2FwdHVyaW5nIGdyb3VwXG5cdCBcXCkgID0gTWF0Y2ggYSBjbG9zZSBwYXJlbnNcblxuXHQgL2dpICA9IEdldCBhbGwgbWF0Y2hlcywgbm90IHRoZSBmaXJzdC4gIEJlIGNhc2UgaW5zZW5zaXRpdmUuXG5cdCAqL1xuXHR2YXIgZml4ZWRDc3MgPSBjc3MucmVwbGFjZSgvdXJsXFxzKlxcKCgoPzpbXikoXXxcXCgoPzpbXikoXSt8XFwoW14pKF0qXFwpKSpcXCkpKilcXCkvZ2ksIGZ1bmN0aW9uKGZ1bGxNYXRjaCwgb3JpZ1VybCkge1xuXHRcdC8vIHN0cmlwIHF1b3RlcyAoaWYgdGhleSBleGlzdClcblx0XHR2YXIgdW5xdW90ZWRPcmlnVXJsID0gb3JpZ1VybFxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15cIiguKilcIiQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSlcblx0XHRcdC5yZXBsYWNlKC9eJyguKiknJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KTtcblxuXHRcdC8vIGFscmVhZHkgYSBmdWxsIHVybD8gbm8gY2hhbmdlXG5cdFx0aWYgKC9eKCN8ZGF0YTp8aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvfGZpbGU6XFwvXFwvXFwvfFxccyokKS9pLnRlc3QodW5xdW90ZWRPcmlnVXJsKSkge1xuXHRcdCAgcmV0dXJuIGZ1bGxNYXRjaDtcblx0XHR9XG5cblx0XHQvLyBjb252ZXJ0IHRoZSB1cmwgdG8gYSBmdWxsIHVybFxuXHRcdHZhciBuZXdVcmw7XG5cblx0XHRpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvL1wiKSA9PT0gMCkge1xuXHRcdCAgXHQvL1RPRE86IHNob3VsZCB3ZSBhZGQgcHJvdG9jb2w/XG5cdFx0XHRuZXdVcmwgPSB1bnF1b3RlZE9yaWdVcmw7XG5cdFx0fSBlbHNlIGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi9cIikgPT09IDApIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHVybFxuXHRcdFx0bmV3VXJsID0gYmFzZVVybCArIHVucXVvdGVkT3JpZ1VybDsgLy8gYWxyZWFkeSBzdGFydHMgd2l0aCAnLydcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3Rvcnlcblx0XHRcdG5ld1VybCA9IGN1cnJlbnREaXIgKyB1bnF1b3RlZE9yaWdVcmwucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpOyAvLyBTdHJpcCBsZWFkaW5nICcuLydcblx0XHR9XG5cblx0XHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIHVybCguLi4pXG5cdFx0cmV0dXJuIFwidXJsKFwiICsgSlNPTi5zdHJpbmdpZnkobmV3VXJsKSArIFwiKVwiO1xuXHR9KTtcblxuXHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIGNzc1xuXHRyZXR1cm4gZml4ZWRDc3M7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oOSk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5mbGF0cGlja3ItY2FsZW5kYXJ7Zm9udC1zaXplOjEzcHg7Ym9yZGVyLXJhZGl1czo1cHh9LmZsYXRwaWNrci1jYWxlbmRhciAuZmxhdHBpY2tyLWNsZWFye3BhZGRpbmc6N3B4O21hcmdpbjoxMnB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzU2OWZmNztjb2xvcjojZmZmO291dGxpbmU6MDtib3JkZXI6MDttaW4td2lkdGg6MTAwcHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNoYWRvdzowIDAgMnB4IDAgdHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zNnN9LmZsYXRwaWNrci1jYWxlbmRhciAuZmxhdHBpY2tyLWNsZWFyOmZvY3VzLC5mbGF0cGlja3ItY2FsZW5kYXIgLmZsYXRwaWNrci1jbGVhcjpob3Zlcntib3gtc2hhZG93OjAgMCAycHggMCAjOWU5ZTllfS5EYXRlVGltZXNEaWFsb2d7bWF4LXdpZHRoOjMwNy44NzVweDtvdmVyZmxvdzpoaWRkZW59LkRhdGVUaW1lc0RpYWxvZyBpbnB1dHttaW4td2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cGFkZGluZzozcHg7b3V0bGluZTowO2JvcmRlcjpub25lfVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDEwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDExICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNJbWFnZXNSZW5kZXJlciBpbWd7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDEyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDEzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNOdW1iZXJzRWRpdG9ye2Rpc3BsYXk6YmxvY2t9LkJhc2ljTnVtYmVyc0VkaXRvciBpbnB1dHttaW4td2lkdGg6MTAwJTtvdXRsaW5lOjA7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvcmRlcjpub25lO3BhZGRpbmc6M3B4fVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDE0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW5kZXJlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19Cb29sZWFuU3dpdGNoX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG4vKipcbiogQm9vbGVhbnMgUmVuZGVyZXJcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIFJlbmRlcmVyaW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgUmVuZGVyZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKFJlbmRlcmVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBSZW5kZXJlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUmVuZGVyZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihSZW5kZXJlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUmVuZGVyZXIsIFt7XG4gICAga2V5OiBcImluaXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN3aXRjaGVyID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKG51bGwsIGRvYyk7XG4gICAgICBzd2l0Y2hlci5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmNvbnRhaW5lciA9IGRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUgPSBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiO1xuXG4gICAgICBpZiAoIXBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciB0cnVlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignUkVOREVSRVJfVFJVRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1RSVUUnLCBwYXJhbXMpO1xuICAgICAgICB2YXIgZmFsc2VWYWx1ZSA9IHRoaXMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9GQUxTRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0ZBTFNFJywgcGFyYW1zKTtcblxuICAgICAgICBpZiAodHJ1ZSA9PT0gcGFyYW1zLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKCF0cnVlVmFsdWUgfHwgdHJ1ZVZhbHVlID09PSAnc3dpdGNoJykge1xuICAgICAgICAgICAgc3dpdGNoZXIuY2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHN3aXRjaGVyLmNvbXBvbmVudCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IHRydWVWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFmYWxzZVZhbHVlIHx8IGZhbHNlVmFsdWUgPT09ICdzd2l0Y2gnKSB7XG4gICAgICAgICAgICBzd2l0Y2hlci51bmNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChzd2l0Y2hlci5jb21wb25lbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSBmYWxzZVZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBSZW5kZXJlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0Jvb2xlYW5Td2l0Y2hfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBCb29sZWFucyBFZGl0b3JcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIEVkaXRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBFZGl0b3IgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEVkaXRvciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRWRpdG9yKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBFZGl0b3IpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihFZGl0b3IpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEVkaXRvciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogU2V0dXAgdGhlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgc3RhcnRWYWx1ZTtcbiAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT09IG51bGwpIHN0YXJ0VmFsdWUgPSBCb29sZWFuKHBhcmFtcy5rZXlQcmVzcyk7ZWxzZSBpZiAocGFyYW1zLmNoYXJQcmVzcyAhPT0gbnVsbCkgc3RhcnRWYWx1ZSA9IEJvb2xlYW4ocGFyYW1zLmNoYXJQcmVzcyk7XG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG5cbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB2YXIga2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSA9IHBhcmFtcy5rZXlQcmVzcyA9PSAzMiAvLyBzcGFjZVxuICAgICAgICB8fCBwYXJhbXMua2V5UHJlc3MgPT0gNDY7IC8vIGRlbGV0ZVxuXG4gICAgICAgIGlmIChrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gQm9vbGVhbihwYXJhbXMuY2hhclByZXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG4gICAgICB0aGlzLnN3aXRjaGVyID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKHN0YXJ0VmFsdWUsIGRvYywgZnVuY3Rpb24gKHN3aXRjaGVyKSB7XG4gICAgICAgIF90aGlzLmN1cnJlbnRWYWx1ZSA9IHN3aXRjaGVyLmdldFZhbHVlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZm9jdXNJbigpOyAvLyB1cGRhdGUgYGN1cnJlbnRWYWx1ZWAgdGhlIHZhbHVlIHdoaWNoIHRoaXMgY29tcG9uZW50IGlzIG1hbmFnaW5nXG5cbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gc3RhcnRWYWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSByZWZyZW5jZSB0byB0aGUgY29tcG9uZW50IGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0hUTUxFbGVtZW50fVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLnN3aXRjaGVyLmNvbXBvbmVudDtcbiAgICB9XG4gICAgLyoqIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgYWx3YXlzIGZvY3VzZWQgdG8gbGlzdGVuIHRvIGtleSBjaGFuZ2VzKi9cblxuICB9LCB7XG4gICAga2V5OiBcImFmdGVyR3VpQXR0YWNoZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWZ0ZXJHdWlBdHRhY2hlZCgpIHtcbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB0aGlzLmZvY3VzSW4oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNJblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c0luKCkge1xuICAgICAgdGhpcy5zd2l0Y2hlci5mb2N1cygpO1xuICAgIH1cbiAgICAvKiogQ2FsbGVkIGlmIGVkaXRUeXBlID0gJ2Z1bGxSb3cnICovXG5cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c091dFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c091dCgpIHtcbiAgICAgIHRoaXMuc3dpdGNoZXIuZGlzYWJsZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgVGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyBmYWxzZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIHJlbW92ZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdG9yeSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgdGhpcy5zd2l0Y2hlci5kZXN0cm95KCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEVkaXRvcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRmlsdGVyOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBCb29sZWFucyBGaWx0ZXJcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIEZpbHRlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEZpbHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRmlsdGVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBGaWx0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZpbHRlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEZpbHRlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRmlsdGVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIEJvb2xlYW4gRmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciB0cnVlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignRklMVEVSX1RSVUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdUUlVFJywgcGFyYW1zKTtcbiAgICAgIHZhciBmYWxzZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9GQUxTRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0ZBTFNFJywgcGFyYW1zKTtcbiAgICAgIHZhciBub25lVmFsdWUgPSB0aGlzLmdldE9wdGlvbignRklMVEVSX05PTkUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdOT05FJywgcGFyYW1zKTtcbiAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgICAgdGhpcy52YWx1ZUdldHRlciA9IHBhcmFtcy52YWx1ZUdldHRlcjtcbiAgICAgIHRoaXMuZmlsdGVyVGV4dCA9IG51bGw7XG4gICAgICB0aGlzLmd1aSA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuZ3VpLmNsYXNzTmFtZSA9ICdCYXNpY0Jvb2xlYW5zRmlsdGVyJztcbiAgICAgIHRoaXMuZ3VpLnRhYkluZGV4ID0gXCIwXCI7XG4gICAgICB0aGlzLmd1aS5pbm5lckhUTUwgPSBcIlxcbiAgICAgICAgPHVsIGNsYXNzPVxcXCJhZy1maWx0ZXItYm9keVxcXCI+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwidHJ1ZVxcXCI+XCIuY29uY2F0KHRydWVWYWx1ZSB8fCAnJiM5NjczIFRydWUnLCBcIjwvbGk+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwiZmFsc2VcXFwiPlwiKS5jb25jYXQoZmFsc2VWYWx1ZSB8fCAnJiM5Njc4OyBGYWxzZScsIFwiPC9saT5cXG4gICAgICAgICAgPGxpIHZhbHVlPVxcXCJub25lXFxcIj5cIikuY29uY2F0KG5vbmVWYWx1ZSB8fCAnJiM5Njc3OyBOb25lJywgXCI8L2xpPlxcbiAgICAgICAgPC91bD5cXG4gICAgXCIpO1xuICAgICAgdGhpcy5maWx0ZXJFbGVtZW50cyA9IHRoaXMuZ3VpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJyk7XG4gICAgICB0aGlzLl9vbkNoYW5nZUJpbmQgPSB0aGlzLl9vbkNoYW5nZS5iaW5kKHRoaXMpO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsdGVyRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLmZpbHRlckVsZW1lbnRzW2ldO1xuICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9vbkNoYW5nZUJpbmQpO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiogQHJldHVybiB7SFRNTEVsZW1lbnR9Ki9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5ndWk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgc2VsZWN0ZWQgZmlsdGVyIG1hdGNocyB0aGUgcGFzc2VkIGNlbGwgZGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIHBhc3MsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZG9lc0ZpbHRlclBhc3NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZG9lc0ZpbHRlclBhc3MocGFyYW1zKSB7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlR2V0dGVyKHBhcmFtcyk7XG4gICAgICB2YXIgcGFzc2VkO1xuXG4gICAgICBpZiAodGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScgJiYgdmFsdWUgPT0gZmFsc2UpIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyAmJiB2YWx1ZSA9PSB0cnVlKSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpID09PSAnbm9uZScpIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhc3NlZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayB3aGV0aGVyIHRoZSBjb21wb25lbnQgaXMgYXBwbHlpbmcgYW55IGZpbHRlciBvbiB0aGUgY29sdW1uXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzRmlsdGVyQWN0aXZlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzRmlsdGVyQWN0aXZlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyVGV4dCAhPT0gbnVsbCAmJiB0aGlzLmZpbHRlclRleHQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmZpbHRlclRleHQgIT09ICdub25lJztcbiAgICB9XG4gICAgLyoqIEdldHMgdGhlIGZpbHRlciBzdGF0ZSBmb3Igc3RvcmluZyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0TW9kZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWwoKSB7XG4gICAgICB2YXIgbW9kZWwgPSB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmZpbHRlclRleHRcbiAgICAgIH07XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExpc3RlbiB0byBzZWxlY3Rpb24gY2hhbmdlcyBpbiB0aGUgZmlsdGVyIGxpc3QgYW5kIHVwZGF0ZSB0aGUgZ3JpZFxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9vbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DaGFuZ2UoZXZlbnQpIHtcbiAgICAgIHRoaXMuZmlsdGVyVGV4dCA9IGV2ZW50LnRhcmdldC5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJyk7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXJFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMuZmlsdGVyRWxlbWVudHNbaV07XG5cbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEZpbHRlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cblxuLyoqXG4qIERhdGUgLyBUaW1lcyBFZGl0b3JcbipcbiogSGFuZGxlIERhdGUvVGltZSB2YWx1ZXMgRWRpdGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEVkaXRvciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRWRpdG9yLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBFZGl0b3IoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEVkaXRvcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEVkaXRvcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRWRpdG9yLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBTZXR1cCB0aGUgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBzdGFydFZhbHVlO1xuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuXG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdmFyIGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUgPSBwYXJhbXMua2V5UHJlc3MgPT0gMzIgLy8gc3BhY2VcbiAgICAgICAgfHwgcGFyYW1zLmtleVByZXNzID09IDQ2OyAvLyBkZWxldGVcblxuICAgICAgICBpZiAoa2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSkge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSAnJztcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMuY2hhclByZXNzKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy5jaGFyUHJlc3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT0gMTEzKSB7XG4gICAgICAgICAgICAvL0YyXG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kaWFsb2cgPSBuZXcgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19EYXRlVGltZXNEaWFsb2dfX1tcImFcIiAvKiBkZWZhdWx0ICovXSh7XG4gICAgICAgIGVuYWJsZVRpbWU6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfVElNRScsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIGVuYWJsZVNlY29uZHM6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfU0VDT05EUycsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1heERhdGU6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUFYJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUFYJywgcGFyYW1zKSB8fCBudWxsLFxuICAgICAgICBtaW5EYXRlOiB0aGlzLmdldE9wdGlvbignRURJVE9SX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWFzazogdGhpcy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUFTSycsIHBhcmFtcyksXG4gICAgICAgIGFsbG93SW5wdXQ6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdBTExPV19JTlBVVCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1vZGU6ICdzaW5nbGUnLFxuICAgICAgICAvL3RoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTU9ERScsIHBhcmFtcykgfHwgJ3JhbmdlJyxcbiAgICAgICAgdGltZV8yNGhyOiB0aGlzLmdldE9wdGlvbignRURJVE9SXzI0SCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJzI0SCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG9uVmFsdWVVcGRhdGU6IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKVxuICAgICAgfSwgZG9jKTtcbiAgICAgIHRoaXMuZGlhbG9nLnNldERhdGUoc3RhcnRWYWx1ZSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBgY3VycmVudFZhbHVlYCAgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZShkYXRlcywgZGF0ZVN0cikge1xuICAgICAgdGhpcy5kaWFsb2cuc2V0RGF0ZShkYXRlU3RyLCBmYWxzZSk7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGRhdGVTdHI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcmVmcmVuY2UgdG8gdGhlIGNvbXBvbmVudCBlbGVtZW50XG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtIVE1MRWxlbWVudH1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2cuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKiogTWFrZSBzdXJlIGNvbnRhaW5lciBpcyBhbHdheXMgZm9jdXNlZCB0byBsaXN0ZW4gdG8ga2V5IGNoYW5nZXMqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiYWZ0ZXJHdWlBdHRhY2hlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhZnRlckd1aUF0dGFjaGVkKCkge1xuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cykge1xuICAgICAgICB0aGlzLmRpYWxvZy5pbnB1dC5zZWxlY3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNJbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzSW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNJbigpIHtcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oKTtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNPdXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNPdXQoKSB7XG4gICAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgVGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybiB7U3RyaW5nfVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0VmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0VmFsdWUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbXBvbmVudCBvdmVyZmxvd3MgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyB0cnVlXG4gICAgICoqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiaXNQb3B1cFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc1BvcHVwKCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiogRGVzdG9yeSBEYXRlVGltZXNEaWFsb2cgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIHRoaXMuZGlhbG9nLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRWRpdG9yO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDE4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBWYWx1ZUZvcm1hdHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIERhdGVzIC8gVGltZXMgRm9ybWF0dGVyXG4qXG4qIEhhbmRsZSBEYXRlIC8gVGltZSB2YWx1ZXMgZm9ybWF0dGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIFZhbHVlRm9ybWF0dGVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gVmFsdWVGb3JtYXR0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFZhbHVlRm9ybWF0dGVyKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhWYWx1ZUZvcm1hdHRlciwgbnVsbCwgW3tcbiAgICBrZXk6IFwiZm9ybWF0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvcm1hdChwYXJhbXMpIHtcbiAgICAgIHZhciBwYXJhbXNNaXhpbnMgPSBuZXcgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10oKTtcbiAgICAgIHZhciBkb2MgPSBwYXJhbXNNaXhpbnMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgbWFzayA9IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ1JFTkRFUkVSX01BU0snLCBwYXJhbXMpO1xuXG4gICAgICBpZiAobWFzayAmJiBwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgJiYgcGFyYW1zLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBCQmouTWFza3MuVHlwZXMuZGF0ZShwYXJhbXMudmFsdWUsIG1hc2spO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyYW1zLnZhbHVlIHx8ICcnOyAvLyBhdm9pZCB1bmRlZmluZWQgXG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFZhbHVlRm9ybWF0dGVyO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRmlsdGVyOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHsgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTsgfVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IHZhciBfYXJyID0gW107IHZhciBfbiA9IHRydWU7IHZhciBfZCA9IGZhbHNlOyB2YXIgX2UgPSB1bmRlZmluZWQ7IHRyeSB7IGZvciAodmFyIF9pID0gYXJyW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHsgX2Fyci5wdXNoKF9zLnZhbHVlKTsgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrOyB9IH0gY2F0Y2ggKGVycikgeyBfZCA9IHRydWU7IF9lID0gZXJyOyB9IGZpbmFsbHkgeyB0cnkgeyBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7IH0gZmluYWxseSB7IGlmIChfZCkgdGhyb3cgX2U7IH0gfSByZXR1cm4gX2FycjsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBEYXRlIC8gVGltZSBGaWx0ZXJcbipcbiogSGFuZGxlIERhdGVzIC8gVGltZXMgdmFsdWVzIEZpbHRlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEZpbHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRmlsdGVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBGaWx0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZpbHRlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEZpbHRlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRmlsdGVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIEJvb2xlYW4gRmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHRoaXMuZGlhbG9nID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fRGF0ZVRpbWVzRGlhbG9nX19bXCJhXCIgLyogZGVmYXVsdCAqL10oe1xuICAgICAgICBpbmxpbmU6IHRydWUsXG4gICAgICAgIGVuYWJsZVRpbWU6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfVElNRScsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIGVuYWJsZVNlY29uZHM6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfU0VDT05EUycsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1heERhdGU6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFYJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUFYJywgcGFyYW1zKSB8fCBudWxsLFxuICAgICAgICBtaW5EYXRlOiB0aGlzLmdldE9wdGlvbignRklMVEVSX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWFzazogdGhpcy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFTSycsIHBhcmFtcyksXG4gICAgICAgIGFsbG93SW5wdXQ6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdBTExPV19JTlBVVCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1vZGU6ICdyYW5nZScsXG4gICAgICAgIC8vdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NT0RFJywgcGFyYW1zKSB8fCAncmFuZ2UnLFxuICAgICAgICB0aW1lXzI0aHI6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfMjRIJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignMjRIJywgcGFyYW1zKSB8fCBmYWxzZSxcbiAgICAgICAgb25WYWx1ZVVwZGF0ZTogdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpLFxuICAgICAgICBvbkNsZWFyOiB0aGlzLm9uQ2xlYXIuYmluZCh0aGlzKVxuICAgICAgfSwgZG9jKTsgLy8gbWFrZSBzdXJlIG5vIGRhdGUgaXMgc2VsZWN0ZWRcblxuICAgICAgdGhpcy5kaWFsb2cuc2V0RGF0ZSgnJywgdHJ1ZSk7XG4gICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgIHRoaXMudmFsdWVHZXR0ZXIgPSBwYXJhbXMudmFsdWVHZXR0ZXI7XG4gICAgICB0aGlzLmZpbHRlckRhdGVzID0gbnVsbDtcbiAgICB9XG4gICAgLyoqIFJlc2V0IGZpbHRlciB3aGVuIGNhbGFuZGVyIGlzIGNsZWFyZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIm9uQ2xlYXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DbGVhcigpIHtcbiAgICAgIHRoaXMuZmlsdGVyRGF0ZXMgPSBbXTtcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMaXN0ZW4gdG8gc2VsZWN0aW9uIGNoYW5nZXMgaW4gdGhlIGNhbGFuZGVyIGFuZCB1cGRhdGUgdGhlIGdyaWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZShkYXRlcywgZGF0ZVN0cikge1xuICAgICAgdGhpcy5maWx0ZXJEYXRlcyA9IGRhdGVzO1xuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XG4gICAgfVxuICAgIC8qKiBAcmV0dXJuIHtIVE1MRWxlbWVudH0qL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5jb21wb25lbnQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgc2VsZWN0ZWQgZmlsdGVyIG1hdGNocyB0aGUgcGFzc2VkIGNlbGwgZGF0ZVxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIHBhc3MsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZG9lc0ZpbHRlclBhc3NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZG9lc0ZpbHRlclBhc3MocGFyYW1zKSB7XG4gICAgICB2YXIgdmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlR2V0dGVyKHBhcmFtcykpO1xuXG4gICAgICB2YXIgX3RoaXMkZmlsdGVyRGF0ZXMgPSBfc2xpY2VkVG9BcnJheSh0aGlzLmZpbHRlckRhdGVzLCAyKSxcbiAgICAgICAgICBzdGFydCA9IF90aGlzJGZpbHRlckRhdGVzWzBdLFxuICAgICAgICAgIGVuZCA9IF90aGlzJGZpbHRlckRhdGVzWzFdO1xuXG4gICAgICB2YXIgcGFzc2VkO1xuXG4gICAgICBpZiAodHlwZW9mIGVuZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHN0YXJ0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YXIgc3RhcnRBc0RhdGUgPSBuZXcgRGF0ZShzdGFydCk7XG4gICAgICAgIHZhciBlbmRBc0RhdGUgPSBuZXcgRGF0ZShlbmQpO1xuICAgICAgICBwYXNzZWQgPSB2YWx1ZSA+PSBzdGFydEFzRGF0ZSAmJiB2YWx1ZSA8PSBlbmRBc0RhdGU7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdGFydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFyIF9zdGFydEFzRGF0ZSA9IG5ldyBEYXRlKHN0YXJ0KTtcblxuICAgICAgICBwYXNzZWQgPSBfc3RhcnRBc0RhdGUgPT09IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhc3NlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2sgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGFwcGx5aW5nIGFueSBmaWx0ZXIgb24gdGhlIGNvbHVtblxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc0ZpbHRlckFjdGl2ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0ZpbHRlckFjdGl2ZSgpIHtcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuZmlsdGVyRGF0ZXMpICYmIHRoaXMuZmlsdGVyRGF0ZXMubGVuZ3RoO1xuICAgIH1cbiAgICAvKiogR2V0cyB0aGUgZmlsdGVyIHN0YXRlIGZvciBzdG9yaW5nICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRNb2RlbFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRNb2RlbCgpIHtcbiAgICAgIHZhciBtb2RlbCA9IHtcbiAgICAgICAgdmFsdWU6IHRoaXMuZmlsdGVyRGF0ZXNcbiAgICAgIH07XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgYSByZWFkIG9ubHkgZmxvYXRpbmcgZmlsdGVyIFxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ31cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldE1vZGVsQXNTdHJpbmdcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWxBc1N0cmluZygpIHtcbiAgICAgIHZhciBtYXNrID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NQVNLJywgdGhpcy5wYXJhbXMpO1xuXG4gICAgICB2YXIgX3RoaXMkZmlsdGVyRGF0ZXMyID0gX3NsaWNlZFRvQXJyYXkodGhpcy5maWx0ZXJEYXRlcywgMiksXG4gICAgICAgICAgc3RhcnQgPSBfdGhpcyRmaWx0ZXJEYXRlczJbMF0sXG4gICAgICAgICAgZW5kID0gX3RoaXMkZmlsdGVyRGF0ZXMyWzFdO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gJyc7XG4gICAgICBpZiAoc3RhcnQpIHJlc3VsdCArPSBcIlwiLmNvbmNhdChCQmouTWFza3MuVHlwZXMuZGF0ZShzdGFydCwgbWFzaykpO1xuICAgICAgaWYgKGVuZCkgcmVzdWx0ICs9IFwiIC0gXCIuY29uY2F0KEJCai5NYXNrcy5UeXBlcy5kYXRlKGVuZCwgbWFzaykpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRmlsdGVyO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW5kZXJlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogSW1hZ2VzIFJlbmRlcmVyXG4qXG4qIEhhbmRsZSBJbWFnZXMgUmVuZGVyZXJpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBSZW5kZXJlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoUmVuZGVyZXIsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIFJlbmRlcmVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSZW5kZXJlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKFJlbmRlcmVyKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhSZW5kZXJlciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB0aGlzLmNvbnRhaW5lciA9IGRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUgPSBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIjtcblxuICAgICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgd2lkdGggPSB0aGlzLmdldE9wdGlvbignSU1BR0VTX1dJRFRIJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignV0lEVEgnLCBwYXJhbXMpIHx8ICcyNXB4JztcbiAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuZ2V0T3B0aW9uKCdJTUFHRVNfSEVJR0hUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignSEVJR0hUJywgcGFyYW1zKSB8fCAnMjVweCc7XG4gICAgICAgIHZhciBsaXN0ID0gdGhpcy5nZXRPcHRpb24oJ0lNQUdFU19MSVNUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTElTVCcsIHBhcmFtcyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsaXN0ID0gSlNPTi5wYXJzZShsaXN0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxpc3QgPSBsaXN0IHx8IHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpc3QgJiYgbGlzdC5oYXNPd25Qcm9wZXJ0eShwYXJhbXMudmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gXCI8aW1nIHNyYz1cXFwiXCIuY29uY2F0KGxpc3RbcGFyYW1zLnZhbHVlXSwgXCJcXFwiIHdpZHRoPVxcXCJcIikuY29uY2F0KHdpZHRoLCBcIlxcXCIgaGVpZ2h0PVxcXCJcIikuY29uY2F0KGhlaWdodCwgXCJcXFwiLz5cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gcGFyYW1zLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXI7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFJlbmRlcmVyO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBWYWx1ZUZvcm1hdHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIE51bWJlcnMgVmFsdWUgRm9ybWF0dGVyXG4qXG4qIEhhbmRsZSBOdW1iZXIgdmFsdWVzIGZvcm1hdHRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBWYWx1ZUZvcm1hdHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFZhbHVlRm9ybWF0dGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBWYWx1ZUZvcm1hdHRlcik7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVmFsdWVGb3JtYXR0ZXIsIG51bGwsIFt7XG4gICAga2V5OiBcImZvcm1hdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXQocGFyYW1zKSB7XG4gICAgICB2YXIgcGFyYW1zTWl4aW5zID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKCk7XG4gICAgICB2YXIgZG9jID0gcGFyYW1zTWl4aW5zLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIG1hc2sgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9NQVNLJywgcGFyYW1zKTtcbiAgICAgIHZhciBncm91cFNlcCA9IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfR1JPVVBfU0VQQVJBVE9SJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdOVU1CRVJTX1JFTkRFUkVSX0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgJywnO1xuICAgICAgdmFyIGRlY2ltYWxTZXAgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdERUNJTUFMX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ05VTUJFUlNfUkVOREVSRVJfREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8ICcuJztcblxuICAgICAgaWYgKG1hc2sgJiYgcGFyYW1zLmhhc093blByb3BlcnR5KCd2YWx1ZScpICYmIHBhcmFtcy52YWx1ZSAhPSBudWxsICYmICFpc05hTihwYXJhbXMudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBCQmouTWFza3MuVHlwZXMubnVtYmVyKHBhcmFtcy52YWx1ZSwgbWFzaywgZ3JvdXBTZXAsIGRlY2ltYWxTZXApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyYW1zLnZhbHVlIHx8ICcnOyAvLyBhdm9pZCB1bmRlZmluZWQgXG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFZhbHVlRm9ybWF0dGVyO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiAyMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBOdW1iZXJzIEVkaXRvclxuKlxuKiBIYW5kbGUgbnVtYmVyIHZhbHVlcyBFZGl0aW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgRWRpdG9yID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUGFyYW1zTWl4aW5zKSB7XG4gIF9pbmhlcml0cyhFZGl0b3IsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIEVkaXRvcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWRpdG9yKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoRWRpdG9yKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhFZGl0b3IsIFt7XG4gICAga2V5OiBcImluaXRcIixcblxuICAgIC8qKlxuICAgICAqIFNldHVwIHRoZSBjb21wb25lbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN0YXJ0VmFsdWU7XG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG5cbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB2YXIga2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSA9IHBhcmFtcy5rZXlQcmVzcyA9PSAzMiAvLyBzcGFjZVxuICAgICAgICB8fCBwYXJhbXMua2V5UHJlc3MgPT0gNDY7IC8vIGRlbGV0ZVxuXG4gICAgICAgIGlmIChrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9ICcnO1xuICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLmNoYXJQcmVzcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICAgICAgaWYgKHBhcmFtcy5rZXlQcmVzcyAhPSAxMTMpIHtcbiAgICAgICAgICAgIC8vRjJcbiAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbXBvbmVudCA9IGRvYy5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgdGhpcy5jb21wb25lbnQuY2xhc3NOYW1lID0gJ0Jhc2ljTnVtYmVyc0VkaXRvcic7XG4gICAgICB0aGlzLmNvbXBvbmVudC50YWJJbmRleCA9IFwiMFwiOyAvLyBpbnB1dFxuXG4gICAgICB0aGlzLmlucHV0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICB0aGlzLmlucHV0LnR5cGUgPSBcIm51bWJlclwiO1xuICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgICB0aGlzLmlucHV0LnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdmFyIG1pbiA9IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUlOJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUlOJywgcGFyYW1zKTtcbiAgICAgIHZhciBtYXggPSB0aGlzLmdldE9wdGlvbignRURJVE9SX01BWCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01BWCcsIHBhcmFtcyk7XG4gICAgICB2YXIgc3RlcCA9IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfU1RFUCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1NURVAnLCBwYXJhbXMpO1xuICAgICAgaWYgKG1pbikgdGhpcy5pbnB1dC5taW4gPSBtaW47XG4gICAgICBpZiAobWF4KSB0aGlzLmlucHV0Lm1heCA9IG1heDtcbiAgICAgIGlmIChzdGVwKSB0aGlzLmlucHV0Lm1heCA9IHN0ZXA7XG4gICAgICB0aGlzLl9vbktleURvd25CaW5kID0gdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLl9vbkNoYW5nZUJpbmQgPSB0aGlzLl9vbkNoYW5nZS5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgICB0aGlzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX29uQ2hhbmdlQmluZCk7IC8vIHVwZGF0ZSBgY3VycmVudFZhbHVlYCB0aGUgdmFsdWUgd2hpY2ggdGhpcyBjb21wb25lbnQgaXMgbWFuYWdpbmdcblxuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBzdGFydFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHJlZnJlbmNlIHRvIHRoZSBjb21wb25lbnQgZWxlbWVudFxuICAgICAqXG4gICAgICogQHJldHVybiB7SFRNTEVsZW1lbnR9XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKiogTWFrZSBzdXJlIGNvbnRhaW5lciBpcyBhbHdheXMgZm9jdXNlZCB0byBsaXN0ZW4gdG8ga2V5IGNoYW5nZXMqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiYWZ0ZXJHdWlBdHRhY2hlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhZnRlckd1aUF0dGFjaGVkKCkge1xuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cykge1xuICAgICAgICB0aGlzLmlucHV0LnNlbGVjdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNBZnRlckF0dGFjaGVkKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c0luKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IFRoZSBjb21wb25lbnQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICAgIHZhciBjYXN0ZWQgPSBOdW1iZXIodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgcmV0dXJuIGlzTmFOKGNhc3RlZCkgPyB0aGlzLmN1cnJlbnRWYWx1ZSA6IGNhc3RlZDtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNJblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c0luKCkge1xuICAgICAgdGhpcy5pbnB1dC5mb2N1cygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyBmYWxzZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIHJlbW92ZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdG9yeSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgaWYgKHRoaXMuX29uS2V5RG93bikgdGhpcy5pbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duKTtcbiAgICAgIGlmICh0aGlzLl9vbkNoYW5nZUJpbmQpIHRoaXMuaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICB9XG4gICAgLyoqXG4gICAgKiBVcGRhdGUgYGN1cnJlbnRWYWx1ZWAgd2hlbiB0aGUgY2hlY2tib3ggdmFsdWUgaXMgY2hhbmdlZFxuICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKHBhcmFtcykge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb25pdG9yIGtleXMgW3RvcCxib3R0b20sZW50ZXJdIHRvIGNoYW5nZSB0aGUgaW5wdXQgdmFsdWVcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uS2V5RG93blwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25LZXlEb3duKGV2ZW50KSB7XG4gICAgICB2YXIga2V5ID0gZXZlbnQud2hpY2ggfHwgZXZlbnQua2V5Q29kZTtcblxuICAgICAgaWYgKGtleSA9PSAzOCB8fCBrZXkgPT0gNDApIHtcbiAgICAgICAgLy8gdG9wIHwgZG93blxuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuaW5wdXQudmFsdWU7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gMTMpIHtcbiAgICAgICAgLy8gZW50ZXJcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBFZGl0b3I7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMjMgKi8sXG4vKiAyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfZXhwb3NlX2xvYWRlcl9CQmpfTWFza3Nfbm9kZV9tb2R1bGVzX2Jial9tYXNrc19kaXN0X2Jial9tYXNrc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX2V4cG9zZV9sb2FkZXJfQkJqX01hc2tzX25vZGVfbW9kdWxlc19iYmpfbWFza3NfZGlzdF9iYmpfbWFza3NfanNfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9leHBvc2VfbG9hZGVyX0JCal9NYXNrc19ub2RlX21vZHVsZXNfYmJqX21hc2tzX2Rpc3RfYmJqX21hc2tzX2pzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19Cb29sZWFuc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19Cb29sZWFuc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fQm9vbGVhbnNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fRGF0ZVRpbWVzX3N0eWxlX2Nzc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX0RhdGVUaW1lc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fRGF0ZVRpbWVzX3N0eWxlX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX0ltYWdlc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fSW1hZ2VzX3N0eWxlX2Nzc19fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19JbWFnZXNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX0Jvb2xlYW5zX1JlbmRlcmVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fQm9vbGVhbnNfUmVuZGVyZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fQm9vbGVhbnNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNFZGl0b3JcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX0Jvb2xlYW5zX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19Cb29sZWFuc19GaWx0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNCb29sZWFuc0ZpbHRlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fQm9vbGVhbnNfRmlsdGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19EYXRlVGltZXNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzRWRpdG9yXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fRGF0ZVRpbWVzX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fRGF0ZVRpbWVzX1ZhbHVlRm9ybWF0dGVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzVmFsdWVGb3JtYXR0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19EYXRlVGltZXNfVmFsdWVGb3JtYXR0ZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfX0RhdGVUaW1lc19GaWx0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTkpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNEYXRlVGltZXNGaWx0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19EYXRlVGltZXNfRmlsdGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEzX19JbWFnZXNfUmVuZGVyZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNJbWFnZXNSZW5kZXJlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfX0ltYWdlc19SZW5kZXJlcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNF9fTnVtYmVyc19WYWx1ZUZvcm1hdHRlcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMSk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY051bWJlcnNWYWx1ZUZvcm1hdHRlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX051bWJlcnNfVmFsdWVGb3JtYXR0ZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfX051bWJlcnNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIyKTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljTnVtYmVyc0VkaXRvclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfX051bWJlcnNfRWRpdG9yX2pzX19bXCJhXCJdOyB9KTtcbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qKiovIH0pLFxuLyogMjUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCkge2lmKCFnbG9iYWxbXCJCQmpcIl0pIGdsb2JhbFtcIkJCalwiXSA9IHt9O1xubW9kdWxlLmV4cG9ydHMgPSBnbG9iYWxbXCJCQmpcIl1bXCJNYXNrc1wiXSA9IF9fd2VicGFja19yZXF1aXJlX18oMjcpO1xuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18oMjYpKSlcblxuLyoqKi8gfSksXG4vKiAyNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG52YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8fCAoMSxldmFsKShcInRoaXNcIik7XG59IGNhdGNoKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIilcblx0XHRnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG5cblxuLyoqKi8gfSksXG4vKiAyNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4oZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0cnVlKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiTWFza3NcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQkJqXCJdID0gcm9vdFtcIkJCalwiXSB8fCB7fSwgcm9vdFtcIkJCalwiXVtcIk1hc2tzXCJdID0gZmFjdG9yeSgpO1xufSkodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIC8qKioqKiovIChmdW5jdGlvbihtb2R1bGVzKSB7IC8vIHdlYnBhY2tCb290c3RyYXBcbi8qKioqKiovIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbi8qKioqKiovIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbi8qKioqKiovIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4vKioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG4vKioqKioqL1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4vKioqKioqLyBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuLyoqKioqKi8gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbi8qKioqKiovIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbi8qKioqKiovIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbi8qKioqKiovIFx0XHRcdH0pO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuLyoqKioqKi8gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4vKioqKioqLyBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuLyoqKioqKi8gXHRcdHJldHVybiBnZXR0ZXI7XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAyKTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYmJqLW1hc2tzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqIFxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKiBcbiAqIERhdGVNYXNrXG4gKiBcbiAqIEhhbmRsZSBCQmogZGF0ZXMgbWFza2luZyBcbiAqIFxuICogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgRGF0ZU1hc2sgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBEYXRlTWFzaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRGF0ZU1hc2spO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKERhdGVNYXNrLCBudWxsLCBbe1xuICAgIGtleTogXCJtYXNrXCIsXG5cbiAgICAvKiogXG4gICAgICogTWFzayBkYXRlXG4gICAgICogXG4gICAgICogTWFzayB0aGUgcGFzc2VkIGRhdGUgd2l0aCB0aGUgcGFzc2VkIG1hc2tcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgbWFzayBhcyBhIHN0cmluZ1xuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gYSBkYXRlIG1hc2tlZCB3aXRodCB0aGUgZ2l2ZW4gbWFza1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBtYXNrKGRhdGUsIF9tYXNrKSB7XG4gICAgICBpZiAoIWRhdGUpIHJldHVybjtcbiAgICAgIGlmICghX21hc2spIHJldHVybiBkYXRlO1xuXG4gICAgICB2YXIgZGF0ZURldGFpbHMgPSBEYXRlTWFzay5fcGFyc2VEYXRlKGRhdGUpO1xuXG4gICAgICB2YXIgdHJhbnNsYXRpb25zID0gRGF0ZU1hc2suX2J1aWxkVHJhbnNpbGF0aW9uKGRhdGVEZXRhaWxzKTtcblxuICAgICAgdmFyIHJlc3VsdCA9IF9tYXNrO1xuXG4gICAgICBmb3IgKHZhciBrIGluIHRyYW5zbGF0aW9ucykge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShuZXcgUmVnRXhwKCcoJScgKyBrICsgJyknLCAnZycpLCB0cmFuc2xhdGlvbnNba10pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXJzZSB0aGUgcGFzc2VkIGRhdGUgc3RyaW5nIGFkbiByZXR1cm4gaXRzIGRldGlsYXNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9wYXJzZURhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX3BhcnNlRGF0ZShkYXRlKSB7XG4gICAgICB2YXIgZGF0ZU9iamVjdCA9IERhdGUucGFyc2UoZGF0ZSk7XG4gICAgICBpZiAoIShkYXRlT2JqZWN0IGluc3RhbmNlb2YgRGF0ZSkpIGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAgIHZhciBob3VyczI0ID0gZGF0ZU9iamVjdC5nZXRIb3VycygpO1xuICAgICAgdmFyIGhvdXJzMTIgPSBob3VyczI0ICUgMTIgfHwgMTI7XG5cbiAgICAgIHZhciBkYXlPZlllYXIgPSBEYXRlTWFzay5fZ2V0RGF5T2ZZZWFyKGRhdGUpOyAvLyBjb25zdCBkYXlPZldlZWsgPSBkYXRlT2JqZWN0LmdldERheSgpID9cblxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBcInllYXJcIjogZGF0ZU9iamVjdC5nZXRGdWxsWWVhcigpLFxuICAgICAgICBcIm1vbnRoXCI6IGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDEsXG4gICAgICAgIFwiZGF5XCI6IGRhdGVPYmplY3QuZ2V0RGF0ZSgpLFxuICAgICAgICBcIm1pbnV0ZXNcIjogZGF0ZU9iamVjdC5nZXRNaW51dGVzKCksXG4gICAgICAgIFwic2Vjb25kc1wiOiBkYXRlT2JqZWN0LmdldFNlY29uZHMoKSxcbiAgICAgICAgXCJob3VyczI0XCI6IGhvdXJzMjQsXG4gICAgICAgIFwiaG91cnMxMlwiOiBob3VyczEyLFxuICAgICAgICBcImRheU9mWWVhclwiOiBkYXlPZlllYXIsXG4gICAgICAgIFwiZGF5T2ZXZWVrXCI6IGRhdGVPYmplY3QuZ2V0RGF5KCkgKyAxIC8vIFN1bmRheSA9IDEgaW4gQkJqIGJ1dCBTdW5kYXkgPSAwIGluIEpTXG5cbiAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBhIG1hcCBvYmplY3Qgd2hpY2ggY29udGFpbnMgYWxsIHBvc3NpYmxlIGZvcm1zIG9mIG1hc2tzXG4gICAgICogXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGRhdGVEZXRhaWxzIGRhdGUgZGV0YWlscyBidWlsdCBieSBgX3BhcnNlRGF0ZWBcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IGZvcm1zIG1hc2tzXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRUcmFuc2lsYXRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkVHJhbnNpbGF0aW9uKGRhdGVEZXRhaWxzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAvLyB5ZWFyIFxuICAgICAgICBcIll6XCI6IGRhdGVEZXRhaWxzLnllYXIudG9TdHJpbmcoKS5zdWJzdHIoLTIpLFxuICAgICAgICBcIllzXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWWxcIjogZGF0ZURldGFpbHMueWVhcixcbiAgICAgICAgXCJZcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLnllYXIpLFxuICAgICAgICBcIllkXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWVwiOiBkYXRlRGV0YWlscy55ZWFyLFxuICAgICAgICAvLyBtb250aFxuICAgICAgICBcIk16XCI6IFN0cmluZyhkYXRlRGV0YWlscy5tb250aCkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLm1vbnRoIDogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTXNcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTWxcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTXBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5tb250aCksXG4gICAgICAgIFwiTWRcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTVwiOiBkYXRlRGV0YWlscy5tb250aCxcbiAgICAgICAgLy8gZGF5XG4gICAgICAgIFwiRHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmRheSkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmRheSA6IGRhdGVEZXRhaWxzLmRheSxcbiAgICAgICAgXCJEc1wiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRGxcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICBcIkRwXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMuZGF5KSxcbiAgICAgICAgXCJEZFwiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRFwiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIC8vIGhvdXIgMjRcbiAgICAgICAgXCJIelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuaG91cnMyNCkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmhvdXJzMjQgOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICBcIkhzXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSGxcIjogZGF0ZURldGFpbHMuaG91cnMyNCxcbiAgICAgICAgXCJIcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLmhvdXJzMjQpLFxuICAgICAgICBcIkhkXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSFwiOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICAvLyBob3VyIDEyXG4gICAgICAgIFwiaHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmhvdXJzMTIpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5ob3VyczEyIDogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgXCJoc1wiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhsXCI6IGRhdGVEZXRhaWxzLmhvdXJzMTIsXG4gICAgICAgIFwiaHBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5ob3VyczEyKSxcbiAgICAgICAgXCJoZFwiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhcIjogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgLy8gbWludXRlc1xuICAgICAgICBcIm16XCI6IFN0cmluZyhkYXRlRGV0YWlscy5taW51dGVzKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMubWludXRlcyA6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIFwibXNcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtbFwiOiBkYXRlRGV0YWlscy5taW51dGVzLFxuICAgICAgICBcIm1wXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMubWludXRlcyksXG4gICAgICAgIFwibWRcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtXCI6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIC8vIHNlY29uZHNcbiAgICAgICAgXCJzelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuc2Vjb25kcykubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLnNlY29uZHMgOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICBcInNzXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic2xcIjogZGF0ZURldGFpbHMuc2Vjb25kcyxcbiAgICAgICAgXCJzcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLnNlY29uZHMpLFxuICAgICAgICBcInNkXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic1wiOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICAvLyBBTSAsIFBNXG4gICAgICAgIFwiUFBcIjogZGF0ZURldGFpbHMuaG91cnMyNCA+IDEyID8gXCJQTVwiIDogXCJQTVwiLFxuICAgICAgICBcIlBcIjogZGF0ZURldGFpbHMuaG91cnMyNCA+IDEyID8gXCJQTVwiIDogXCJBTVwiLFxuICAgICAgICBcInBwXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwicG1cIiA6IFwiYW1cIixcbiAgICAgICAgXCJwXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwicG1cIiA6IFwiYW1cIixcbiAgICAgICAgLy8gRGF5IG9mIFllYXJcbiAgICAgICAgXCJKelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuZGF5T2ZZZWFyKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuZGF5T2ZZZWFyIDogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpzXCI6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgXCJKbFwiOiBkYXRlRGV0YWlscy5kYXlPZlllYXIsXG4gICAgICAgIFwiSmRcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICAvLyBEYXkgT2YgV2VlayBcbiAgICAgICAgXCJXelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuZGF5T2ZXZWVrKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuZGF5T2ZXZWVrIDogZGF0ZURldGFpbHMuZGF5T2ZXZWVrLFxuICAgICAgICBcIldzXCI6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXbFwiOiBkYXRlRGV0YWlscy5kYXlPZldlZWssXG4gICAgICAgIFwiV3BcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5kYXlPZldlZWspLFxuICAgICAgICBcIldkXCI6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXXCI6IGRhdGVEZXRhaWxzLmRheU9mV2Vla1xuICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBEYXkgbnVtYmVyIHdpdGhpbiB0aGUgeWVhciAoMS0zNjYpLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkYXRlIGRhdGUgYXMgYSBzdHJpbmdcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB7TnVtYmVyfVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2dldERheU9mWWVhclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0RGF5T2ZZZWFyKGRhdGUpIHtcbiAgICAgIHZhciBub3cgPSBEYXRlLnBhcnNlKGRhdGUpO1xuICAgICAgaWYgKCEobm93IGluc3RhbmNlb2YgRGF0ZSkpIG5vdyA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIDAsIDApO1xuICAgICAgdmFyIGRpZmYgPSBub3cgLSBzdGFydCArIChzdGFydC5nZXRUaW1lem9uZU9mZnNldCgpIC0gbm93LmdldFRpbWV6b25lT2Zmc2V0KCkpICogNjAgKiAxMDAwO1xuICAgICAgdmFyIG9uZURheSA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG4gICAgICB2YXIgZGF5ID0gTWF0aC5mbG9vcihkaWZmIC8gb25lRGF5KTtcbiAgICAgIHJldHVybiBkYXk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIERhdGVNYXNrO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBEYXRlTWFzaztcblxuLyoqKi8gfSksXG4vKiAxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJiai1tYXNrcyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKiBcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKiogXG4gKiBOdW1iZXJNYXNrXG4gKiBcbiAqIEhhbmRsZSBCQmogbnVtYmVycyBtYXNraW5nIFxuICogXG4gKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBOdW1iZXJNYXNrID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gTnVtYmVyTWFzaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTnVtYmVyTWFzayk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoTnVtYmVyTWFzaywgbnVsbCwgW3tcbiAgICBrZXk6IFwibWFza1wiLFxuXG4gICAgLyoqXG4gICAgICogTWFzayB0aGUgZ2l2ZW4gbnVtYmVyIHdpdGggdGhlIGdpdmVuIG1hc2sgYWNjb3JkaW5nIHRvIEJCaiBydWxlc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBudW1iZXIgdGhlIG51bWJlciB0byBmb3JtYXRcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWFzayB0aGUgbWFzayB0byB1c2UgZm9yIGZvcm1hdHRpbmdcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZ3JvdXBpbmdTZXBhcmF0b3IgYSBjaGFyIHdoaWNoIHdpbGwgYmUgdXNlZCBhcyBhIGdyb3VwaW5nIHNlcGFyYXRvclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkZWNpbWFsU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBtYXNrZWQgbnVtYmVyXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG1hc2sobnVtYmVyLCBfbWFzaykge1xuICAgICAgdmFyIGdyb3VwaW5nU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiAnLCc7XG4gICAgICB2YXIgZGVjaW1hbFNlcGFyYXRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJy4nO1xuICAgICAgdmFyIG1hc2tMZW5ndGggPSBfbWFzay5sZW5ndGg7XG4gICAgICBpZiAoMCA9PT0gbWFza0xlbmd0aCkgcmV0dXJuIG51bWJlcjsgLy8gR2V0IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE1BU0tcblxuICAgICAgdmFyIG1hc2tCZWZvcmVEZWNpbWFsID0gMDtcbiAgICAgIHZhciBtYXNrQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgIHZhciBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXNrTGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIG0gPSBfbWFzay5jaGFyQXQoaSk7XG5cbiAgICAgICAgaWYgKG0gPT0gJzAnIHx8IG0gPT0gJyMnKSB7XG4gICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgKyttYXNrQWZ0ZXJEZWNpbWFsO2Vsc2UgKyttYXNrQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgfSBlbHNlIGlmIChtID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIG51bSA9IE51bWJlck1hc2suX3JvdW5kKG51bWJlciwgbWFza0FmdGVyRGVjaW1hbCk7XG5cbiAgICAgIHZhciBkaWdpdHMgPSBOdW1iZXJNYXNrLl90b0NoYXJBcnJheShudW0pOyAvLyBHZXQgbWFnbml0dWRlIGFuZCBwcmVjaXNpb24gb2YgTlVNQkVSXG5cblxuICAgICAgdmFyIG51bUxlbiA9IGRpZ2l0cy5sZW5ndGg7XG4gICAgICB2YXIgbnVtQmVmb3JlRGVjaW1hbCA9IDA7XG4gICAgICB2YXIgbnVtQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgIGZvdW5kRGVjaW1hbCA9IGZhbHNlO1xuXG4gICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbnVtTGVuOyBfaSsrKSB7XG4gICAgICAgIGlmIChkaWdpdHNbX2ldID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtlbHNlIHtcbiAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSArK251bUFmdGVyRGVjaW1hbDtlbHNlICsrbnVtQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgfVxuICAgICAgfSAvLyBhbHdheXMgaWdub3JlIG1hc2sgb3ZlcmZsb3dcblxuXG4gICAgICBpZiAobnVtQmVmb3JlRGVjaW1hbCA+IG1hc2tCZWZvcmVEZWNpbWFsKSByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCk7IC8vIHJvdW5kIGlmIG1hc2sgaXMgZm9yIGEgbG93ZXIgcHJlY2lzaW9uIG51bWJlclxuXG4gICAgICBpZiAobnVtQWZ0ZXJEZWNpbWFsID4gbWFza0FmdGVyRGVjaW1hbCkge1xuICAgICAgICBudW0gPSBOdW1iZXJNYXNrLl9yb3VuZChudW0sIG1hc2tBZnRlckRlY2ltYWwpO1xuICAgICAgICBkaWdpdHMgPSBOdW1iZXJNYXNrLl90b0NoYXJBcnJheShudW0pO1xuICAgICAgICBudW1MZW4gPSBkaWdpdHMubGVuZ3RoOyAvLyBHZXQgbmV3IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE5VTUJFUlxuXG4gICAgICAgIG51bUJlZm9yZURlY2ltYWwgPSAwO1xuICAgICAgICBudW1BZnRlckRlY2ltYWwgPSAwO1xuICAgICAgICBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgICBmb3IgKHZhciBfaTIgPSAwOyBfaTIgPCBudW1MZW47IF9pMisrKSB7XG4gICAgICAgICAgaWYgKGRpZ2l0c1tfaTJdID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtlbHNlIHtcbiAgICAgICAgICAgIGlmIChmb3VuZERlY2ltYWwpICsrbnVtQWZ0ZXJEZWNpbWFsO2Vsc2UgKytudW1CZWZvcmVEZWNpbWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBhbHdheXMgaWdub3JlIG1hc2sgb3ZlcmZsb3dcblxuXG4gICAgICAgIGlmIChudW1CZWZvcmVEZWNpbWFsID4gbWFza0JlZm9yZURlY2ltYWwpIHtcbiAgICAgICAgICByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGlzTmVnYXRpdmUgPSBOdW1iZXJNYXNrLl9nZXRTaWduKG51bSkgPT09IC0xO1xuICAgICAgdmFyIGVtaXREZWNpbWFsID0gbnVtTGVuID4gMCB8fCBfbWFzay5pbmRleE9mKCcwJykgPj0gMDtcbiAgICAgIHZhciBmb3VuZFplcm8gPSBmYWxzZTtcbiAgICAgIHZhciBjdXJyZW5jeSA9IGZhbHNlO1xuICAgICAgdmFyIGJ1ZmZlciA9ICcnO1xuICAgICAgZm91bmREZWNpbWFsID0gZmFsc2U7XG5cbiAgICAgIGZvciAodmFyIG51bVBvcyA9IDAsIG1hc2tQb3MgPSAwOyBtYXNrUG9zIDwgbWFza0xlbmd0aDsgbWFza1BvcysrKSB7XG4gICAgICAgIHZhciBfbSA9IF9tYXNrLmNoYXJBdChtYXNrUG9zKTtcblxuICAgICAgICBzd2l0Y2ggKF9tKSB7XG4gICAgICAgICAgY2FzZSAnMCc6XG4gICAgICAgICAgICAtLW1hc2tCZWZvcmVEZWNpbWFsO1xuXG4gICAgICAgICAgICBpZiAobWFza0JlZm9yZURlY2ltYWwgPCBudW1CZWZvcmVEZWNpbWFsICYmIG51bVBvcyA8IG51bUxlbikge1xuICAgICAgICAgICAgICBidWZmZXIgKz0gZGlnaXRzW251bVBvc107XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9ICcwJztcbiAgICAgICAgICAgICAgZm91bmRaZXJvID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgIC0tbWFza0JlZm9yZURlY2ltYWw7XG5cbiAgICAgICAgICAgIGlmIChtYXNrQmVmb3JlRGVjaW1hbCA8IG51bUJlZm9yZURlY2ltYWwgJiYgbnVtUG9zIDwgbnVtTGVuKSB7XG4gICAgICAgICAgICAgIGJ1ZmZlciArPSBkaWdpdHNbbnVtUG9zXTtcbiAgICAgICAgICAgICAgKytudW1Qb3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSBidWZmZXIgKz0gJzAnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJywnOlxuICAgICAgICAgICAgaWYgKGZvdW5kWmVybyB8fCBudW1Qb3MgPiAwKSBidWZmZXIgKz0gZ3JvdXBpbmdTZXBhcmF0b3I7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJy0nOlxuICAgICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgIGNhc2UgJyknOlxuICAgICAgICAgICAgaWYgKGlzTmVnYXRpdmUpIGJ1ZmZlciArPSBfbTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnKyc6XG4gICAgICAgICAgICBidWZmZXIgKz0gaXNOZWdhdGl2ZSA/ICctJyA6ICcrJztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnLic6XG4gICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSBidWZmZXIgKz0gX207ZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChlbWl0RGVjaW1hbCkgYnVmZmVyICs9IGRlY2ltYWxTZXBhcmF0b3I7XG4gICAgICAgICAgICAgIGZvdW5kRGVjaW1hbCA9IHRydWU7XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdDJzpcbiAgICAgICAgICAgIGlmIChtYXNrUG9zIDwgbWFza0xlbmd0aCAtIDEgJiYgX21hc2suY2hhckF0KG1hc2tQb3MgKyAxKSA9PSAnUicpIHtcbiAgICAgICAgICAgICAgaWYgKGlzTmVnYXRpdmUpIGJ1ZmZlciArPSAnQ1InO1xuICAgICAgICAgICAgICArK21hc2tQb3M7XG4gICAgICAgICAgICB9IGVsc2UgYnVmZmVyICs9IF9tO1xuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ0QnOlxuICAgICAgICAgICAgaWYgKG1hc2tQb3MgPCBtYXNrTGVuZ3RoIC0gMSAmJiBwX21hc2suY2hhckF0KG1hc2tQb3MgKyAxKSA9PSAnUicpIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9IGlzTmVnYXRpdmUgPyBcIkNSXCIgOiBcIkRSXCI7XG4gICAgICAgICAgICAgICsrbWFza1BvcztcbiAgICAgICAgICAgIH0gZWxzZSBidWZmZXIgKz0gX207XG5cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnQic6XG4gICAgICAgICAgICBidWZmZXIgKz0gJyAnO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnVmZmVyICs9IF9tO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJ1ZmZlcjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX3NoaWZ0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9zaGlmdChudW1iZXIsIHByZWNpc2lvbiwgcmV2ZXJzZVNoaWZ0KSB7XG4gICAgICBpZiAocmV2ZXJzZVNoaWZ0KSBwcmVjaXNpb24gPSAtcHJlY2lzaW9uO1xuICAgICAgdmFyIG51bUFycmF5ID0gKFwiXCIgKyBudW1iZXIpLnNwbGl0KFwiZVwiKTtcbiAgICAgIHJldHVybiArKG51bUFycmF5WzBdICsgXCJlXCIgKyAobnVtQXJyYXlbMV0gPyArbnVtQXJyYXlbMV0gKyBwcmVjaXNpb24gOiBwcmVjaXNpb24pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX3JvdW5kXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9yb3VuZChudW1iZXIsIHByZWNpc2lvbikge1xuICAgICAgcmV0dXJuIE51bWJlck1hc2suX3NoaWZ0KE1hdGgucm91bmQoTnVtYmVyTWFzay5fc2hpZnQobnVtYmVyLCBwcmVjaXNpb24sIGZhbHNlKSksIHByZWNpc2lvbiwgdHJ1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIl90b0NoYXJBcnJheVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfdG9DaGFyQXJyYXkobnVtYmVyKSB7XG4gICAgICB2YXIgc2lnbnVtID0gTnVtYmVyTWFzay5fZ2V0U2lnbihudW1iZXIpO1xuXG4gICAgICB2YXIgY2hhcnMgPSBbXTtcblxuICAgICAgaWYgKHNpZ251bSAhPT0gMCkge1xuICAgICAgICB2YXIgc3RyaW5nID0gc2lnbnVtIDwgMCA/IFwiXCIuY29uY2F0KC0xICogbnVtYmVyLnRvU3RyaW5nKCkpIDogbnVtYmVyLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChzdHJpbmcubGVuZ3RoID4gMSAmJiBzdHJpbmcuY2hhckF0KDApID09ICcwJykgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZygxKTsgLy8gVGhlIHN0cmluZyBjb250YWlucyBvbmx5IFswLTldIGFuZCAnLidcblxuICAgICAgICBjaGFycyA9IHN0cmluZy5zcGxpdCgnJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc2lnbiBvZiBhIG51bWJlclxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSB4IG51bWJlclxuICAgICAqIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgc2lnbiBvZiB0aGUgZ2l2ZW4gYXJndW1lbnQuIFxuICAgICAqICAgICAgICAgICAgICAgICAgIElmIHRoZSBhcmd1bWVudCBpcyBhIHBvc2l0aXZlIG51bWJlciwgbmVnYXRpdmUgbnVtYmVyLCBwb3NpdGl2ZSB6ZXJvIFxuICAgICAqICAgICAgICAgICAgICAgICAgIG9yIG5lZ2F0aXZlIHplcm8sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiAxLCAtMSwgMCBvciAtMCByZXNwZWN0aXZlbHkuXG4gICAgICogICAgICAgICAgICAgICAgICAgT3RoZXJ3aXNlLCBOYU4gaXMgcmV0dXJuZWQuXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfZ2V0U2lnblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0U2lnbih4KSB7XG4gICAgICByZXR1cm4gKHggPiAwKSAtICh4IDwgMCkgfHwgK3g7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIE51bWJlck1hc2s7XG59KCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IE51bWJlck1hc2s7XG5cbi8qKiovIH0pLFxuLyogMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGF0ZU1hc2tcIiwge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gX0RhdGVNYXNrLmRlZmF1bHQ7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTnVtYmVyTWFza1wiLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfTnVtYmVyTWFzay5kZWZhdWx0O1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlR5cGVzXCIsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIF9UeXBlcy5kZWZhdWx0O1xuICB9XG59KTtcblxudmFyIF9EYXRlTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygwKSk7XG5cbnZhciBfTnVtYmVyTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygxKSk7XG5cbnZhciBfVHlwZXMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMykpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG4vKioqLyB9KSxcbi8qIDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9OdW1iZXJNYXNrID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKTtcblxudmFyIF9EYXRlTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygwKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLyoqIFxuICogVHlwZXNcbiAqIFxuICogSGFuZGxlIEJCaiBtYXNraW5nIFxuICogXG4gKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBUeXBlcyA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFR5cGVzKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUeXBlcyk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVHlwZXMsIG51bGwsIFt7XG4gICAga2V5OiBcIm51bWJlclwiLFxuXG4gICAgLyoqXG4gICAgICogTWFzayBhIG51bWJlciBhY2NvcmRpbmcgdG8gYmJqIG1hc2tpbmcgcnVsZXMgXG4gICAgICogXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG51bWJlciB0aGUgbnVtYmVyIHRvIGZvcm1hdFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtYXNrIHRoZSBtYXNrIHRvIHVzZSBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZ3JvdXBpbmdTZXBhcmF0b3IgYSBjaGFyIHdoaWNoIHdpbGwgYmUgdXNlZCBhcyBhIGdyb3VwaW5nIHNlcGFyYXRvclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkZWNpbWFsU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gbnVtYmVyIG1hc2tlZCB3aXRoIHRoZSBnaXZlbiBtYXNrXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG51bWJlcihfbnVtYmVyLCBtYXNrKSB7XG4gICAgICB2YXIgZ3JvdXBpbmdTZXBhcmF0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6ICcsJztcbiAgICAgIHZhciBkZWNpbWFsU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiAnLic7XG4gICAgICByZXR1cm4gX051bWJlck1hc2suZGVmYXVsdC5tYXNrKF9udW1iZXIsIG1hc2ssIGdyb3VwaW5nU2VwYXJhdG9yLCBkZWNpbWFsU2VwYXJhdG9yKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTWFzayBhIGRhdGUgYWNjb3JkaW5nIHRvIGJiaiBtYXNraW5nIHJ1bGVzIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBudW1iZXIgdGhlIGRhdGUgdG8gZm9ybWF0XG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgdGhlIG1hc2sgdG8gdXNlIFxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gbnVtYmVyIG1hc2tlZCB3aXRoIHRoZSBnaXZlbiBtYXNrXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRhdGUoX2RhdGUsIG1hc2spIHtcbiAgICAgIHJldHVybiBfRGF0ZU1hc2suZGVmYXVsdC5tYXNrKF9kYXRlLCBtYXNrKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gVHlwZXM7XG59KCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IFR5cGVzO1xuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJiai1tYXNrcy5qcy5tYXBcblxuLyoqKi8gfSksXG4vKiAyOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vKiBmbGF0cGlja3IgdjQuNS4wLCBAbGljZW5zZSBNSVQgKi9cbihmdW5jdGlvbiAoZ2xvYmFsLCBmYWN0b3J5KSB7XG4gICAgIHRydWUgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKSA6XG4gICAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDpcbiAgICAoZ2xvYmFsLmZsYXRwaWNrciA9IGZhY3RvcnkoKSk7XG59KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JztcblxuICAgIHZhciBwYWQgPSBmdW5jdGlvbiBwYWQobnVtYmVyKSB7XG4gICAgICByZXR1cm4gKFwiMFwiICsgbnVtYmVyKS5zbGljZSgtMik7XG4gICAgfTtcbiAgICB2YXIgaW50ID0gZnVuY3Rpb24gaW50KGJvb2wpIHtcbiAgICAgIHJldHVybiBib29sID09PSB0cnVlID8gMSA6IDA7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBpbW1lZGlhdGUpIHtcbiAgICAgIGlmIChpbW1lZGlhdGUgPT09IHZvaWQgMCkge1xuICAgICAgICBpbW1lZGlhdGUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdmFyIHRpbWVvdXQ7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMsXG4gICAgICAgICAgICBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgICB0aW1lb3V0ICE9PSBudWxsICYmIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB0aW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgfSwgd2FpdCk7XG4gICAgICAgIGlmIChpbW1lZGlhdGUgJiYgIXRpbWVvdXQpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICB9O1xuICAgIH1cbiAgICB2YXIgYXJyYXlpZnkgPSBmdW5jdGlvbiBhcnJheWlmeShvYmopIHtcbiAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBBcnJheSA/IG9iaiA6IFtvYmpdO1xuICAgIH07XG5cbiAgICB2YXIgZG9fbm90aGluZyA9IGZ1bmN0aW9uIGRvX25vdGhpbmcoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICB2YXIgbW9udGhUb1N0ciA9IGZ1bmN0aW9uIG1vbnRoVG9TdHIobW9udGhOdW1iZXIsIHNob3J0aGFuZCwgbG9jYWxlKSB7XG4gICAgICByZXR1cm4gbG9jYWxlLm1vbnRoc1tzaG9ydGhhbmQgPyBcInNob3J0aGFuZFwiIDogXCJsb25naGFuZFwiXVttb250aE51bWJlcl07XG4gICAgfTtcbiAgICB2YXIgcmV2Rm9ybWF0ID0ge1xuICAgICAgRDogZG9fbm90aGluZyxcbiAgICAgIEY6IGZ1bmN0aW9uIEYoZGF0ZU9iaiwgbW9udGhOYW1lLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNb250aChsb2NhbGUubW9udGhzLmxvbmdoYW5kLmluZGV4T2YobW9udGhOYW1lKSk7XG4gICAgICB9LFxuICAgICAgRzogZnVuY3Rpb24gRyhkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgSDogZnVuY3Rpb24gSChkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgSjogZnVuY3Rpb24gSihkYXRlT2JqLCBkYXkpIHtcbiAgICAgICAgZGF0ZU9iai5zZXREYXRlKHBhcnNlRmxvYXQoZGF5KSk7XG4gICAgICB9LFxuICAgICAgSzogZnVuY3Rpb24gSyhkYXRlT2JqLCBhbVBNLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRIb3VycyhkYXRlT2JqLmdldEhvdXJzKCkgJSAxMiArIDEyICogaW50KG5ldyBSZWdFeHAobG9jYWxlLmFtUE1bMV0sIFwiaVwiKS50ZXN0KGFtUE0pKSk7XG4gICAgICB9LFxuICAgICAgTTogZnVuY3Rpb24gTShkYXRlT2JqLCBzaG9ydE1vbnRoLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNb250aChsb2NhbGUubW9udGhzLnNob3J0aGFuZC5pbmRleE9mKHNob3J0TW9udGgpKTtcbiAgICAgIH0sXG4gICAgICBTOiBmdW5jdGlvbiBTKGRhdGVPYmosIHNlY29uZHMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRTZWNvbmRzKHBhcnNlRmxvYXQoc2Vjb25kcykpO1xuICAgICAgfSxcbiAgICAgIFU6IGZ1bmN0aW9uIFUoXywgdW5peFNlY29uZHMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHBhcnNlRmxvYXQodW5peFNlY29uZHMpICogMTAwMCk7XG4gICAgICB9LFxuICAgICAgVzogZnVuY3Rpb24gVyhkYXRlT2JqLCB3ZWVrTnVtKSB7XG4gICAgICAgIHZhciB3ZWVrTnVtYmVyID0gcGFyc2VJbnQod2Vla051bSk7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlT2JqLmdldEZ1bGxZZWFyKCksIDAsIDIgKyAod2Vla051bWJlciAtIDEpICogNywgMCwgMCwgMCwgMCk7XG4gICAgICB9LFxuICAgICAgWTogZnVuY3Rpb24gWShkYXRlT2JqLCB5ZWFyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0RnVsbFllYXIocGFyc2VGbG9hdCh5ZWFyKSk7XG4gICAgICB9LFxuICAgICAgWjogZnVuY3Rpb24gWihfLCBJU09EYXRlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShJU09EYXRlKTtcbiAgICAgIH0sXG4gICAgICBkOiBmdW5jdGlvbiBkKGRhdGVPYmosIGRheSkge1xuICAgICAgICBkYXRlT2JqLnNldERhdGUocGFyc2VGbG9hdChkYXkpKTtcbiAgICAgIH0sXG4gICAgICBoOiBmdW5jdGlvbiBoKGRhdGVPYmosIGhvdXIpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRIb3VycyhwYXJzZUZsb2F0KGhvdXIpKTtcbiAgICAgIH0sXG4gICAgICBpOiBmdW5jdGlvbiBpKGRhdGVPYmosIG1pbnV0ZXMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNaW51dGVzKHBhcnNlRmxvYXQobWludXRlcykpO1xuICAgICAgfSxcbiAgICAgIGo6IGZ1bmN0aW9uIGooZGF0ZU9iaiwgZGF5KSB7XG4gICAgICAgIGRhdGVPYmouc2V0RGF0ZShwYXJzZUZsb2F0KGRheSkpO1xuICAgICAgfSxcbiAgICAgIGw6IGRvX25vdGhpbmcsXG4gICAgICBtOiBmdW5jdGlvbiBtKGRhdGVPYmosIG1vbnRoKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgocGFyc2VGbG9hdChtb250aCkgLSAxKTtcbiAgICAgIH0sXG4gICAgICBuOiBmdW5jdGlvbiBuKGRhdGVPYmosIG1vbnRoKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgocGFyc2VGbG9hdChtb250aCkgLSAxKTtcbiAgICAgIH0sXG4gICAgICBzOiBmdW5jdGlvbiBzKGRhdGVPYmosIHNlY29uZHMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRTZWNvbmRzKHBhcnNlRmxvYXQoc2Vjb25kcykpO1xuICAgICAgfSxcbiAgICAgIHc6IGRvX25vdGhpbmcsXG4gICAgICB5OiBmdW5jdGlvbiB5KGRhdGVPYmosIHllYXIpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRGdWxsWWVhcigyMDAwICsgcGFyc2VGbG9hdCh5ZWFyKSk7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgdG9rZW5SZWdleCA9IHtcbiAgICAgIEQ6IFwiKFxcXFx3KylcIixcbiAgICAgIEY6IFwiKFxcXFx3KylcIixcbiAgICAgIEc6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBIOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgSjogXCIoXFxcXGRcXFxcZHxcXFxcZClcXFxcdytcIixcbiAgICAgIEs6IFwiXCIsXG4gICAgICBNOiBcIihcXFxcdyspXCIsXG4gICAgICBTOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgVTogXCIoLispXCIsXG4gICAgICBXOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgWTogXCIoXFxcXGR7NH0pXCIsXG4gICAgICBaOiBcIiguKylcIixcbiAgICAgIGQ6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBoOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgaTogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIGo6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBsOiBcIihcXFxcdyspXCIsXG4gICAgICBtOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgbjogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIHM6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICB3OiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgeTogXCIoXFxcXGR7Mn0pXCJcbiAgICB9O1xuICAgIHZhciBmb3JtYXRzID0ge1xuICAgICAgWjogZnVuY3Rpb24gWihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9LFxuICAgICAgRDogZnVuY3Rpb24gRChkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5cy5zaG9ydGhhbmRbZm9ybWF0cy53KGRhdGUsIGxvY2FsZSwgb3B0aW9ucyldO1xuICAgICAgfSxcbiAgICAgIEY6IGZ1bmN0aW9uIEYoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBtb250aFRvU3RyKGZvcm1hdHMubihkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIC0gMSwgZmFsc2UsIGxvY2FsZSk7XG4gICAgICB9LFxuICAgICAgRzogZnVuY3Rpb24gRyhkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHBhZChmb3JtYXRzLmgoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSk7XG4gICAgICB9LFxuICAgICAgSDogZnVuY3Rpb24gSChkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRIb3VycygpKTtcbiAgICAgIH0sXG4gICAgICBKOiBmdW5jdGlvbiBKKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbG9jYWxlLm9yZGluYWwgIT09IHVuZGVmaW5lZCA/IGRhdGUuZ2V0RGF0ZSgpICsgbG9jYWxlLm9yZGluYWwoZGF0ZS5nZXREYXRlKCkpIDogZGF0ZS5nZXREYXRlKCk7XG4gICAgICB9LFxuICAgICAgSzogZnVuY3Rpb24gSyhkYXRlLCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5hbVBNW2ludChkYXRlLmdldEhvdXJzKCkgPiAxMSldO1xuICAgICAgfSxcbiAgICAgIE06IGZ1bmN0aW9uIE0oZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBtb250aFRvU3RyKGRhdGUuZ2V0TW9udGgoKSwgdHJ1ZSwgbG9jYWxlKTtcbiAgICAgIH0sXG4gICAgICBTOiBmdW5jdGlvbiBTKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIHBhZChkYXRlLmdldFNlY29uZHMoKSk7XG4gICAgICB9LFxuICAgICAgVTogZnVuY3Rpb24gVShkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldFRpbWUoKSAvIDEwMDA7XG4gICAgICB9LFxuICAgICAgVzogZnVuY3Rpb24gVyhkYXRlLCBfLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmdldFdlZWsoZGF0ZSk7XG4gICAgICB9LFxuICAgICAgWTogZnVuY3Rpb24gWShkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICB9LFxuICAgICAgZDogZnVuY3Rpb24gZChkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXREYXRlKCkpO1xuICAgICAgfSxcbiAgICAgIGg6IGZ1bmN0aW9uIGgoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRIb3VycygpICUgMTIgPyBkYXRlLmdldEhvdXJzKCkgJSAxMiA6IDEyO1xuICAgICAgfSxcbiAgICAgIGk6IGZ1bmN0aW9uIGkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0TWludXRlcygpKTtcbiAgICAgIH0sXG4gICAgICBqOiBmdW5jdGlvbiBqKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICAgICAgfSxcbiAgICAgIGw6IGZ1bmN0aW9uIGwoZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUud2Vla2RheXMubG9uZ2hhbmRbZGF0ZS5nZXREYXkoKV07XG4gICAgICB9LFxuICAgICAgbTogZnVuY3Rpb24gbShkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRNb250aCgpICsgMSk7XG4gICAgICB9LFxuICAgICAgbjogZnVuY3Rpb24gbihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgICAgfSxcbiAgICAgIHM6IGZ1bmN0aW9uIHMoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRTZWNvbmRzKCk7XG4gICAgICB9LFxuICAgICAgdzogZnVuY3Rpb24gdyhkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldERheSgpO1xuICAgICAgfSxcbiAgICAgIHk6IGZ1bmN0aW9uIHkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKGRhdGUuZ2V0RnVsbFllYXIoKSkuc3Vic3RyaW5nKDIpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgZW5nbGlzaCA9IHtcbiAgICAgIHdlZWtkYXlzOiB7XG4gICAgICAgIHNob3J0aGFuZDogW1wiU3VuXCIsIFwiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCJdLFxuICAgICAgICBsb25naGFuZDogW1wiU3VuZGF5XCIsIFwiTW9uZGF5XCIsIFwiVHVlc2RheVwiLCBcIldlZG5lc2RheVwiLCBcIlRodXJzZGF5XCIsIFwiRnJpZGF5XCIsIFwiU2F0dXJkYXlcIl1cbiAgICAgIH0sXG4gICAgICBtb250aHM6IHtcbiAgICAgICAgc2hvcnRoYW5kOiBbXCJKYW5cIiwgXCJGZWJcIiwgXCJNYXJcIiwgXCJBcHJcIiwgXCJNYXlcIiwgXCJKdW5cIiwgXCJKdWxcIiwgXCJBdWdcIiwgXCJTZXBcIiwgXCJPY3RcIiwgXCJOb3ZcIiwgXCJEZWNcIl0sXG4gICAgICAgIGxvbmdoYW5kOiBbXCJKYW51YXJ5XCIsIFwiRmVicnVhcnlcIiwgXCJNYXJjaFwiLCBcIkFwcmlsXCIsIFwiTWF5XCIsIFwiSnVuZVwiLCBcIkp1bHlcIiwgXCJBdWd1c3RcIiwgXCJTZXB0ZW1iZXJcIiwgXCJPY3RvYmVyXCIsIFwiTm92ZW1iZXJcIiwgXCJEZWNlbWJlclwiXVxuICAgICAgfSxcbiAgICAgIGRheXNJbk1vbnRoOiBbMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV0sXG4gICAgICBmaXJzdERheU9mV2VlazogMCxcbiAgICAgIG9yZGluYWw6IGZ1bmN0aW9uIG9yZGluYWwobnRoKSB7XG4gICAgICAgIHZhciBzID0gbnRoICUgMTAwO1xuICAgICAgICBpZiAocyA+IDMgJiYgcyA8IDIxKSByZXR1cm4gXCJ0aFwiO1xuXG4gICAgICAgIHN3aXRjaCAocyAlIDEwKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgcmV0dXJuIFwic3RcIjtcblxuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIHJldHVybiBcIm5kXCI7XG5cbiAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICByZXR1cm4gXCJyZFwiO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBcInRoXCI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByYW5nZVNlcGFyYXRvcjogXCIgdG8gXCIsXG4gICAgICB3ZWVrQWJicmV2aWF0aW9uOiBcIldrXCIsXG4gICAgICBzY3JvbGxUaXRsZTogXCJTY3JvbGwgdG8gaW5jcmVtZW50XCIsXG4gICAgICB0b2dnbGVUaXRsZTogXCJDbGljayB0byB0b2dnbGVcIixcbiAgICAgIGFtUE06IFtcIkFNXCIsIFwiUE1cIl0sXG4gICAgICB5ZWFyQXJpYUxhYmVsOiBcIlllYXJcIlxuICAgIH07XG5cbiAgICB2YXIgY3JlYXRlRGF0ZUZvcm1hdHRlciA9IGZ1bmN0aW9uIGNyZWF0ZURhdGVGb3JtYXR0ZXIoX3JlZikge1xuICAgICAgdmFyIF9yZWYkY29uZmlnID0gX3JlZi5jb25maWcsXG4gICAgICAgICAgY29uZmlnID0gX3JlZiRjb25maWcgPT09IHZvaWQgMCA/IGRlZmF1bHRzIDogX3JlZiRjb25maWcsXG4gICAgICAgICAgX3JlZiRsMTBuID0gX3JlZi5sMTBuLFxuICAgICAgICAgIGwxMG4gPSBfcmVmJGwxMG4gPT09IHZvaWQgMCA/IGVuZ2xpc2ggOiBfcmVmJGwxMG47XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGVPYmosIGZybXQsIG92ZXJyaWRlTG9jYWxlKSB7XG4gICAgICAgIGlmIChjb25maWcuZm9ybWF0RGF0ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gY29uZmlnLmZvcm1hdERhdGUoZGF0ZU9iaiwgZnJtdCk7XG4gICAgICAgIHZhciBsb2NhbGUgPSBvdmVycmlkZUxvY2FsZSB8fCBsMTBuO1xuICAgICAgICByZXR1cm4gZnJtdC5zcGxpdChcIlwiKS5tYXAoZnVuY3Rpb24gKGMsIGksIGFycikge1xuICAgICAgICAgIHJldHVybiBmb3JtYXRzW2NdICYmIGFycltpIC0gMV0gIT09IFwiXFxcXFwiID8gZm9ybWF0c1tjXShkYXRlT2JqLCBsb2NhbGUsIGNvbmZpZykgOiBjICE9PSBcIlxcXFxcIiA/IGMgOiBcIlwiO1xuICAgICAgICB9KS5qb2luKFwiXCIpO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHZhciBjcmVhdGVEYXRlUGFyc2VyID0gZnVuY3Rpb24gY3JlYXRlRGF0ZVBhcnNlcihfcmVmMikge1xuICAgICAgdmFyIF9yZWYyJGNvbmZpZyA9IF9yZWYyLmNvbmZpZyxcbiAgICAgICAgICBjb25maWcgPSBfcmVmMiRjb25maWcgPT09IHZvaWQgMCA/IGRlZmF1bHRzIDogX3JlZjIkY29uZmlnLFxuICAgICAgICAgIF9yZWYyJGwxMG4gPSBfcmVmMi5sMTBuLFxuICAgICAgICAgIGwxMG4gPSBfcmVmMiRsMTBuID09PSB2b2lkIDAgPyBlbmdsaXNoIDogX3JlZjIkbDEwbjtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoZGF0ZSwgZ2l2ZW5Gb3JtYXQsIHRpbWVsZXNzKSB7XG4gICAgICAgIGlmIChkYXRlICE9PSAwICYmICFkYXRlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB2YXIgcGFyc2VkRGF0ZTtcbiAgICAgICAgdmFyIGRhdGVfb3JpZyA9IGRhdGU7XG4gICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTtlbHNlIGlmICh0eXBlb2YgZGF0ZSAhPT0gXCJzdHJpbmdcIiAmJiBkYXRlLnRvRml4ZWQgIT09IHVuZGVmaW5lZCkgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO2Vsc2UgaWYgKHR5cGVvZiBkYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgdmFyIGZvcm1hdCA9IGdpdmVuRm9ybWF0IHx8IChjb25maWcgfHwgZGVmYXVsdHMpLmRhdGVGb3JtYXQ7XG4gICAgICAgICAgdmFyIGRhdGVzdHIgPSBTdHJpbmcoZGF0ZSkudHJpbSgpO1xuXG4gICAgICAgICAgaWYgKGRhdGVzdHIgPT09IFwidG9kYXlcIikge1xuICAgICAgICAgICAgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICB0aW1lbGVzcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgvWiQvLnRlc3QoZGF0ZXN0cikgfHwgL0dNVCQvLnRlc3QoZGF0ZXN0cikpIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlKTtlbHNlIGlmIChjb25maWcgJiYgY29uZmlnLnBhcnNlRGF0ZSkgcGFyc2VkRGF0ZSA9IGNvbmZpZy5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtlbHNlIHtcbiAgICAgICAgICAgIHBhcnNlZERhdGUgPSAhY29uZmlnIHx8ICFjb25maWcubm9DYWxlbmRhciA/IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSwgMCwgMSwgMCwgMCwgMCwgMCkgOiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldEhvdXJzKDAsIDAsIDAsIDApKTtcbiAgICAgICAgICAgIHZhciBtYXRjaGVkLFxuICAgICAgICAgICAgICAgIG9wcyA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbWF0Y2hJbmRleCA9IDAsIHJlZ2V4U3RyID0gXCJcIjsgaSA8IGZvcm1hdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICB2YXIgdG9rZW4gPSBmb3JtYXRbaV07XG4gICAgICAgICAgICAgIHZhciBpc0JhY2tTbGFzaCA9IHRva2VuID09PSBcIlxcXFxcIjtcbiAgICAgICAgICAgICAgdmFyIGVzY2FwZWQgPSBmb3JtYXRbaSAtIDFdID09PSBcIlxcXFxcIiB8fCBpc0JhY2tTbGFzaDtcblxuICAgICAgICAgICAgICBpZiAodG9rZW5SZWdleFt0b2tlbl0gJiYgIWVzY2FwZWQpIHtcbiAgICAgICAgICAgICAgICByZWdleFN0ciArPSB0b2tlblJlZ2V4W3Rva2VuXTtcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2ggPSBuZXcgUmVnRXhwKHJlZ2V4U3RyKS5leGVjKGRhdGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoICYmIChtYXRjaGVkID0gdHJ1ZSkpIHtcbiAgICAgICAgICAgICAgICAgIG9wc1t0b2tlbiAhPT0gXCJZXCIgPyBcInB1c2hcIiA6IFwidW5zaGlmdFwiXSh7XG4gICAgICAgICAgICAgICAgICAgIGZuOiByZXZGb3JtYXRbdG9rZW5dLFxuICAgICAgICAgICAgICAgICAgICB2YWw6IG1hdGNoWysrbWF0Y2hJbmRleF1cbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNCYWNrU2xhc2gpIHJlZ2V4U3RyICs9IFwiLlwiO1xuXG4gICAgICAgICAgICAgIG9wcy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmMykge1xuICAgICAgICAgICAgICAgIHZhciBmbiA9IF9yZWYzLmZuLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPSBfcmVmMy52YWw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlZERhdGUgPSBmbihwYXJzZWREYXRlLCB2YWwsIGwxMG4pIHx8IHBhcnNlZERhdGU7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJzZWREYXRlID0gbWF0Y2hlZCA/IHBhcnNlZERhdGUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEocGFyc2VkRGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHBhcnNlZERhdGUuZ2V0VGltZSgpKSkpIHtcbiAgICAgICAgICBjb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcIkludmFsaWQgZGF0ZSBwcm92aWRlZDogXCIgKyBkYXRlX29yaWcpKTtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRpbWVsZXNzID09PSB0cnVlKSBwYXJzZWREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICByZXR1cm4gcGFyc2VkRGF0ZTtcbiAgICAgIH07XG4gICAgfTtcbiAgICBmdW5jdGlvbiBjb21wYXJlRGF0ZXMoZGF0ZTEsIGRhdGUyLCB0aW1lbGVzcykge1xuICAgICAgaWYgKHRpbWVsZXNzID09PSB2b2lkIDApIHtcbiAgICAgICAgdGltZWxlc3MgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGltZWxlc3MgIT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRUaW1lKCkpLnNldEhvdXJzKDAsIDAsIDAsIDApIC0gbmV3IERhdGUoZGF0ZTIuZ2V0VGltZSgpKS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRhdGUxLmdldFRpbWUoKSAtIGRhdGUyLmdldFRpbWUoKTtcbiAgICB9XG4gICAgdmFyIGdldFdlZWsgPSBmdW5jdGlvbiBnZXRXZWVrKGdpdmVuRGF0ZSkge1xuICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShnaXZlbkRhdGUuZ2V0VGltZSgpKTtcbiAgICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAzIC0gKGRhdGUuZ2V0RGF5KCkgKyA2KSAlIDcpO1xuICAgICAgdmFyIHdlZWsxID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCA0KTtcbiAgICAgIHJldHVybiAxICsgTWF0aC5yb3VuZCgoKGRhdGUuZ2V0VGltZSgpIC0gd2VlazEuZ2V0VGltZSgpKSAvIDg2NDAwMDAwIC0gMyArICh3ZWVrMS5nZXREYXkoKSArIDYpICUgNykgLyA3KTtcbiAgICB9O1xuICAgIHZhciBpc0JldHdlZW4gPSBmdW5jdGlvbiBpc0JldHdlZW4odHMsIHRzMSwgdHMyKSB7XG4gICAgICByZXR1cm4gdHMgPiBNYXRoLm1pbih0czEsIHRzMikgJiYgdHMgPCBNYXRoLm1heCh0czEsIHRzMik7XG4gICAgfTtcbiAgICB2YXIgZHVyYXRpb24gPSB7XG4gICAgICBEQVk6IDg2NDAwMDAwXG4gICAgfTtcblxuICAgIHZhciBkZWZhdWx0cyA9IHtcbiAgICAgIF9kaXNhYmxlOiBbXSxcbiAgICAgIF9lbmFibGU6IFtdLFxuICAgICAgYWxsb3dJbnB1dDogZmFsc2UsXG4gICAgICBhbHRGb3JtYXQ6IFwiRiBqLCBZXCIsXG4gICAgICBhbHRJbnB1dDogZmFsc2UsXG4gICAgICBhbHRJbnB1dENsYXNzOiBcImZvcm0tY29udHJvbCBpbnB1dFwiLFxuICAgICAgYW5pbWF0ZTogdHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIiAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiTVNJRVwiKSA9PT0gLTEsXG4gICAgICBhcmlhRGF0ZUZvcm1hdDogXCJGIGosIFlcIixcbiAgICAgIGNsaWNrT3BlbnM6IHRydWUsXG4gICAgICBjbG9zZU9uU2VsZWN0OiB0cnVlLFxuICAgICAgY29uanVuY3Rpb246IFwiLCBcIixcbiAgICAgIGRhdGVGb3JtYXQ6IFwiWS1tLWRcIixcbiAgICAgIGRlZmF1bHRIb3VyOiAxMixcbiAgICAgIGRlZmF1bHRNaW51dGU6IDAsXG4gICAgICBkZWZhdWx0U2Vjb25kczogMCxcbiAgICAgIGRpc2FibGU6IFtdLFxuICAgICAgZGlzYWJsZU1vYmlsZTogZmFsc2UsXG4gICAgICBlbmFibGU6IFtdLFxuICAgICAgZW5hYmxlU2Vjb25kczogZmFsc2UsXG4gICAgICBlbmFibGVUaW1lOiBmYWxzZSxcbiAgICAgIGVycm9ySGFuZGxlcjogZnVuY3Rpb24gZXJyb3JIYW5kbGVyKGVycikge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGNvbnNvbGUgIT09IFwidW5kZWZpbmVkXCIgJiYgY29uc29sZS53YXJuKGVycik7XG4gICAgICB9LFxuICAgICAgZ2V0V2VlazogZ2V0V2VlayxcbiAgICAgIGhvdXJJbmNyZW1lbnQ6IDEsXG4gICAgICBpZ25vcmVkRm9jdXNFbGVtZW50czogW10sXG4gICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgbG9jYWxlOiBcImRlZmF1bHRcIixcbiAgICAgIG1pbnV0ZUluY3JlbWVudDogNSxcbiAgICAgIG1vZGU6IFwic2luZ2xlXCIsXG4gICAgICBuZXh0QXJyb3c6IFwiPHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHZpZXdCb3g9JzAgMCAxNyAxNyc+PGc+PC9nPjxwYXRoIGQ9J00xMy4yMDcgOC40NzJsLTcuODU0IDcuODU0LTAuNzA3LTAuNzA3IDcuMTQ2LTcuMTQ2LTcuMTQ2LTcuMTQ4IDAuNzA3LTAuNzA3IDcuODU0IDcuODU0eicgLz48L3N2Zz5cIixcbiAgICAgIG5vQ2FsZW5kYXI6IGZhbHNlLFxuICAgICAgbm93OiBuZXcgRGF0ZSgpLFxuICAgICAgb25DaGFuZ2U6IFtdLFxuICAgICAgb25DbG9zZTogW10sXG4gICAgICBvbkRheUNyZWF0ZTogW10sXG4gICAgICBvbkRlc3Ryb3k6IFtdLFxuICAgICAgb25LZXlEb3duOiBbXSxcbiAgICAgIG9uTW9udGhDaGFuZ2U6IFtdLFxuICAgICAgb25PcGVuOiBbXSxcbiAgICAgIG9uUGFyc2VDb25maWc6IFtdLFxuICAgICAgb25SZWFkeTogW10sXG4gICAgICBvblZhbHVlVXBkYXRlOiBbXSxcbiAgICAgIG9uWWVhckNoYW5nZTogW10sXG4gICAgICBvblByZUNhbGVuZGFyUG9zaXRpb246IFtdLFxuICAgICAgcGx1Z2luczogW10sXG4gICAgICBwb3NpdGlvbjogXCJhdXRvXCIsXG4gICAgICBwb3NpdGlvbkVsZW1lbnQ6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZBcnJvdzogXCI8c3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgdmlld0JveD0nMCAwIDE3IDE3Jz48Zz48L2c+PHBhdGggZD0nTTUuMjA3IDguNDcxbDcuMTQ2IDcuMTQ3LTAuNzA3IDAuNzA3LTcuODUzLTcuODU0IDcuODU0LTcuODUzIDAuNzA3IDAuNzA3LTcuMTQ3IDcuMTQ2eicgLz48L3N2Zz5cIixcbiAgICAgIHNob3J0aGFuZEN1cnJlbnRNb250aDogZmFsc2UsXG4gICAgICBzaG93TW9udGhzOiAxLFxuICAgICAgc3RhdGljOiBmYWxzZSxcbiAgICAgIHRpbWVfMjRocjogZmFsc2UsXG4gICAgICB3ZWVrTnVtYmVyczogZmFsc2UsXG4gICAgICB3cmFwOiBmYWxzZVxuICAgIH07XG5cbiAgICBmdW5jdGlvbiB0b2dnbGVDbGFzcyhlbGVtLCBjbGFzc05hbWUsIGJvb2wpIHtcbiAgICAgIGlmIChib29sID09PSB0cnVlKSByZXR1cm4gZWxlbS5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWcsIGNsYXNzTmFtZSwgY29udGVudCkge1xuICAgICAgdmFyIGUgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO1xuICAgICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lIHx8IFwiXCI7XG4gICAgICBjb250ZW50ID0gY29udGVudCB8fCBcIlwiO1xuICAgICAgZS5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSBlLnRleHRDb250ZW50ID0gY29udGVudDtcbiAgICAgIHJldHVybiBlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjbGVhck5vZGUobm9kZSkge1xuICAgICAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLnJlbW92ZUNoaWxkKG5vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpbmRQYXJlbnQobm9kZSwgY29uZGl0aW9uKSB7XG4gICAgICBpZiAoY29uZGl0aW9uKG5vZGUpKSByZXR1cm4gbm9kZTtlbHNlIGlmIChub2RlLnBhcmVudE5vZGUpIHJldHVybiBmaW5kUGFyZW50KG5vZGUucGFyZW50Tm9kZSwgY29uZGl0aW9uKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZU51bWJlcklucHV0KGlucHV0Q2xhc3NOYW1lLCBvcHRzKSB7XG4gICAgICB2YXIgd3JhcHBlciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJudW1JbnB1dFdyYXBwZXJcIiksXG4gICAgICAgICAgbnVtSW5wdXQgPSBjcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwgXCJudW1JbnB1dCBcIiArIGlucHV0Q2xhc3NOYW1lKSxcbiAgICAgICAgICBhcnJvd1VwID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJhcnJvd1VwXCIpLFxuICAgICAgICAgIGFycm93RG93biA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiYXJyb3dEb3duXCIpO1xuICAgICAgbnVtSW5wdXQudHlwZSA9IFwidGV4dFwiO1xuICAgICAgbnVtSW5wdXQucGF0dGVybiA9IFwiXFxcXGQqXCI7XG4gICAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSBmb3IgKHZhciBrZXkgaW4gb3B0cykge1xuICAgICAgICBudW1JbnB1dC5zZXRBdHRyaWJ1dGUoa2V5LCBvcHRzW2tleV0pO1xuICAgICAgfVxuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChudW1JbnB1dCk7XG4gICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKGFycm93VXApO1xuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChhcnJvd0Rvd24pO1xuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBPYmplY3QuYXNzaWduICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24gPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgdGhyb3cgVHlwZUVycm9yKFwiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoKSB7XG4gICAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3NbX2ldO1xuXG4gICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3MubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgX2xvb3AoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBERUJPVU5DRURfQ0hBTkdFX01TID0gMzAwO1xuXG4gICAgZnVuY3Rpb24gRmxhdHBpY2tySW5zdGFuY2UoZWxlbWVudCwgaW5zdGFuY2VDb25maWcpIHtcbiAgICAgIHZhciBzZWxmID0ge1xuICAgICAgICBjb25maWc6IE9iamVjdC5hc3NpZ24oe30sIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnKSxcbiAgICAgICAgbDEwbjogZW5nbGlzaFxuICAgICAgfTtcbiAgICAgIHNlbGYucGFyc2VEYXRlID0gY3JlYXRlRGF0ZVBhcnNlcih7XG4gICAgICAgIGNvbmZpZzogc2VsZi5jb25maWcsXG4gICAgICAgIGwxMG46IHNlbGYubDEwblxuICAgICAgfSk7XG4gICAgICBzZWxmLl9oYW5kbGVycyA9IFtdO1xuICAgICAgc2VsZi5fYmluZCA9IGJpbmQ7XG4gICAgICBzZWxmLl9zZXRIb3Vyc0Zyb21EYXRlID0gc2V0SG91cnNGcm9tRGF0ZTtcbiAgICAgIHNlbGYuX3Bvc2l0aW9uQ2FsZW5kYXIgPSBwb3NpdGlvbkNhbGVuZGFyO1xuICAgICAgc2VsZi5jaGFuZ2VNb250aCA9IGNoYW5nZU1vbnRoO1xuICAgICAgc2VsZi5jaGFuZ2VZZWFyID0gY2hhbmdlWWVhcjtcbiAgICAgIHNlbGYuY2xlYXIgPSBjbGVhcjtcbiAgICAgIHNlbGYuY2xvc2UgPSBjbG9zZTtcbiAgICAgIHNlbGYuX2NyZWF0ZUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50O1xuICAgICAgc2VsZi5kZXN0cm95ID0gZGVzdHJveTtcbiAgICAgIHNlbGYuaXNFbmFibGVkID0gaXNFbmFibGVkO1xuICAgICAgc2VsZi5qdW1wVG9EYXRlID0ganVtcFRvRGF0ZTtcbiAgICAgIHNlbGYub3BlbiA9IG9wZW47XG4gICAgICBzZWxmLnJlZHJhdyA9IHJlZHJhdztcbiAgICAgIHNlbGYuc2V0ID0gc2V0O1xuICAgICAgc2VsZi5zZXREYXRlID0gc2V0RGF0ZTtcbiAgICAgIHNlbGYudG9nZ2xlID0gdG9nZ2xlO1xuXG4gICAgICBmdW5jdGlvbiBzZXR1cEhlbHBlckZ1bmN0aW9ucygpIHtcbiAgICAgICAgc2VsZi51dGlscyA9IHtcbiAgICAgICAgICBnZXREYXlzSW5Nb250aDogZnVuY3Rpb24gZ2V0RGF5c0luTW9udGgobW9udGgsIHlyKSB7XG4gICAgICAgICAgICBpZiAobW9udGggPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICBtb250aCA9IHNlbGYuY3VycmVudE1vbnRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeXIgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICB5ciA9IHNlbGYuY3VycmVudFllYXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtb250aCA9PT0gMSAmJiAoeXIgJSA0ID09PSAwICYmIHlyICUgMTAwICE9PSAwIHx8IHlyICUgNDAwID09PSAwKSkgcmV0dXJuIDI5O1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYubDEwbi5kYXlzSW5Nb250aFttb250aF07XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICBzZWxmLmVsZW1lbnQgPSBzZWxmLmlucHV0ID0gZWxlbWVudDtcbiAgICAgICAgc2VsZi5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgcGFyc2VDb25maWcoKTtcbiAgICAgICAgc2V0dXBMb2NhbGUoKTtcbiAgICAgICAgc2V0dXBJbnB1dHMoKTtcbiAgICAgICAgc2V0dXBEYXRlcygpO1xuICAgICAgICBzZXR1cEhlbHBlckZ1bmN0aW9ucygpO1xuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUpIGJ1aWxkKCk7XG4gICAgICAgIGJpbmRFdmVudHMoKTtcblxuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCB8fCBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyKSB7XG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUpIHtcbiAgICAgICAgICAgIHNldEhvdXJzRnJvbURhdGUoc2VsZi5jb25maWcubm9DYWxlbmRhciA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqIHx8IHNlbGYuY29uZmlnLm1pbkRhdGUgOiB1bmRlZmluZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVZhbHVlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldENhbGVuZGFyV2lkdGgoKTtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDAgfHwgc2VsZi5jb25maWcubm9DYWxlbmRhcjtcbiAgICAgICAgdmFyIGlzU2FmYXJpID0gL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUgJiYgaXNTYWZhcmkpIHtcbiAgICAgICAgICBwb3NpdGlvbkNhbGVuZGFyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblJlYWR5XCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBiaW5kVG9JbnN0YW5jZShmbikge1xuICAgICAgICByZXR1cm4gZm4uYmluZChzZWxmKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0Q2FsZW5kYXJXaWR0aCgpIHtcbiAgICAgICAgdmFyIGNvbmZpZyA9IHNlbGYuY29uZmlnO1xuICAgICAgICBpZiAoY29uZmlnLndlZWtOdW1iZXJzID09PSBmYWxzZSAmJiBjb25maWcuc2hvd01vbnRocyA9PT0gMSkgcmV0dXJuO2Vsc2UgaWYgKGNvbmZpZy5ub0NhbGVuZGFyICE9PSB0cnVlKSB7XG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdmFyIGRheXNXaWR0aCA9IChzZWxmLmRheXMub2Zmc2V0V2lkdGggKyAxKSAqIGNvbmZpZy5zaG93TW9udGhzO1xuICAgICAgICAgICAgICBzZWxmLmRheXNDb250YWluZXIuc3R5bGUud2lkdGggPSBkYXlzV2lkdGggKyBcInB4XCI7XG4gICAgICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUud2lkdGggPSBkYXlzV2lkdGggKyAoc2VsZi53ZWVrV3JhcHBlciAhPT0gdW5kZWZpbmVkID8gc2VsZi53ZWVrV3JhcHBlci5vZmZzZXRXaWR0aCA6IDApICsgXCJweFwiO1xuICAgICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KFwidmlzaWJpbGl0eVwiKTtcbiAgICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcImRpc3BsYXlcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlVGltZShlKSB7XG4gICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgICAgIGlmIChlICE9PSB1bmRlZmluZWQgJiYgZS50eXBlICE9PSBcImJsdXJcIikgdGltZVdyYXBwZXIoZSk7XG4gICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuXG4gICAgICAgIHNlbGYuX2RlYm91bmNlZENoYW5nZSgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBhbXBtMm1pbGl0YXJ5KGhvdXIsIGFtUE0pIHtcbiAgICAgICAgcmV0dXJuIGhvdXIgJSAxMiArIDEyICogaW50KGFtUE0gPT09IHNlbGYubDEwbi5hbVBNWzFdKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gbWlsaXRhcnkyYW1wbShob3VyKSB7XG4gICAgICAgIHN3aXRjaCAoaG91ciAlIDI0KSB7XG4gICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIGNhc2UgMTI6XG4gICAgICAgICAgICByZXR1cm4gMTI7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGhvdXIgJSAxMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vyc0Zyb21JbnB1dHMoKSB7XG4gICAgICAgIGlmIChzZWxmLmhvdXJFbGVtZW50ID09PSB1bmRlZmluZWQgfHwgc2VsZi5taW51dGVFbGVtZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgICAgdmFyIGhvdXJzID0gKHBhcnNlSW50KHNlbGYuaG91ckVsZW1lbnQudmFsdWUuc2xpY2UoLTIpLCAxMCkgfHwgMCkgJSAyNCxcbiAgICAgICAgICAgIG1pbnV0ZXMgPSAocGFyc2VJbnQoc2VsZi5taW51dGVFbGVtZW50LnZhbHVlLCAxMCkgfHwgMCkgJSA2MCxcbiAgICAgICAgICAgIHNlY29uZHMgPSBzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCA/IChwYXJzZUludChzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUsIDEwKSB8fCAwKSAlIDYwIDogMDtcblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBob3VycyA9IGFtcG0ybWlsaXRhcnkoaG91cnMsIHNlbGYuYW1QTS50ZXh0Q29udGVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbGltaXRNaW5Ib3VycyA9IHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCB8fCBzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYubWluRGF0ZUhhc1RpbWUgJiYgc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogJiYgY29tcGFyZURhdGVzKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLCBzZWxmLmNvbmZpZy5taW5EYXRlLCB0cnVlKSA9PT0gMDtcbiAgICAgICAgdmFyIGxpbWl0TWF4SG91cnMgPSBzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQgfHwgc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLm1heERhdGVIYXNUaW1lICYmIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICYmIGNvbXBhcmVEYXRlcyhzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5jb25maWcubWF4RGF0ZSwgdHJ1ZSkgPT09IDA7XG5cbiAgICAgICAgaWYgKGxpbWl0TWF4SG91cnMpIHtcbiAgICAgICAgICB2YXIgbWF4VGltZSA9IHNlbGYuY29uZmlnLm1heFRpbWUgIT09IHVuZGVmaW5lZCA/IHNlbGYuY29uZmlnLm1heFRpbWUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5taW4oaG91cnMsIG1heFRpbWUuZ2V0SG91cnMoKSk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtYXhUaW1lLmdldEhvdXJzKCkpIG1pbnV0ZXMgPSBNYXRoLm1pbihtaW51dGVzLCBtYXhUaW1lLmdldE1pbnV0ZXMoKSk7XG4gICAgICAgICAgaWYgKG1pbnV0ZXMgPT09IG1heFRpbWUuZ2V0TWludXRlcygpKSBzZWNvbmRzID0gTWF0aC5taW4oc2Vjb25kcywgbWF4VGltZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbWl0TWluSG91cnMpIHtcbiAgICAgICAgICB2YXIgbWluVGltZSA9IHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCA/IHNlbGYuY29uZmlnLm1pblRpbWUgOiBzZWxmLmNvbmZpZy5taW5EYXRlO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5tYXgoaG91cnMsIG1pblRpbWUuZ2V0SG91cnMoKSk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtaW5UaW1lLmdldEhvdXJzKCkpIG1pbnV0ZXMgPSBNYXRoLm1heChtaW51dGVzLCBtaW5UaW1lLmdldE1pbnV0ZXMoKSk7XG4gICAgICAgICAgaWYgKG1pbnV0ZXMgPT09IG1pblRpbWUuZ2V0TWludXRlcygpKSBzZWNvbmRzID0gTWF0aC5tYXgoc2Vjb25kcywgbWluVGltZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vyc0Zyb21EYXRlKGRhdGVPYmopIHtcbiAgICAgICAgdmFyIGRhdGUgPSBkYXRlT2JqIHx8IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqO1xuICAgICAgICBpZiAoZGF0ZSkgc2V0SG91cnMoZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSwgZGF0ZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXREZWZhdWx0SG91cnMoKSB7XG4gICAgICAgIHZhciBob3VycyA9IHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyO1xuICAgICAgICB2YXIgbWludXRlcyA9IHNlbGYuY29uZmlnLmRlZmF1bHRNaW51dGU7XG4gICAgICAgIHZhciBzZWNvbmRzID0gc2VsZi5jb25maWcuZGVmYXVsdFNlY29uZHM7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBtaW5faHIgPSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEhvdXJzKCk7XG4gICAgICAgICAgdmFyIG1pbl9taW51dGVzID0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgICAgICAgaG91cnMgPSBNYXRoLm1heChob3VycywgbWluX2hyKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1pbl9ocikgbWludXRlcyA9IE1hdGgubWF4KG1pbl9taW51dGVzLCBtaW51dGVzKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1pbl9ociAmJiBtaW51dGVzID09PSBtaW5fbWludXRlcykgc2Vjb25kcyA9IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1heERhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBtYXhfaHIgPSBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEhvdXJzKCk7XG4gICAgICAgICAgdmFyIG1heF9taW51dGVzID0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgICAgICAgaG91cnMgPSBNYXRoLm1pbihob3VycywgbWF4X2hyKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1heF9ocikgbWludXRlcyA9IE1hdGgubWluKG1heF9taW51dGVzLCBtaW51dGVzKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1heF9ociAmJiBtaW51dGVzID09PSBtYXhfbWludXRlcykgc2Vjb25kcyA9IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vycyhob3VycywgbWludXRlcywgc2Vjb25kcykge1xuICAgICAgICBpZiAoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLnNldEhvdXJzKGhvdXJzICUgMjQsIG1pbnV0ZXMsIHNlY29uZHMgfHwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlbGYuaG91ckVsZW1lbnQgfHwgIXNlbGYubWludXRlRWxlbWVudCB8fCBzZWxmLmlzTW9iaWxlKSByZXR1cm47XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQudmFsdWUgPSBwYWQoIXNlbGYuY29uZmlnLnRpbWVfMjRociA/ICgxMiArIGhvdXJzKSAlIDEyICsgMTIgKiBpbnQoaG91cnMgJSAxMiA9PT0gMCkgOiBob3Vycyk7XG4gICAgICAgIHNlbGYubWludXRlRWxlbWVudC52YWx1ZSA9IHBhZChtaW51dGVzKTtcbiAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkKSBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVtpbnQoaG91cnMgPj0gMTIpXTtcbiAgICAgICAgaWYgKHNlbGYuc2Vjb25kRWxlbWVudCAhPT0gdW5kZWZpbmVkKSBzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUgPSBwYWQoc2Vjb25kcyk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uWWVhcklucHV0KGV2ZW50KSB7XG4gICAgICAgIHZhciB5ZWFyID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKSArIChldmVudC5kZWx0YSB8fCAwKTtcblxuICAgICAgICBpZiAoeWVhciAvIDEwMDAgPiAxIHx8IGV2ZW50LmtleSA9PT0gXCJFbnRlclwiICYmICEvW15cXGRdLy50ZXN0KHllYXIudG9TdHJpbmcoKSkpIHtcbiAgICAgICAgICBjaGFuZ2VZZWFyKHllYXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJpbmQoZWxlbWVudCwgZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgQXJyYXkpIHJldHVybiBldmVudC5mb3JFYWNoKGZ1bmN0aW9uIChldikge1xuICAgICAgICAgIHJldHVybiBiaW5kKGVsZW1lbnQsIGV2LCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgQXJyYXkpIHJldHVybiBlbGVtZW50LmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgcmV0dXJuIGJpbmQoZWwsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7XG5cbiAgICAgICAgc2VsZi5faGFuZGxlcnMucHVzaCh7XG4gICAgICAgICAgZWxlbWVudDogZWxlbWVudCxcbiAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgaGFuZGxlcjogaGFuZGxlcixcbiAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbkNsaWNrKGhhbmRsZXIpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICBldnQud2hpY2ggPT09IDEgJiYgaGFuZGxlcihldnQpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0cmlnZ2VyQ2hhbmdlKCkge1xuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYmluZEV2ZW50cygpIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLndyYXApIHtcbiAgICAgICAgICBbXCJvcGVuXCIsIFwiY2xvc2VcIiwgXCJ0b2dnbGVcIiwgXCJjbGVhclwiXS5mb3JFYWNoKGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoc2VsZi5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1cIiArIGV2dCArIFwiXVwiKSwgZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgICAgIHJldHVybiBiaW5kKGVsLCBcImNsaWNrXCIsIHNlbGZbZXZ0XSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmlzTW9iaWxlKSB7XG4gICAgICAgICAgc2V0dXBNb2JpbGUoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGVib3VuY2VkUmVzaXplID0gZGVib3VuY2Uob25SZXNpemUsIDUwKTtcbiAgICAgICAgc2VsZi5fZGVib3VuY2VkQ2hhbmdlID0gZGVib3VuY2UodHJpZ2dlckNoYW5nZSwgREVCT1VOQ0VEX0NIQU5HRV9NUyk7XG4gICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIgJiYgIS9pUGhvbmV8aVBhZHxpUG9kL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgYmluZChzZWxmLmRheXNDb250YWluZXIsIFwibW91c2VvdmVyXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikgb25Nb3VzZU92ZXIoZS50YXJnZXQpO1xuICAgICAgICB9KTtcbiAgICAgICAgYmluZCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgXCJrZXlkb3duXCIsIG9uS2V5RG93bik7XG4gICAgICAgIGlmICghc2VsZi5jb25maWcuc3RhdGljKSBiaW5kKHNlbGYuX2lucHV0LCBcImtleWRvd25cIiwgb25LZXlEb3duKTtcbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5pbmxpbmUgJiYgIXNlbGYuY29uZmlnLnN0YXRpYykgYmluZCh3aW5kb3csIFwicmVzaXplXCIsIGRlYm91bmNlZFJlc2l6ZSk7XG4gICAgICAgIGlmICh3aW5kb3cub250b3VjaHN0YXJ0ICE9PSB1bmRlZmluZWQpIGJpbmQod2luZG93LmRvY3VtZW50LCBcImNsaWNrXCIsIGRvY3VtZW50Q2xpY2spO2Vsc2UgYmluZCh3aW5kb3cuZG9jdW1lbnQsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2soZG9jdW1lbnRDbGljaykpO1xuICAgICAgICBiaW5kKHdpbmRvdy5kb2N1bWVudCwgXCJmb2N1c1wiLCBkb2N1bWVudENsaWNrLCB7XG4gICAgICAgICAgY2FwdHVyZTogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuY2xpY2tPcGVucyA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGJpbmQoc2VsZi5faW5wdXQsIFwiZm9jdXNcIiwgc2VsZi5vcGVuKTtcbiAgICAgICAgICBiaW5kKHNlbGYuX2lucHV0LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKHNlbGYub3BlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYmluZChzZWxmLm1vbnRoTmF2LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKG9uTW9udGhOYXZDbGljaykpO1xuICAgICAgICAgIGJpbmQoc2VsZi5tb250aE5hdiwgW1wia2V5dXBcIiwgXCJpbmNyZW1lbnRcIl0sIG9uWWVhcklucHV0KTtcbiAgICAgICAgICBiaW5kKHNlbGYuZGF5c0NvbnRhaW5lciwgXCJtb3VzZWRvd25cIiwgb25DbGljayhzZWxlY3REYXRlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi50aW1lQ29udGFpbmVyICE9PSB1bmRlZmluZWQgJiYgc2VsZi5taW51dGVFbGVtZW50ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFyIHNlbFRleHQgPSBmdW5jdGlvbiBzZWxUZXh0KGUpIHtcbiAgICAgICAgICAgIHJldHVybiBlLnRhcmdldC5zZWxlY3QoKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFtcImluY3JlbWVudFwiXSwgdXBkYXRlVGltZSk7XG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFwiYmx1clwiLCB1cGRhdGVUaW1lLCB7XG4gICAgICAgICAgICBjYXB0dXJlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2sodGltZUluY3JlbWVudCkpO1xuICAgICAgICAgIGJpbmQoW3NlbGYuaG91ckVsZW1lbnQsIHNlbGYubWludXRlRWxlbWVudF0sIFtcImZvY3VzXCIsIFwiY2xpY2tcIl0sIHNlbFRleHQpO1xuICAgICAgICAgIGlmIChzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCkgYmluZChzZWxmLnNlY29uZEVsZW1lbnQsIFwiZm9jdXNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuc2Vjb25kRWxlbWVudCAmJiBzZWxmLnNlY29uZEVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGJpbmQoc2VsZi5hbVBNLCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZVRpbWUoZSk7XG4gICAgICAgICAgICAgIHRyaWdnZXJDaGFuZ2UoKTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24ganVtcFRvRGF0ZShqdW1wRGF0ZSkge1xuICAgICAgICB2YXIganVtcFRvID0ganVtcERhdGUgIT09IHVuZGVmaW5lZCA/IHNlbGYucGFyc2VEYXRlKGp1bXBEYXRlKSA6IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqIHx8IChzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYuY29uZmlnLm1pbkRhdGUgPiBzZWxmLm5vdyA/IHNlbGYuY29uZmlnLm1pbkRhdGUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY29uZmlnLm1heERhdGUgPCBzZWxmLm5vdyA/IHNlbGYuY29uZmlnLm1heERhdGUgOiBzZWxmLm5vdyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoanVtcFRvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudFllYXIgPSBqdW1wVG8uZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0ganVtcFRvLmdldE1vbnRoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgZS5tZXNzYWdlID0gXCJJbnZhbGlkIGRhdGUgc3VwcGxpZWQ6IFwiICsganVtcFRvO1xuICAgICAgICAgIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRpbWVJbmNyZW1lbnQoZSkge1xuICAgICAgICBpZiAofmUudGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKFwiYXJyb3dcIikpIGluY3JlbWVudE51bUlucHV0KGUsIGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcImFycm93VXBcIikgPyAxIDogLTEpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpbmNyZW1lbnROdW1JbnB1dChlLCBkZWx0YSwgaW5wdXRFbGVtKSB7XG4gICAgICAgIHZhciB0YXJnZXQgPSBlICYmIGUudGFyZ2V0O1xuICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dEVsZW0gfHwgdGFyZ2V0ICYmIHRhcmdldC5wYXJlbnROb2RlICYmIHRhcmdldC5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ7XG4gICAgICAgIHZhciBldmVudCA9IGNyZWF0ZUV2ZW50KFwiaW5jcmVtZW50XCIpO1xuICAgICAgICBldmVudC5kZWx0YSA9IGRlbHRhO1xuICAgICAgICBpbnB1dCAmJiBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGQoKSB7XG4gICAgICAgIHZhciBmcmFnbWVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLWNhbGVuZGFyXCIpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnRhYkluZGV4ID0gLTE7XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5ub0NhbGVuZGFyKSB7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoYnVpbGRNb250aE5hdigpKTtcbiAgICAgICAgICBzZWxmLmlubmVyQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1pbm5lckNvbnRhaW5lclwiKTtcblxuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZy53ZWVrTnVtYmVycykge1xuICAgICAgICAgICAgdmFyIF9idWlsZFdlZWtzID0gYnVpbGRXZWVrcygpLFxuICAgICAgICAgICAgICAgIHdlZWtXcmFwcGVyID0gX2J1aWxkV2Vla3Mud2Vla1dyYXBwZXIsXG4gICAgICAgICAgICAgICAgd2Vla051bWJlcnMgPSBfYnVpbGRXZWVrcy53ZWVrTnVtYmVycztcblxuICAgICAgICAgICAgc2VsZi5pbm5lckNvbnRhaW5lci5hcHBlbmRDaGlsZCh3ZWVrV3JhcHBlcik7XG4gICAgICAgICAgICBzZWxmLndlZWtOdW1iZXJzID0gd2Vla051bWJlcnM7XG4gICAgICAgICAgICBzZWxmLndlZWtXcmFwcGVyID0gd2Vla1dyYXBwZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZi5yQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1yQ29udGFpbmVyXCIpO1xuICAgICAgICAgIHNlbGYuckNvbnRhaW5lci5hcHBlbmRDaGlsZChidWlsZFdlZWtkYXlzKCkpO1xuXG4gICAgICAgICAgaWYgKCFzZWxmLmRheXNDb250YWluZXIpIHtcbiAgICAgICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItZGF5c1wiKTtcbiAgICAgICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lci50YWJJbmRleCA9IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJ1aWxkRGF5cygpO1xuICAgICAgICAgIHNlbGYuckNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWxmLmRheXNDb250YWluZXIpO1xuICAgICAgICAgIHNlbGYuaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VsZi5yQ29udGFpbmVyKTtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzZWxmLmlubmVyQ29udGFpbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoYnVpbGRUaW1lKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJyYW5nZU1vZGVcIiwgc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhbmltYXRlXCIsIHNlbGYuY29uZmlnLmFuaW1hdGUgPT09IHRydWUpO1xuICAgICAgICB0b2dnbGVDbGFzcyhzZWxmLmNhbGVuZGFyQ29udGFpbmVyLCBcIm11bHRpTW9udGhcIiwgc2VsZi5jb25maWcuc2hvd01vbnRocyA+IDEpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgICAgICAgdmFyIGN1c3RvbUFwcGVuZCA9IHNlbGYuY29uZmlnLmFwcGVuZFRvICE9PSB1bmRlZmluZWQgJiYgc2VsZi5jb25maWcuYXBwZW5kVG8ubm9kZVR5cGUgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lIHx8IHNlbGYuY29uZmlnLnN0YXRpYykge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChzZWxmLmNvbmZpZy5pbmxpbmUgPyBcImlubGluZVwiIDogXCJzdGF0aWNcIik7XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lKSB7XG4gICAgICAgICAgICBpZiAoIWN1c3RvbUFwcGVuZCAmJiBzZWxmLmVsZW1lbnQucGFyZW50Tm9kZSkgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIHNlbGYuX2lucHV0Lm5leHRTaWJsaW5nKTtlbHNlIGlmIChzZWxmLmNvbmZpZy5hcHBlbmRUbyAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5hcHBlbmRUby5hcHBlbmRDaGlsZChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuc3RhdGljKSB7XG4gICAgICAgICAgICB2YXIgd3JhcHBlciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd3JhcHBlclwiKTtcbiAgICAgICAgICAgIGlmIChzZWxmLmVsZW1lbnQucGFyZW50Tm9kZSkgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIHNlbGYuZWxlbWVudCk7XG4gICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHNlbGYuZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCkgd3JhcHBlci5hcHBlbmRDaGlsZChzZWxmLmFsdElucHV0KTtcbiAgICAgICAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgIXNlbGYuY29uZmlnLmlubGluZSkgKHNlbGYuY29uZmlnLmFwcGVuZFRvICE9PSB1bmRlZmluZWQgPyBzZWxmLmNvbmZpZy5hcHBlbmRUbyA6IHdpbmRvdy5kb2N1bWVudC5ib2R5KS5hcHBlbmRDaGlsZChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY3JlYXRlRGF5KGNsYXNzTmFtZSwgZGF0ZSwgZGF5TnVtYmVyLCBpKSB7XG4gICAgICAgIHZhciBkYXRlSXNFbmFibGVkID0gaXNFbmFibGVkKGRhdGUsIHRydWUpLFxuICAgICAgICAgICAgZGF5RWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLWRheSBcIiArIGNsYXNzTmFtZSwgZGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKSk7XG4gICAgICAgIGRheUVsZW1lbnQuZGF0ZU9iaiA9IGRhdGU7XG4gICAgICAgIGRheUVsZW1lbnQuJGkgPSBpO1xuICAgICAgICBkYXlFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgc2VsZi5mb3JtYXREYXRlKGRhdGUsIHNlbGYuY29uZmlnLmFyaWFEYXRlRm9ybWF0KSk7XG5cbiAgICAgICAgaWYgKGNsYXNzTmFtZS5pbmRleE9mKFwiaGlkZGVuXCIpID09PSAtMSAmJiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5ub3cpID09PSAwKSB7XG4gICAgICAgICAgc2VsZi50b2RheURhdGVFbGVtID0gZGF5RWxlbWVudDtcbiAgICAgICAgICBkYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ0b2RheVwiKTtcbiAgICAgICAgICBkYXlFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtY3VycmVudFwiLCBcImRhdGVcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0ZUlzRW5hYmxlZCkge1xuICAgICAgICAgIGRheUVsZW1lbnQudGFiSW5kZXggPSAtMTtcblxuICAgICAgICAgIGlmIChpc0RhdGVTZWxlY3RlZChkYXRlKSkge1xuICAgICAgICAgICAgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwic2VsZWN0ZWRcIik7XG4gICAgICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0gPSBkYXlFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSB7XG4gICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKGRheUVsZW1lbnQsIFwic3RhcnRSYW5nZVwiLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0gJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdHJ1ZSkgPT09IDApO1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhkYXlFbGVtZW50LCBcImVuZFJhbmdlXCIsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSAmJiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzFdLCB0cnVlKSA9PT0gMCk7XG4gICAgICAgICAgICAgIGlmIChjbGFzc05hbWUgPT09IFwibmV4dE1vbnRoRGF5XCIpIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImluUmFuZ2VcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImRpc2FibGVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChpc0RhdGVJblJhbmdlKGRhdGUpICYmICFpc0RhdGVTZWxlY3RlZChkYXRlKSkgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiaW5SYW5nZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLndlZWtOdW1iZXJzICYmIHNlbGYuY29uZmlnLnNob3dNb250aHMgPT09IDEgJiYgY2xhc3NOYW1lICE9PSBcInByZXZNb250aERheVwiICYmIGRheU51bWJlciAlIDcgPT09IDEpIHtcbiAgICAgICAgICBzZWxmLndlZWtOdW1iZXJzLmluc2VydEFkamFjZW50SFRNTChcImJlZm9yZWVuZFwiLCBcIjxzcGFuIGNsYXNzPSdmbGF0cGlja3ItZGF5Jz5cIiArIHNlbGYuY29uZmlnLmdldFdlZWsoZGF0ZSkgKyBcIjwvc3Bhbj5cIik7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkRheUNyZWF0ZVwiLCBkYXlFbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGRheUVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzT25EYXlFbGVtKHRhcmdldE5vZGUpIHtcbiAgICAgICAgdGFyZ2V0Tm9kZS5mb2N1cygpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSBvbk1vdXNlT3Zlcih0YXJnZXROb2RlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZ2V0Rmlyc3RBdmFpbGFibGVEYXkoZGVsdGEpIHtcbiAgICAgICAgdmFyIHN0YXJ0TW9udGggPSBkZWx0YSA+IDAgPyAwIDogc2VsZi5jb25maWcuc2hvd01vbnRocyAtIDE7XG4gICAgICAgIHZhciBlbmRNb250aCA9IGRlbHRhID4gMCA/IHNlbGYuY29uZmlnLnNob3dNb250aHMgOiAtMTtcblxuICAgICAgICBmb3IgKHZhciBtID0gc3RhcnRNb250aDsgbSAhPSBlbmRNb250aDsgbSArPSBkZWx0YSkge1xuICAgICAgICAgIHZhciBtb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttXTtcbiAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IGRlbHRhID4gMCA/IDAgOiBtb250aC5jaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgICAgICAgIHZhciBlbmRJbmRleCA9IGRlbHRhID4gMCA/IG1vbnRoLmNoaWxkcmVuLmxlbmd0aCA6IC0xO1xuXG4gICAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0SW5kZXg7IGkgIT0gZW5kSW5kZXg7IGkgKz0gZGVsdGEpIHtcbiAgICAgICAgICAgIHZhciBjID0gbW9udGguY2hpbGRyZW5baV07XG4gICAgICAgICAgICBpZiAoYy5jbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgaXNFbmFibGVkKGMuZGF0ZU9iaikpIHJldHVybiBjO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGdldE5leHRBdmFpbGFibGVEYXkoY3VycmVudCwgZGVsdGEpIHtcbiAgICAgICAgdmFyIGdpdmVuTW9udGggPSBjdXJyZW50LmNsYXNzTmFtZS5pbmRleE9mKFwiTW9udGhcIikgPT09IC0xID8gY3VycmVudC5kYXRlT2JqLmdldE1vbnRoKCkgOiBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgdmFyIGVuZE1vbnRoID0gZGVsdGEgPiAwID8gc2VsZi5jb25maWcuc2hvd01vbnRocyA6IC0xO1xuICAgICAgICB2YXIgbG9vcERlbHRhID0gZGVsdGEgPiAwID8gMSA6IC0xO1xuXG4gICAgICAgIGZvciAodmFyIG0gPSBnaXZlbk1vbnRoIC0gc2VsZi5jdXJyZW50TW9udGg7IG0gIT0gZW5kTW9udGg7IG0gKz0gbG9vcERlbHRhKSB7XG4gICAgICAgICAgdmFyIG1vbnRoID0gc2VsZi5kYXlzQ29udGFpbmVyLmNoaWxkcmVuW21dO1xuICAgICAgICAgIHZhciBzdGFydEluZGV4ID0gZ2l2ZW5Nb250aCAtIHNlbGYuY3VycmVudE1vbnRoID09PSBtID8gY3VycmVudC4kaSArIGRlbHRhIDogZGVsdGEgPCAwID8gbW9udGguY2hpbGRyZW4ubGVuZ3RoIC0gMSA6IDA7XG4gICAgICAgICAgdmFyIG51bU1vbnRoRGF5cyA9IG1vbnRoLmNoaWxkcmVuLmxlbmd0aDtcblxuICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydEluZGV4OyBpID49IDAgJiYgaSA8IG51bU1vbnRoRGF5cyAmJiBpICE9IChkZWx0YSA+IDAgPyBudW1Nb250aERheXMgOiAtMSk7IGkgKz0gbG9vcERlbHRhKSB7XG4gICAgICAgICAgICB2YXIgYyA9IG1vbnRoLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGMuY2xhc3NOYW1lLmluZGV4T2YoXCJoaWRkZW5cIikgPT09IC0xICYmIGlzRW5hYmxlZChjLmRhdGVPYmopICYmIE1hdGguYWJzKGN1cnJlbnQuJGkgLSBpKSA+PSBNYXRoLmFicyhkZWx0YSkpIHJldHVybiBmb2N1c09uRGF5RWxlbShjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmNoYW5nZU1vbnRoKGxvb3BEZWx0YSk7XG4gICAgICAgIGZvY3VzT25EYXkoZ2V0Rmlyc3RBdmFpbGFibGVEYXkobG9vcERlbHRhKSwgMCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzT25EYXkoY3VycmVudCwgb2Zmc2V0KSB7XG4gICAgICAgIHZhciBkYXlGb2N1c2VkID0gaXNJblZpZXcoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XG4gICAgICAgIHZhciBzdGFydEVsZW0gPSBjdXJyZW50ICE9PSB1bmRlZmluZWQgPyBjdXJyZW50IDogZGF5Rm9jdXNlZCA/IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0gIT09IHVuZGVmaW5lZCAmJiBpc0luVmlldyhzZWxmLnNlbGVjdGVkRGF0ZUVsZW0pID8gc2VsZi5zZWxlY3RlZERhdGVFbGVtIDogc2VsZi50b2RheURhdGVFbGVtICE9PSB1bmRlZmluZWQgJiYgaXNJblZpZXcoc2VsZi50b2RheURhdGVFbGVtKSA/IHNlbGYudG9kYXlEYXRlRWxlbSA6IGdldEZpcnN0QXZhaWxhYmxlRGF5KG9mZnNldCA+IDAgPyAxIDogLTEpO1xuICAgICAgICBpZiAoc3RhcnRFbGVtID09PSB1bmRlZmluZWQpIHJldHVybiBzZWxmLl9pbnB1dC5mb2N1cygpO1xuICAgICAgICBpZiAoIWRheUZvY3VzZWQpIHJldHVybiBmb2N1c09uRGF5RWxlbShzdGFydEVsZW0pO1xuICAgICAgICBnZXROZXh0QXZhaWxhYmxlRGF5KHN0YXJ0RWxlbSwgb2Zmc2V0KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aERheXMoeWVhciwgbW9udGgpIHtcbiAgICAgICAgdmFyIGZpcnN0T2ZNb250aCA9IChuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSkuZ2V0RGF5KCkgLSBzZWxmLmwxMG4uZmlyc3REYXlPZldlZWsgKyA3KSAlIDc7XG4gICAgICAgIHZhciBwcmV2TW9udGhEYXlzID0gc2VsZi51dGlscy5nZXREYXlzSW5Nb250aCgobW9udGggLSAxICsgMTIpICUgMTIpO1xuICAgICAgICB2YXIgZGF5c0luTW9udGggPSBzZWxmLnV0aWxzLmdldERheXNJbk1vbnRoKG1vbnRoKSxcbiAgICAgICAgICAgIGRheXMgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLFxuICAgICAgICAgICAgaXNNdWx0aU1vbnRoID0gc2VsZi5jb25maWcuc2hvd01vbnRocyA+IDEsXG4gICAgICAgICAgICBwcmV2TW9udGhEYXlDbGFzcyA9IGlzTXVsdGlNb250aCA/IFwicHJldk1vbnRoRGF5IGhpZGRlblwiIDogXCJwcmV2TW9udGhEYXlcIixcbiAgICAgICAgICAgIG5leHRNb250aERheUNsYXNzID0gaXNNdWx0aU1vbnRoID8gXCJuZXh0TW9udGhEYXkgaGlkZGVuXCIgOiBcIm5leHRNb250aERheVwiO1xuICAgICAgICB2YXIgZGF5TnVtYmVyID0gcHJldk1vbnRoRGF5cyArIDEgLSBmaXJzdE9mTW9udGgsXG4gICAgICAgICAgICBkYXlJbmRleCA9IDA7XG5cbiAgICAgICAgZm9yICg7IGRheU51bWJlciA8PSBwcmV2TW9udGhEYXlzOyBkYXlOdW1iZXIrKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KHByZXZNb250aERheUNsYXNzLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheU51bWJlciksIGRheU51bWJlciwgZGF5SW5kZXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoZGF5TnVtYmVyID0gMTsgZGF5TnVtYmVyIDw9IGRheXNJbk1vbnRoOyBkYXlOdW1iZXIrKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KFwiXCIsIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXlOdW1iZXIpLCBkYXlOdW1iZXIsIGRheUluZGV4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBkYXlOdW0gPSBkYXlzSW5Nb250aCArIDE7IGRheU51bSA8PSA0MiAtIGZpcnN0T2ZNb250aCAmJiAoc2VsZi5jb25maWcuc2hvd01vbnRocyA9PT0gMSB8fCBkYXlJbmRleCAlIDcgIT09IDApOyBkYXlOdW0rKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KG5leHRNb250aERheUNsYXNzLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIGRheU51bSAlIGRheXNJbk1vbnRoKSwgZGF5TnVtLCBkYXlJbmRleCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRheUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJkYXlDb250YWluZXJcIik7XG4gICAgICAgIGRheUNvbnRhaW5lci5hcHBlbmRDaGlsZChkYXlzKTtcbiAgICAgICAgcmV0dXJuIGRheUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGREYXlzKCkge1xuICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjbGVhck5vZGUoc2VsZi5kYXlzQ29udGFpbmVyKTtcbiAgICAgICAgaWYgKHNlbGYud2Vla051bWJlcnMpIGNsZWFyTm9kZShzZWxmLndlZWtOdW1iZXJzKTtcbiAgICAgICAgdmFyIGZyYWcgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBpKyspIHtcbiAgICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKHNlbGYuY3VycmVudFllYXIsIHNlbGYuY3VycmVudE1vbnRoLCAxKTtcbiAgICAgICAgICBkLnNldE1vbnRoKHNlbGYuY3VycmVudE1vbnRoICsgaSk7XG4gICAgICAgICAgZnJhZy5hcHBlbmRDaGlsZChidWlsZE1vbnRoRGF5cyhkLmdldEZ1bGxZZWFyKCksIGQuZ2V0TW9udGgoKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5kYXlzQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWcpO1xuICAgICAgICBzZWxmLmRheXMgPSBzZWxmLmRheXNDb250YWluZXIuZmlyc3RDaGlsZDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aCgpIHtcbiAgICAgICAgdmFyIGNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItbW9udGhcIik7XG4gICAgICAgIHZhciBtb250aE5hdkZyYWdtZW50ID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgdmFyIG1vbnRoRWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiY3VyLW1vbnRoXCIpO1xuICAgICAgICBtb250aEVsZW1lbnQudGl0bGUgPSBzZWxmLmwxMG4uc2Nyb2xsVGl0bGU7XG4gICAgICAgIHZhciB5ZWFySW5wdXQgPSBjcmVhdGVOdW1iZXJJbnB1dChcImN1ci15ZWFyXCIsIHtcbiAgICAgICAgICB0YWJpbmRleDogXCItMVwiXG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgeWVhckVsZW1lbnQgPSB5ZWFySW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgeWVhckVsZW1lbnQudGl0bGUgPSBzZWxmLmwxMG4uc2Nyb2xsVGl0bGU7XG4gICAgICAgIHllYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgc2VsZi5sMTBuLnllYXJBcmlhTGFiZWwpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSkgeWVhckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlKSB7XG4gICAgICAgICAgeWVhckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIHllYXJFbGVtZW50LmRpc2FibGVkID0gISFzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGN1cnJlbnRNb250aCA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItY3VycmVudC1tb250aFwiKTtcbiAgICAgICAgY3VycmVudE1vbnRoLmFwcGVuZENoaWxkKG1vbnRoRWxlbWVudCk7XG4gICAgICAgIGN1cnJlbnRNb250aC5hcHBlbmRDaGlsZCh5ZWFySW5wdXQpO1xuICAgICAgICBtb250aE5hdkZyYWdtZW50LmFwcGVuZENoaWxkKGN1cnJlbnRNb250aCk7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChtb250aE5hdkZyYWdtZW50KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgICAgICB5ZWFyRWxlbWVudDogeWVhckVsZW1lbnQsXG4gICAgICAgICAgbW9udGhFbGVtZW50OiBtb250aEVsZW1lbnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aHMoKSB7XG4gICAgICAgIGNsZWFyTm9kZShzZWxmLm1vbnRoTmF2KTtcbiAgICAgICAgc2VsZi5tb250aE5hdi5hcHBlbmRDaGlsZChzZWxmLnByZXZNb250aE5hdik7XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IHNlbGYuY29uZmlnLnNob3dNb250aHM7IG0tLTspIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBidWlsZE1vbnRoKCk7XG4gICAgICAgICAgc2VsZi55ZWFyRWxlbWVudHMucHVzaChtb250aC55ZWFyRWxlbWVudCk7XG4gICAgICAgICAgc2VsZi5tb250aEVsZW1lbnRzLnB1c2gobW9udGgubW9udGhFbGVtZW50KTtcbiAgICAgICAgICBzZWxmLm1vbnRoTmF2LmFwcGVuZENoaWxkKG1vbnRoLmNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLm1vbnRoTmF2LmFwcGVuZENoaWxkKHNlbGYubmV4dE1vbnRoTmF2KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aE5hdigpIHtcbiAgICAgICAgc2VsZi5tb250aE5hdiA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItbW9udGhzXCIpO1xuICAgICAgICBzZWxmLnllYXJFbGVtZW50cyA9IFtdO1xuICAgICAgICBzZWxmLm1vbnRoRWxlbWVudHMgPSBbXTtcbiAgICAgICAgc2VsZi5wcmV2TW9udGhOYXYgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci1wcmV2LW1vbnRoXCIpO1xuICAgICAgICBzZWxmLnByZXZNb250aE5hdi5pbm5lckhUTUwgPSBzZWxmLmNvbmZpZy5wcmV2QXJyb3c7XG4gICAgICAgIHNlbGYubmV4dE1vbnRoTmF2ID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3ItbmV4dC1tb250aFwiKTtcbiAgICAgICAgc2VsZi5uZXh0TW9udGhOYXYuaW5uZXJIVE1MID0gc2VsZi5jb25maWcubmV4dEFycm93O1xuICAgICAgICBidWlsZE1vbnRocygpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZiwgXCJfaGlkZVByZXZNb250aEFycm93XCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLl9faGlkZVByZXZNb250aEFycm93O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXQoYm9vbCkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX19oaWRlUHJldk1vbnRoQXJyb3cgIT09IGJvb2wpIHtcbiAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5wcmV2TW9udGhOYXYsIFwiZGlzYWJsZWRcIiwgYm9vbCk7XG4gICAgICAgICAgICAgIHNlbGYuX19oaWRlUHJldk1vbnRoQXJyb3cgPSBib29sO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLCBcIl9oaWRlTmV4dE1vbnRoQXJyb3dcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19oaWRlTmV4dE1vbnRoQXJyb3c7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChib29sKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5fX2hpZGVOZXh0TW9udGhBcnJvdyAhPT0gYm9vbCkge1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhzZWxmLm5leHRNb250aE5hdiwgXCJkaXNhYmxlZFwiLCBib29sKTtcbiAgICAgICAgICAgICAgc2VsZi5fX2hpZGVOZXh0TW9udGhBcnJvdyA9IGJvb2w7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc2VsZi5jdXJyZW50WWVhckVsZW1lbnQgPSBzZWxmLnllYXJFbGVtZW50c1swXTtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICByZXR1cm4gc2VsZi5tb250aE5hdjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRUaW1lKCkge1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNUaW1lXCIpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubm9DYWxlbmRhcikgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwibm9DYWxlbmRhclwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci10aW1lXCIpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdmFyIHNlcGFyYXRvciA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yXCIsIFwiOlwiKTtcbiAgICAgICAgdmFyIGhvdXJJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLWhvdXJcIik7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQgPSBob3VySW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgdmFyIG1pbnV0ZUlucHV0ID0gY3JlYXRlTnVtYmVySW5wdXQoXCJmbGF0cGlja3ItbWludXRlXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQgPSBtaW51dGVJbnB1dC5jaGlsZE5vZGVzWzBdO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnRhYkluZGV4ID0gc2VsZi5taW51dGVFbGVtZW50LnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQudmFsdWUgPSBwYWQoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRIb3VycygpIDogc2VsZi5jb25maWcudGltZV8yNGhyID8gc2VsZi5jb25maWcuZGVmYXVsdEhvdXIgOiBtaWxpdGFyeTJhbXBtKHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyKSk7XG4gICAgICAgIHNlbGYubWludXRlRWxlbWVudC52YWx1ZSA9IHBhZChzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLmdldE1pbnV0ZXMoKSA6IHNlbGYuY29uZmlnLmRlZmF1bHRNaW51dGUpO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiLCBzZWxmLmNvbmZpZy5ob3VySW5jcmVtZW50LnRvU3RyaW5nKCkpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIsIHNlbGYuY29uZmlnLm1pbnV0ZUluY3JlbWVudC50b1N0cmluZygpKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiLCBzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyBcIjBcIiA6IFwiMVwiKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1heFwiLCBzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyBcIjIzXCIgOiBcIjEyXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgXCIwXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgXCI1OVwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKGhvdXJJbnB1dCk7XG4gICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZXBhcmF0b3IpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQobWludXRlSW5wdXQpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcudGltZV8yNGhyKSBzZWxmLnRpbWVDb250YWluZXIuY2xhc3NMaXN0LmFkZChcInRpbWUyNGhyXCIpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVTZWNvbmRzKSB7XG4gICAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNTZWNvbmRzXCIpO1xuICAgICAgICAgIHZhciBzZWNvbmRJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLXNlY29uZFwiKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQgPSBzZWNvbmRJbnB1dC5jaGlsZE5vZGVzWzBdO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC52YWx1ZSA9IHBhZChzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLmdldFNlY29uZHMoKSA6IHNlbGYuY29uZmlnLmRlZmF1bHRTZWNvbmRzKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIsIHNlbGYubWludXRlRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN0ZXBcIikpO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIikpO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1heFwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIikpO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci10aW1lLXNlcGFyYXRvclwiLCBcIjpcIikpO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWNvbmRJbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlbGYuY29uZmlnLnRpbWVfMjRocikge1xuICAgICAgICAgIHNlbGYuYW1QTSA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLWFtLXBtXCIsIHNlbGYubDEwbi5hbVBNW2ludCgoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmhvdXJFbGVtZW50LnZhbHVlIDogc2VsZi5jb25maWcuZGVmYXVsdEhvdXIpID4gMTEpXSk7XG4gICAgICAgICAgc2VsZi5hbVBNLnRpdGxlID0gc2VsZi5sMTBuLnRvZ2dsZVRpdGxlO1xuICAgICAgICAgIHNlbGYuYW1QTS50YWJJbmRleCA9IC0xO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWxmLmFtUE0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNlbGYudGltZUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRXZWVrZGF5cygpIHtcbiAgICAgICAgaWYgKCFzZWxmLndlZWtkYXlDb250YWluZXIpIHNlbGYud2Vla2RheUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd2Vla2RheXNcIik7ZWxzZSBjbGVhck5vZGUoc2VsZi53ZWVrZGF5Q29udGFpbmVyKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gc2VsZi5jb25maWcuc2hvd01vbnRoczsgaS0tOykge1xuICAgICAgICAgIHZhciBjb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXJcIik7XG4gICAgICAgICAgc2VsZi53ZWVrZGF5Q29udGFpbmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVXZWVrZGF5cygpO1xuICAgICAgICByZXR1cm4gc2VsZi53ZWVrZGF5Q29udGFpbmVyO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVXZWVrZGF5cygpIHtcbiAgICAgICAgdmFyIGZpcnN0RGF5T2ZXZWVrID0gc2VsZi5sMTBuLmZpcnN0RGF5T2ZXZWVrO1xuICAgICAgICB2YXIgd2Vla2RheXMgPSBzZWxmLmwxMG4ud2Vla2RheXMuc2hvcnRoYW5kLmNvbmNhdCgpO1xuXG4gICAgICAgIGlmIChmaXJzdERheU9mV2VlayA+IDAgJiYgZmlyc3REYXlPZldlZWsgPCB3ZWVrZGF5cy5sZW5ndGgpIHtcbiAgICAgICAgICB3ZWVrZGF5cyA9IHdlZWtkYXlzLnNwbGljZShmaXJzdERheU9mV2Vlaywgd2Vla2RheXMubGVuZ3RoKS5jb25jYXQod2Vla2RheXMuc3BsaWNlKDAsIGZpcnN0RGF5T2ZXZWVrKSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBpID0gc2VsZi5jb25maWcuc2hvd01vbnRoczsgaS0tOykge1xuICAgICAgICAgIHNlbGYud2Vla2RheUNvbnRhaW5lci5jaGlsZHJlbltpXS5pbm5lckhUTUwgPSBcIlxcbiAgICAgIDxzcGFuIGNsYXNzPWZsYXRwaWNrci13ZWVrZGF5PlxcbiAgICAgICAgXCIgKyB3ZWVrZGF5cy5qb2luKFwiPC9zcGFuPjxzcGFuIGNsYXNzPWZsYXRwaWNrci13ZWVrZGF5PlwiKSArIFwiXFxuICAgICAgPC9zcGFuPlxcbiAgICAgIFwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkV2Vla3MoKSB7XG4gICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcImhhc1dlZWtzXCIpO1xuICAgICAgICB2YXIgd2Vla1dyYXBwZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWt3cmFwcGVyXCIpO1xuICAgICAgICB3ZWVrV3JhcHBlci5hcHBlbmRDaGlsZChjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci13ZWVrZGF5XCIsIHNlbGYubDEwbi53ZWVrQWJicmV2aWF0aW9uKSk7XG4gICAgICAgIHZhciB3ZWVrTnVtYmVycyA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd2Vla3NcIik7XG4gICAgICAgIHdlZWtXcmFwcGVyLmFwcGVuZENoaWxkKHdlZWtOdW1iZXJzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3ZWVrV3JhcHBlcjogd2Vla1dyYXBwZXIsXG4gICAgICAgICAgd2Vla051bWJlcnM6IHdlZWtOdW1iZXJzXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNoYW5nZU1vbnRoKHZhbHVlLCBpc19vZmZzZXQpIHtcbiAgICAgICAgaWYgKGlzX29mZnNldCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgaXNfb2Zmc2V0ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkZWx0YSA9IGlzX29mZnNldCA/IHZhbHVlIDogdmFsdWUgLSBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgaWYgKGRlbHRhIDwgMCAmJiBzZWxmLl9oaWRlUHJldk1vbnRoQXJyb3cgPT09IHRydWUgfHwgZGVsdGEgPiAwICYmIHNlbGYuX2hpZGVOZXh0TW9udGhBcnJvdyA9PT0gdHJ1ZSkgcmV0dXJuO1xuICAgICAgICBzZWxmLmN1cnJlbnRNb250aCArPSBkZWx0YTtcblxuICAgICAgICBpZiAoc2VsZi5jdXJyZW50TW9udGggPCAwIHx8IHNlbGYuY3VycmVudE1vbnRoID4gMTEpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRZZWFyICs9IHNlbGYuY3VycmVudE1vbnRoID4gMTEgPyAxIDogLTE7XG4gICAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSAoc2VsZi5jdXJyZW50TW9udGggKyAxMikgJSAxMjtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblllYXJDaGFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25Nb250aENoYW5nZVwiKTtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjbGVhcih0cmlnZ2VyQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2VFdmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgdHJpZ2dlckNoYW5nZUV2ZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCAhPT0gdW5kZWZpbmVkKSBzZWxmLmFsdElucHV0LnZhbHVlID0gXCJcIjtcbiAgICAgICAgaWYgKHNlbGYubW9iaWxlSW5wdXQgIT09IHVuZGVmaW5lZCkgc2VsZi5tb2JpbGVJbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtdO1xuICAgICAgICBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA9IHVuZGVmaW5lZDtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUgPT09IHRydWUpIHtcbiAgICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlRXZlbnQpIHRyaWdnZXJFdmVudChcIm9uQ2hhbmdlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjbG9zZSgpIHtcbiAgICAgICAgc2VsZi5pc09wZW4gPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUpIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoXCJvcGVuXCIpO1xuXG4gICAgICAgICAgc2VsZi5faW5wdXQuY2xhc3NMaXN0LnJlbW92ZShcImFjdGl2ZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2xvc2VcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZyAhPT0gdW5kZWZpbmVkKSB0cmlnZ2VyRXZlbnQoXCJvbkRlc3Ryb3lcIik7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHNlbGYuX2hhbmRsZXJzLmxlbmd0aDsgaS0tOykge1xuICAgICAgICAgIHZhciBoID0gc2VsZi5faGFuZGxlcnNbaV07XG4gICAgICAgICAgaC5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoaC5ldmVudCwgaC5oYW5kbGVyLCBoLm9wdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5faGFuZGxlcnMgPSBbXTtcblxuICAgICAgICBpZiAoc2VsZi5tb2JpbGVJbnB1dCkge1xuICAgICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0LnBhcmVudE5vZGUpIHNlbGYubW9iaWxlSW5wdXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzZWxmLm1vYmlsZUlucHV0KTtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIgJiYgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5wYXJlbnROb2RlKSBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG5cbiAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQpIHtcbiAgICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dC5wYXJlbnROb2RlKSBzZWxmLmFsdElucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5hbHRJbnB1dCk7XG4gICAgICAgICAgZGVsZXRlIHNlbGYuYWx0SW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5pbnB1dCkge1xuICAgICAgICAgIHNlbGYuaW5wdXQudHlwZSA9IHNlbGYuaW5wdXQuX3R5cGU7XG4gICAgICAgICAgc2VsZi5pbnB1dC5jbGFzc0xpc3QucmVtb3ZlKFwiZmxhdHBpY2tyLWlucHV0XCIpO1xuICAgICAgICAgIHNlbGYuaW5wdXQucmVtb3ZlQXR0cmlidXRlKFwicmVhZG9ubHlcIik7XG4gICAgICAgICAgc2VsZi5pbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBbXCJfc2hvd1RpbWVJbnB1dFwiLCBcImxhdGVzdFNlbGVjdGVkRGF0ZU9ialwiLCBcIl9oaWRlTmV4dE1vbnRoQXJyb3dcIiwgXCJfaGlkZVByZXZNb250aEFycm93XCIsIFwiX19oaWRlTmV4dE1vbnRoQXJyb3dcIiwgXCJfX2hpZGVQcmV2TW9udGhBcnJvd1wiLCBcImlzTW9iaWxlXCIsIFwiaXNPcGVuXCIsIFwic2VsZWN0ZWREYXRlRWxlbVwiLCBcIm1pbkRhdGVIYXNUaW1lXCIsIFwibWF4RGF0ZUhhc1RpbWVcIiwgXCJkYXlzXCIsIFwiZGF5c0NvbnRhaW5lclwiLCBcIl9pbnB1dFwiLCBcIl9wb3NpdGlvbkVsZW1lbnRcIiwgXCJpbm5lckNvbnRhaW5lclwiLCBcInJDb250YWluZXJcIiwgXCJtb250aE5hdlwiLCBcInRvZGF5RGF0ZUVsZW1cIiwgXCJjYWxlbmRhckNvbnRhaW5lclwiLCBcIndlZWtkYXlDb250YWluZXJcIiwgXCJwcmV2TW9udGhOYXZcIiwgXCJuZXh0TW9udGhOYXZcIiwgXCJjdXJyZW50TW9udGhFbGVtZW50XCIsIFwiY3VycmVudFllYXJFbGVtZW50XCIsIFwibmF2aWdhdGlvbkN1cnJlbnRNb250aFwiLCBcInNlbGVjdGVkRGF0ZUVsZW1cIiwgXCJjb25maWdcIl0uZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkZWxldGUgc2VsZltrXTtcbiAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaXNDYWxlbmRhckVsZW0oZWxlbSkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcuYXBwZW5kVG8gJiYgc2VsZi5jb25maWcuYXBwZW5kVG8uY29udGFpbnMoZWxlbSkpIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jb250YWlucyhlbGVtKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZG9jdW1lbnRDbGljayhlKSB7XG4gICAgICAgIGlmIChzZWxmLmlzT3BlbiAmJiAhc2VsZi5jb25maWcuaW5saW5lKSB7XG4gICAgICAgICAgdmFyIGlzQ2FsZW5kYXJFbGVtZW50ID0gaXNDYWxlbmRhckVsZW0oZS50YXJnZXQpO1xuICAgICAgICAgIHZhciBpc0lucHV0ID0gZS50YXJnZXQgPT09IHNlbGYuaW5wdXQgfHwgZS50YXJnZXQgPT09IHNlbGYuYWx0SW5wdXQgfHwgc2VsZi5lbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KSB8fCBlLnBhdGggJiYgZS5wYXRoLmluZGV4T2YgJiYgKH5lLnBhdGguaW5kZXhPZihzZWxmLmlucHV0KSB8fCB+ZS5wYXRoLmluZGV4T2Yoc2VsZi5hbHRJbnB1dCkpO1xuICAgICAgICAgIHZhciBsb3N0Rm9jdXMgPSBlLnR5cGUgPT09IFwiYmx1clwiID8gaXNJbnB1dCAmJiBlLnJlbGF0ZWRUYXJnZXQgJiYgIWlzQ2FsZW5kYXJFbGVtKGUucmVsYXRlZFRhcmdldCkgOiAhaXNJbnB1dCAmJiAhaXNDYWxlbmRhckVsZW1lbnQ7XG4gICAgICAgICAgdmFyIGlzSWdub3JlZCA9ICFzZWxmLmNvbmZpZy5pZ25vcmVkRm9jdXNFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbS5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAobG9zdEZvY3VzICYmIGlzSWdub3JlZCkge1xuICAgICAgICAgICAgc2VsZi5jbG9zZSgpO1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiICYmIHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgc2VsZi5jbGVhcihmYWxzZSk7XG4gICAgICAgICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNoYW5nZVllYXIobmV3WWVhcikge1xuICAgICAgICBpZiAoIW5ld1llYXIgfHwgc2VsZi5jb25maWcubWluRGF0ZSAmJiBuZXdZZWFyIDwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpIHx8IHNlbGYuY29uZmlnLm1heERhdGUgJiYgbmV3WWVhciA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSkgcmV0dXJuO1xuICAgICAgICB2YXIgbmV3WWVhck51bSA9IG5ld1llYXIsXG4gICAgICAgICAgICBpc05ld1llYXIgPSBzZWxmLmN1cnJlbnRZZWFyICE9PSBuZXdZZWFyTnVtO1xuICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0gbmV3WWVhck51bSB8fCBzZWxmLmN1cnJlbnRZZWFyO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY3VycmVudFllYXIgPT09IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSkge1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gTWF0aC5taW4oc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNb250aCgpLCBzZWxmLmN1cnJlbnRNb250aCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmN1cnJlbnRZZWFyID09PSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IE1hdGgubWF4KHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0TW9udGgoKSwgc2VsZi5jdXJyZW50TW9udGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTmV3WWVhcikge1xuICAgICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRW5hYmxlZChkYXRlLCB0aW1lbGVzcykge1xuICAgICAgICBpZiAodGltZWxlc3MgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRpbWVsZXNzID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYXRlVG9DaGVjayA9IHNlbGYucGFyc2VEYXRlKGRhdGUsIHVuZGVmaW5lZCwgdGltZWxlc3MpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBkYXRlVG9DaGVjayAmJiBjb21wYXJlRGF0ZXMoZGF0ZVRvQ2hlY2ssIHNlbGYuY29uZmlnLm1pbkRhdGUsIHRpbWVsZXNzICE9PSB1bmRlZmluZWQgPyB0aW1lbGVzcyA6ICFzZWxmLm1pbkRhdGVIYXNUaW1lKSA8IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZSAmJiBkYXRlVG9DaGVjayAmJiBjb21wYXJlRGF0ZXMoZGF0ZVRvQ2hlY2ssIHNlbGYuY29uZmlnLm1heERhdGUsIHRpbWVsZXNzICE9PSB1bmRlZmluZWQgPyB0aW1lbGVzcyA6ICFzZWxmLm1heERhdGVIYXNUaW1lKSA+IDApIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZS5sZW5ndGggPT09IDAgJiYgc2VsZi5jb25maWcuZGlzYWJsZS5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoZGF0ZVRvQ2hlY2sgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgYm9vbCA9IHNlbGYuY29uZmlnLmVuYWJsZS5sZW5ndGggPiAwLFxuICAgICAgICAgICAgYXJyYXkgPSBib29sID8gc2VsZi5jb25maWcuZW5hYmxlIDogc2VsZi5jb25maWcuZGlzYWJsZTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMCwgZDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZCA9IGFycmF5W2ldO1xuICAgICAgICAgIGlmICh0eXBlb2YgZCA9PT0gXCJmdW5jdGlvblwiICYmIGQoZGF0ZVRvQ2hlY2spKSByZXR1cm4gYm9vbDtlbHNlIGlmIChkIGluc3RhbmNlb2YgRGF0ZSAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkICYmIGQuZ2V0VGltZSgpID09PSBkYXRlVG9DaGVjay5nZXRUaW1lKCkpIHJldHVybiBib29sO2Vsc2UgaWYgKHR5cGVvZiBkID09PSBcInN0cmluZ1wiICYmIGRhdGVUb0NoZWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZhciBwYXJzZWQgPSBzZWxmLnBhcnNlRGF0ZShkLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZCAmJiBwYXJzZWQuZ2V0VGltZSgpID09PSBkYXRlVG9DaGVjay5nZXRUaW1lKCkgPyBib29sIDogIWJvb2w7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZCA9PT0gXCJvYmplY3RcIiAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkICYmIGQuZnJvbSAmJiBkLnRvICYmIGRhdGVUb0NoZWNrLmdldFRpbWUoKSA+PSBkLmZyb20uZ2V0VGltZSgpICYmIGRhdGVUb0NoZWNrLmdldFRpbWUoKSA8PSBkLnRvLmdldFRpbWUoKSkgcmV0dXJuIGJvb2w7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gIWJvb2w7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzSW5WaWV3KGVsZW0pIHtcbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSByZXR1cm4gZWxlbS5jbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgc2VsZi5kYXlzQ29udGFpbmVyLmNvbnRhaW5zKGVsZW0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgICAgIHZhciBpc0lucHV0ID0gZS50YXJnZXQgPT09IHNlbGYuX2lucHV0O1xuICAgICAgICB2YXIgYWxsb3dJbnB1dCA9IHNlbGYuY29uZmlnLmFsbG93SW5wdXQ7XG4gICAgICAgIHZhciBhbGxvd0tleWRvd24gPSBzZWxmLmlzT3BlbiAmJiAoIWFsbG93SW5wdXQgfHwgIWlzSW5wdXQpO1xuICAgICAgICB2YXIgYWxsb3dJbmxpbmVLZXlkb3duID0gc2VsZi5jb25maWcuaW5saW5lICYmIGlzSW5wdXQgJiYgIWFsbG93SW5wdXQ7XG5cbiAgICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMTMgJiYgaXNJbnB1dCkge1xuICAgICAgICAgIGlmIChhbGxvd0lucHV0KSB7XG4gICAgICAgICAgICBzZWxmLnNldERhdGUoc2VsZi5faW5wdXQudmFsdWUsIHRydWUsIGUudGFyZ2V0ID09PSBzZWxmLmFsdElucHV0ID8gc2VsZi5jb25maWcuYWx0Rm9ybWF0IDogc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICByZXR1cm4gZS50YXJnZXQuYmx1cigpO1xuICAgICAgICAgIH0gZWxzZSBzZWxmLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0NhbGVuZGFyRWxlbShlLnRhcmdldCkgfHwgYWxsb3dLZXlkb3duIHx8IGFsbG93SW5saW5lS2V5ZG93bikge1xuICAgICAgICAgIHZhciBpc1RpbWVPYmogPSAhIXNlbGYudGltZUNvbnRhaW5lciAmJiBzZWxmLnRpbWVDb250YWluZXIuY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICAgICAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgMTM6XG4gICAgICAgICAgICAgIGlmIChpc1RpbWVPYmopIHVwZGF0ZVRpbWUoKTtlbHNlIHNlbGVjdERhdGUoZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDI3OlxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGZvY3VzQW5kQ2xvc2UoKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgIGNhc2UgNDY6XG4gICAgICAgICAgICAgIGlmIChpc0lucHV0ICYmICFzZWxmLmNvbmZpZy5hbGxvd0lucHV0KSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHNlbGYuY2xlYXIoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDM3OlxuICAgICAgICAgICAgY2FzZSAzOTpcbiAgICAgICAgICAgICAgaWYgKCFpc1RpbWVPYmopIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICE9PSB1bmRlZmluZWQgJiYgKGFsbG93SW5wdXQgPT09IGZhbHNlIHx8IGlzSW5WaWV3KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSkge1xuICAgICAgICAgICAgICAgICAgdmFyIF9kZWx0YSA9IGUua2V5Q29kZSA9PT0gMzkgPyAxIDogLTE7XG5cbiAgICAgICAgICAgICAgICAgIGlmICghZS5jdHJsS2V5KSBmb2N1c09uRGF5KHVuZGVmaW5lZCwgX2RlbHRhKTtlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlTW9udGgoX2RlbHRhKTtcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNPbkRheShnZXRGaXJzdEF2YWlsYWJsZURheSgxKSwgMCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGYuaG91ckVsZW1lbnQpIHNlbGYuaG91ckVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAzODpcbiAgICAgICAgICAgIGNhc2UgNDA6XG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgdmFyIGRlbHRhID0gZS5rZXlDb2RlID09PSA0MCA/IDEgOiAtMTtcblxuICAgICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGUuY3RybEtleSkge1xuICAgICAgICAgICAgICAgICAgY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyIC0gZGVsdGEpO1xuICAgICAgICAgICAgICAgICAgZm9jdXNPbkRheShnZXRGaXJzdEF2YWlsYWJsZURheSgxKSwgMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNUaW1lT2JqKSBmb2N1c09uRGF5KHVuZGVmaW5lZCwgZGVsdGEgKiA3KTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1RpbWVPYmogJiYgc2VsZi5ob3VyRWxlbWVudCkgc2VsZi5ob3VyRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVRpbWUoZSk7XG5cbiAgICAgICAgICAgICAgICBzZWxmLl9kZWJvdW5jZWRDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICAgIGlmICghaXNUaW1lT2JqKSBicmVhaztcbiAgICAgICAgICAgICAgdmFyIGVsZW1zID0gW3NlbGYuaG91ckVsZW1lbnQsIHNlbGYubWludXRlRWxlbWVudCwgc2VsZi5zZWNvbmRFbGVtZW50LCBzZWxmLmFtUE1dLmZpbHRlcihmdW5jdGlvbiAoeCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdmFyIGkgPSBlbGVtcy5pbmRleE9mKGUudGFyZ2V0KTtcblxuICAgICAgICAgICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZWxlbXNbaSArIChlLnNoaWZ0S2V5ID8gLTEgOiAxKV07XG5cbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQgJiYgZS50YXJnZXQgPT09IHNlbGYuYW1QTSkge1xuICAgICAgICAgIHN3aXRjaCAoZS5rZXkpIHtcbiAgICAgICAgICAgIGNhc2Ugc2VsZi5sMTBuLmFtUE1bMF0uY2hhckF0KDApOlxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVswXS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1bMF07XG4gICAgICAgICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVsxXS5jaGFyQXQoMCk6XG4gICAgICAgICAgICBjYXNlIHNlbGYubDEwbi5hbVBNWzFdLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICAgICAgICBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVsxXTtcbiAgICAgICAgICAgICAgc2V0SG91cnNGcm9tSW5wdXRzKCk7XG4gICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uS2V5RG93blwiLCBlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25Nb3VzZU92ZXIoZWxlbSkge1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCAhPT0gMSB8fCAhZWxlbS5jbGFzc0xpc3QuY29udGFpbnMoXCJmbGF0cGlja3ItZGF5XCIpIHx8IGVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKFwiZGlzYWJsZWRcIikpIHJldHVybjtcbiAgICAgICAgdmFyIGhvdmVyRGF0ZSA9IGVsZW0uZGF0ZU9iai5nZXRUaW1lKCksXG4gICAgICAgICAgICBpbml0aWFsRGF0ZSA9IHNlbGYucGFyc2VEYXRlKHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdW5kZWZpbmVkLCB0cnVlKS5nZXRUaW1lKCksXG4gICAgICAgICAgICByYW5nZVN0YXJ0RGF0ZSA9IE1hdGgubWluKGhvdmVyRGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKSksXG4gICAgICAgICAgICByYW5nZUVuZERhdGUgPSBNYXRoLm1heChob3ZlckRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkpO1xuICAgICAgICB2YXIgY29udGFpbnNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB2YXIgbWluUmFuZ2UgPSAwLFxuICAgICAgICAgICAgbWF4UmFuZ2UgPSAwO1xuXG4gICAgICAgIGZvciAodmFyIHQgPSByYW5nZVN0YXJ0RGF0ZTsgdCA8IHJhbmdlRW5kRGF0ZTsgdCArPSBkdXJhdGlvbi5EQVkpIHtcbiAgICAgICAgICBpZiAoIWlzRW5hYmxlZChuZXcgRGF0ZSh0KSwgdHJ1ZSkpIHtcbiAgICAgICAgICAgIGNvbnRhaW5zRGlzYWJsZWQgPSBjb250YWluc0Rpc2FibGVkIHx8IHQgPiByYW5nZVN0YXJ0RGF0ZSAmJiB0IDwgcmFuZ2VFbmREYXRlO1xuICAgICAgICAgICAgaWYgKHQgPCBpbml0aWFsRGF0ZSAmJiAoIW1pblJhbmdlIHx8IHQgPiBtaW5SYW5nZSkpIG1pblJhbmdlID0gdDtlbHNlIGlmICh0ID4gaW5pdGlhbERhdGUgJiYgKCFtYXhSYW5nZSB8fCB0IDwgbWF4UmFuZ2UpKSBtYXhSYW5nZSA9IHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IDA7IG0gPCBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBtKyspIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBzZWxmLmRheXNDb250YWluZXIuY2hpbGRyZW5bbV07XG4gICAgICAgICAgdmFyIHByZXZNb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttIC0gMV07XG5cbiAgICAgICAgICB2YXIgX2xvb3AgPSBmdW5jdGlvbiBfbG9vcChpLCBsKSB7XG4gICAgICAgICAgICB2YXIgZGF5RWxlbSA9IG1vbnRoLmNoaWxkcmVuW2ldLFxuICAgICAgICAgICAgICAgIGRhdGUgPSBkYXlFbGVtLmRhdGVPYmo7XG4gICAgICAgICAgICB2YXIgdGltZXN0YW1wID0gZGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgICAgICB2YXIgb3V0T2ZSYW5nZSA9IG1pblJhbmdlID4gMCAmJiB0aW1lc3RhbXAgPCBtaW5SYW5nZSB8fCBtYXhSYW5nZSA+IDAgJiYgdGltZXN0YW1wID4gbWF4UmFuZ2U7XG5cbiAgICAgICAgICAgIGlmIChvdXRPZlJhbmdlKSB7XG4gICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LmFkZChcIm5vdEFsbG93ZWRcIik7XG4gICAgICAgICAgICAgIFtcImluUmFuZ2VcIiwgXCJzdGFydFJhbmdlXCIsIFwiZW5kUmFuZ2VcIl0uZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LnJlbW92ZShjKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJldHVybiBcImNvbnRpbnVlXCI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5zRGlzYWJsZWQgJiYgIW91dE9mUmFuZ2UpIHJldHVybiBcImNvbnRpbnVlXCI7XG5cbiAgICAgICAgICAgIFtcInN0YXJ0UmFuZ2VcIiwgXCJpblJhbmdlXCIsIFwiZW5kUmFuZ2VcIiwgXCJub3RBbGxvd2VkXCJdLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgICAgICAgZGF5RWxlbS5jbGFzc0xpc3QucmVtb3ZlKGMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbGVtLmNsYXNzTGlzdC5hZGQoaG92ZXJEYXRlIDwgc2VsZi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKSA/IFwic3RhcnRSYW5nZVwiIDogXCJlbmRSYW5nZVwiKTtcblxuICAgICAgICAgICAgaWYgKG1vbnRoLmNvbnRhaW5zKGVsZW0pIHx8ICEobSA+IDAgJiYgcHJldk1vbnRoICYmIHByZXZNb250aC5sYXN0Q2hpbGQuZGF0ZU9iai5nZXRUaW1lKCkgPj0gdGltZXN0YW1wKSkge1xuICAgICAgICAgICAgICBpZiAoaW5pdGlhbERhdGUgPCBob3ZlckRhdGUgJiYgdGltZXN0YW1wID09PSBpbml0aWFsRGF0ZSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwic3RhcnRSYW5nZVwiKTtlbHNlIGlmIChpbml0aWFsRGF0ZSA+IGhvdmVyRGF0ZSAmJiB0aW1lc3RhbXAgPT09IGluaXRpYWxEYXRlKSBkYXlFbGVtLmNsYXNzTGlzdC5hZGQoXCJlbmRSYW5nZVwiKTtcbiAgICAgICAgICAgICAgaWYgKHRpbWVzdGFtcCA+PSBtaW5SYW5nZSAmJiAobWF4UmFuZ2UgPT09IDAgfHwgdGltZXN0YW1wIDw9IG1heFJhbmdlKSAmJiBpc0JldHdlZW4odGltZXN0YW1wLCBpbml0aWFsRGF0ZSwgaG92ZXJEYXRlKSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwiaW5SYW5nZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBtb250aC5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBfcmV0ID0gX2xvb3AoaSwgbCk7XG5cbiAgICAgICAgICAgIGlmIChfcmV0ID09PSBcImNvbnRpbnVlXCIpIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvblJlc2l6ZSgpIHtcbiAgICAgICAgaWYgKHNlbGYuaXNPcGVuICYmICFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgIXNlbGYuY29uZmlnLmlubGluZSkgcG9zaXRpb25DYWxlbmRhcigpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvcGVuKGUsIHBvc2l0aW9uRWxlbWVudCkge1xuICAgICAgICBpZiAocG9zaXRpb25FbGVtZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgICBwb3NpdGlvbkVsZW1lbnQgPSBzZWxmLl9pbnB1dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmlzTW9iaWxlID09PSB0cnVlKSB7XG4gICAgICAgICAgaWYgKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUudGFyZ2V0ICYmIGUudGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNlbGYubW9iaWxlSW5wdXQgIT09IHVuZGVmaW5lZCAmJiBzZWxmLm1vYmlsZUlucHV0LmZvY3VzKCk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25PcGVuXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLl9pbnB1dC5kaXNhYmxlZCB8fCBzZWxmLmNvbmZpZy5pbmxpbmUpIHJldHVybjtcbiAgICAgICAgdmFyIHdhc09wZW4gPSBzZWxmLmlzT3BlbjtcbiAgICAgICAgc2VsZi5pc09wZW4gPSB0cnVlO1xuXG4gICAgICAgIGlmICghd2FzT3Blbikge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcIm9wZW5cIik7XG5cbiAgICAgICAgICBzZWxmLl9pbnB1dC5jbGFzc0xpc3QuYWRkKFwiYWN0aXZlXCIpO1xuXG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25PcGVuXCIpO1xuICAgICAgICAgIHBvc2l0aW9uQ2FsZW5kYXIocG9zaXRpb25FbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lID09PSB0cnVlICYmIHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPT09IHRydWUpIHtcbiAgICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2VsZi5zZXREYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCA/IG5ldyBEYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0VGltZSgpKSA6IG5ldyBEYXRlKCksIGZhbHNlKTtcbiAgICAgICAgICAgIHNldERlZmF1bHRIb3VycygpO1xuICAgICAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuYWxsb3dJbnB1dCA9PT0gZmFsc2UgJiYgKGUgPT09IHVuZGVmaW5lZCB8fCAhc2VsZi50aW1lQ29udGFpbmVyLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkpKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaG91ckVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG1pbk1heERhdGVTZXR0ZXIodHlwZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICB2YXIgZGF0ZU9iaiA9IHNlbGYuY29uZmlnW1wiX1wiICsgdHlwZSArIFwiRGF0ZVwiXSA9IHNlbGYucGFyc2VEYXRlKGRhdGUsIHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICAgIHZhciBpbnZlcnNlRGF0ZU9iaiA9IHNlbGYuY29uZmlnW1wiX1wiICsgKHR5cGUgPT09IFwibWluXCIgPyBcIm1heFwiIDogXCJtaW5cIikgKyBcIkRhdGVcIl07XG5cbiAgICAgICAgICBpZiAoZGF0ZU9iaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZWxmW3R5cGUgPT09IFwibWluXCIgPyBcIm1pbkRhdGVIYXNUaW1lXCIgOiBcIm1heERhdGVIYXNUaW1lXCJdID0gZGF0ZU9iai5nZXRIb3VycygpID4gMCB8fCBkYXRlT2JqLmdldE1pbnV0ZXMoKSA+IDAgfHwgZGF0ZU9iai5nZXRTZWNvbmRzKCkgPiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMpIHtcbiAgICAgICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IHNlbGYuc2VsZWN0ZWREYXRlcy5maWx0ZXIoZnVuY3Rpb24gKGQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGlzRW5hYmxlZChkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoICYmIHR5cGUgPT09IFwibWluXCIpIHNldEhvdXJzRnJvbURhdGUoZGF0ZU9iaik7XG4gICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIpIHtcbiAgICAgICAgICAgIHJlZHJhdygpO1xuICAgICAgICAgICAgaWYgKGRhdGVPYmogIT09IHVuZGVmaW5lZCkgc2VsZi5jdXJyZW50WWVhckVsZW1lbnRbdHlwZV0gPSBkYXRlT2JqLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtlbHNlIHNlbGYuY3VycmVudFllYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0eXBlKTtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudFllYXJFbGVtZW50LmRpc2FibGVkID0gISFpbnZlcnNlRGF0ZU9iaiAmJiBkYXRlT2JqICE9PSB1bmRlZmluZWQgJiYgaW52ZXJzZURhdGVPYmouZ2V0RnVsbFllYXIoKSA9PT0gZGF0ZU9iai5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcGFyc2VDb25maWcoKSB7XG4gICAgICAgIHZhciBib29sT3B0cyA9IFtcIndyYXBcIiwgXCJ3ZWVrTnVtYmVyc1wiLCBcImFsbG93SW5wdXRcIiwgXCJjbGlja09wZW5zXCIsIFwidGltZV8yNGhyXCIsIFwiZW5hYmxlVGltZVwiLCBcIm5vQ2FsZW5kYXJcIiwgXCJhbHRJbnB1dFwiLCBcInNob3J0aGFuZEN1cnJlbnRNb250aFwiLCBcImlubGluZVwiLCBcInN0YXRpY1wiLCBcImVuYWJsZVNlY29uZHNcIiwgXCJkaXNhYmxlTW9iaWxlXCJdO1xuICAgICAgICB2YXIgaG9va3MgPSBbXCJvbkNoYW5nZVwiLCBcIm9uQ2xvc2VcIiwgXCJvbkRheUNyZWF0ZVwiLCBcIm9uRGVzdHJveVwiLCBcIm9uS2V5RG93blwiLCBcIm9uTW9udGhDaGFuZ2VcIiwgXCJvbk9wZW5cIiwgXCJvblBhcnNlQ29uZmlnXCIsIFwib25SZWFkeVwiLCBcIm9uVmFsdWVVcGRhdGVcIiwgXCJvblllYXJDaGFuZ2VcIiwgXCJvblByZUNhbGVuZGFyUG9zaXRpb25cIl07XG4gICAgICAgIHZhciB1c2VyQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgaW5zdGFuY2VDb25maWcsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZWxlbWVudC5kYXRhc2V0IHx8IHt9KSkpO1xuICAgICAgICB2YXIgZm9ybWF0cyQkMSA9IHt9O1xuICAgICAgICBzZWxmLmNvbmZpZy5wYXJzZURhdGUgPSB1c2VyQ29uZmlnLnBhcnNlRGF0ZTtcbiAgICAgICAgc2VsZi5jb25maWcuZm9ybWF0RGF0ZSA9IHVzZXJDb25maWcuZm9ybWF0RGF0ZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcImVuYWJsZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX2VuYWJsZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGRhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZy5fZW5hYmxlID0gcGFyc2VEYXRlUnVsZXMoZGF0ZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJkaXNhYmxlXCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5fZGlzYWJsZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGRhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZy5fZGlzYWJsZSA9IHBhcnNlRGF0ZVJ1bGVzKGRhdGVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgdGltZU1vZGUgPSB1c2VyQ29uZmlnLm1vZGUgPT09IFwidGltZVwiO1xuXG4gICAgICAgIGlmICghdXNlckNvbmZpZy5kYXRlRm9ybWF0ICYmICh1c2VyQ29uZmlnLmVuYWJsZVRpbWUgfHwgdGltZU1vZGUpKSB7XG4gICAgICAgICAgZm9ybWF0cyQkMS5kYXRlRm9ybWF0ID0gdXNlckNvbmZpZy5ub0NhbGVuZGFyIHx8IHRpbWVNb2RlID8gXCJIOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTXCIgOiBcIlwiKSA6IGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnLmRhdGVGb3JtYXQgKyBcIiBIOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTXCIgOiBcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VyQ29uZmlnLmFsdElucHV0ICYmICh1c2VyQ29uZmlnLmVuYWJsZVRpbWUgfHwgdGltZU1vZGUpICYmICF1c2VyQ29uZmlnLmFsdEZvcm1hdCkge1xuICAgICAgICAgIGZvcm1hdHMkJDEuYWx0Rm9ybWF0ID0gdXNlckNvbmZpZy5ub0NhbGVuZGFyIHx8IHRpbWVNb2RlID8gXCJoOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTIEtcIiA6IFwiIEtcIikgOiBmbGF0cGlja3IuZGVmYXVsdENvbmZpZy5hbHRGb3JtYXQgKyAoXCIgaDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6U1wiIDogXCJcIikgKyBcIiBLXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1pbkRhdGVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9taW5EYXRlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhEYXRlU2V0dGVyKFwibWluXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwibWF4RGF0ZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX21heERhdGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IG1pbk1heERhdGVTZXR0ZXIoXCJtYXhcIilcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIG1pbk1heFRpbWVTZXR0ZXIgPSBmdW5jdGlvbiBtaW5NYXhUaW1lU2V0dGVyKHR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgICAgc2VsZi5jb25maWdbdHlwZSA9PT0gXCJtaW5cIiA/IFwiX21pblRpbWVcIiA6IFwiX21heFRpbWVcIl0gPSBzZWxmLnBhcnNlRGF0ZSh2YWwsIFwiSDppXCIpO1xuICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1pblRpbWVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9taW5UaW1lO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhUaW1lU2V0dGVyKFwibWluXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwibWF4VGltZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX21heFRpbWU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IG1pbk1heFRpbWVTZXR0ZXIoXCJtYXhcIilcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHVzZXJDb25maWcubW9kZSA9PT0gXCJ0aW1lXCIpIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyID0gdHJ1ZTtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5lbmFibGVUaW1lID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5hc3NpZ24oc2VsZi5jb25maWcsIGZvcm1hdHMkJDEsIHVzZXJDb25maWcpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYm9vbE9wdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZ1tib29sT3B0c1tpXV0gPSBzZWxmLmNvbmZpZ1tib29sT3B0c1tpXV0gPT09IHRydWUgfHwgc2VsZi5jb25maWdbYm9vbE9wdHNbaV1dID09PSBcInRydWVcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIF9pID0gaG9va3MubGVuZ3RoOyBfaS0tOykge1xuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZ1tob29rc1tfaV1dICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY29uZmlnW2hvb2tzW19pXV0gPSBhcnJheWlmeShzZWxmLmNvbmZpZ1tob29rc1tfaV1dIHx8IFtdKS5tYXAoYmluZFRvSW5zdGFuY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuaXNNb2JpbGUgPSAhc2VsZi5jb25maWcuZGlzYWJsZU1vYmlsZSAmJiAhc2VsZi5jb25maWcuaW5saW5lICYmIHNlbGYuY29uZmlnLm1vZGUgPT09IFwic2luZ2xlXCIgJiYgIXNlbGYuY29uZmlnLmRpc2FibGUubGVuZ3RoICYmICFzZWxmLmNvbmZpZy5lbmFibGUubGVuZ3RoICYmICFzZWxmLmNvbmZpZy53ZWVrTnVtYmVycyAmJiAvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbiAgICAgICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgc2VsZi5jb25maWcucGx1Z2lucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICAgICAgdmFyIHBsdWdpbkNvbmYgPSBzZWxmLmNvbmZpZy5wbHVnaW5zW19pMl0oc2VsZikgfHwge307XG5cbiAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGx1Z2luQ29uZikge1xuICAgICAgICAgICAgaWYgKH5ob29rcy5pbmRleE9mKGtleSkpIHtcbiAgICAgICAgICAgICAgc2VsZi5jb25maWdba2V5XSA9IGFycmF5aWZ5KHBsdWdpbkNvbmZba2V5XSkubWFwKGJpbmRUb0luc3RhbmNlKS5jb25jYXQoc2VsZi5jb25maWdba2V5XSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB1c2VyQ29uZmlnW2tleV0gPT09IFwidW5kZWZpbmVkXCIpIHNlbGYuY29uZmlnW2tleV0gPSBwbHVnaW5Db25mW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25QYXJzZUNvbmZpZ1wiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0dXBMb2NhbGUoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2VsZi5jb25maWcubG9jYWxlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBmbGF0cGlja3IubDEwbnNbc2VsZi5jb25maWcubG9jYWxlXSA9PT0gXCJ1bmRlZmluZWRcIikgc2VsZi5jb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcImZsYXRwaWNrcjogaW52YWxpZCBsb2NhbGUgXCIgKyBzZWxmLmNvbmZpZy5sb2NhbGUpKTtcbiAgICAgICAgc2VsZi5sMTBuID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQsIHR5cGVvZiBzZWxmLmNvbmZpZy5sb2NhbGUgPT09IFwib2JqZWN0XCIgPyBzZWxmLmNvbmZpZy5sb2NhbGUgOiBzZWxmLmNvbmZpZy5sb2NhbGUgIT09IFwiZGVmYXVsdFwiID8gZmxhdHBpY2tyLmwxMG5zW3NlbGYuY29uZmlnLmxvY2FsZV0gOiB1bmRlZmluZWQpO1xuICAgICAgICB0b2tlblJlZ2V4LksgPSBcIihcIiArIHNlbGYubDEwbi5hbVBNWzBdICsgXCJ8XCIgKyBzZWxmLmwxMG4uYW1QTVsxXSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMF0udG9Mb3dlckNhc2UoKSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMV0udG9Mb3dlckNhc2UoKSArIFwiKVwiO1xuICAgICAgICBzZWxmLmZvcm1hdERhdGUgPSBjcmVhdGVEYXRlRm9ybWF0dGVyKHNlbGYpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBwb3NpdGlvbkNhbGVuZGFyKGN1c3RvbVBvc2l0aW9uRWxlbWVudCkge1xuICAgICAgICBpZiAoc2VsZi5jYWxlbmRhckNvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uUHJlQ2FsZW5kYXJQb3NpdGlvblwiKTtcbiAgICAgICAgdmFyIHBvc2l0aW9uRWxlbWVudCA9IGN1c3RvbVBvc2l0aW9uRWxlbWVudCB8fCBzZWxmLl9wb3NpdGlvbkVsZW1lbnQ7XG4gICAgICAgIHZhciBjYWxlbmRhckhlaWdodCA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNoaWxkcmVuLCBmdW5jdGlvbiAoYWNjLCBjaGlsZCkge1xuICAgICAgICAgIHJldHVybiBhY2MgKyBjaGlsZC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH0sIDApLFxuICAgICAgICAgICAgY2FsZW5kYXJXaWR0aCA9IHNlbGYuY2FsZW5kYXJDb250YWluZXIub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBjb25maWdQb3MgPSBzZWxmLmNvbmZpZy5wb3NpdGlvbi5zcGxpdChcIiBcIiksXG4gICAgICAgICAgICBjb25maWdQb3NWZXJ0aWNhbCA9IGNvbmZpZ1Bvc1swXSxcbiAgICAgICAgICAgIGNvbmZpZ1Bvc0hvcml6b250YWwgPSBjb25maWdQb3MubGVuZ3RoID4gMSA/IGNvbmZpZ1Bvc1sxXSA6IG51bGwsXG4gICAgICAgICAgICBpbnB1dEJvdW5kcyA9IHBvc2l0aW9uRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICAgIGRpc3RhbmNlRnJvbUJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGlucHV0Qm91bmRzLmJvdHRvbSxcbiAgICAgICAgICAgIHNob3dPblRvcCA9IGNvbmZpZ1Bvc1ZlcnRpY2FsID09PSBcImFib3ZlXCIgfHwgY29uZmlnUG9zVmVydGljYWwgIT09IFwiYmVsb3dcIiAmJiBkaXN0YW5jZUZyb21Cb3R0b20gPCBjYWxlbmRhckhlaWdodCAmJiBpbnB1dEJvdW5kcy50b3AgPiBjYWxlbmRhckhlaWdodDtcbiAgICAgICAgdmFyIHRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCArIGlucHV0Qm91bmRzLnRvcCArICghc2hvd09uVG9wID8gcG9zaXRpb25FbGVtZW50Lm9mZnNldEhlaWdodCArIDIgOiAtY2FsZW5kYXJIZWlnaHQgLSAyKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhcnJvd1RvcFwiLCAhc2hvd09uVG9wKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhcnJvd0JvdHRvbVwiLCBzaG93T25Ub3ApO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lKSByZXR1cm47XG4gICAgICAgIHZhciBsZWZ0ID0gd2luZG93LnBhZ2VYT2Zmc2V0ICsgaW5wdXRCb3VuZHMubGVmdCAtIChjb25maWdQb3NIb3Jpem9udGFsICE9IG51bGwgJiYgY29uZmlnUG9zSG9yaXpvbnRhbCA9PT0gXCJjZW50ZXJcIiA/IChjYWxlbmRhcldpZHRoIC0gaW5wdXRCb3VuZHMud2lkdGgpIC8gMiA6IDApO1xuICAgICAgICB2YXIgcmlnaHQgPSB3aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCAtIGlucHV0Qm91bmRzLnJpZ2h0O1xuICAgICAgICB2YXIgcmlnaHRNb3N0ID0gbGVmdCArIGNhbGVuZGFyV2lkdGggPiB3aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJyaWdodE1vc3RcIiwgcmlnaHRNb3N0KTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLnN0YXRpYykgcmV0dXJuO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArIFwicHhcIjtcblxuICAgICAgICBpZiAoIXJpZ2h0TW9zdCkge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdCA9IGxlZnQgKyBcInB4XCI7XG4gICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yaWdodCA9IFwiYXV0b1wiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdCA9IFwiYXV0b1wiO1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmlnaHQgPSByaWdodCArIFwicHhcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiByZWRyYXcoKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5ub0NhbGVuZGFyIHx8IHNlbGYuaXNNb2JpbGUpIHJldHVybjtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZm9jdXNBbmRDbG9zZSgpIHtcbiAgICAgICAgc2VsZi5faW5wdXQuZm9jdXMoKTtcblxuICAgICAgICBpZiAod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIk1TSUVcIikgIT09IC0xIHx8IG5hdmlnYXRvci5tc01heFRvdWNoUG9pbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KHNlbGYuY2xvc2UsIDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZWxlY3REYXRlKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHZhciBpc1NlbGVjdGFibGUgPSBmdW5jdGlvbiBpc1NlbGVjdGFibGUoZGF5KSB7XG4gICAgICAgICAgcmV0dXJuIGRheS5jbGFzc0xpc3QgJiYgZGF5LmNsYXNzTGlzdC5jb250YWlucyhcImZsYXRwaWNrci1kYXlcIikgJiYgIWRheS5jbGFzc0xpc3QuY29udGFpbnMoXCJkaXNhYmxlZFwiKSAmJiAhZGF5LmNsYXNzTGlzdC5jb250YWlucyhcIm5vdEFsbG93ZWRcIik7XG4gICAgICAgIH07XG5cbiAgICAgICAgdmFyIHQgPSBmaW5kUGFyZW50KGUudGFyZ2V0LCBpc1NlbGVjdGFibGUpO1xuICAgICAgICBpZiAodCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHZhciB0YXJnZXQgPSB0O1xuICAgICAgICB2YXIgc2VsZWN0ZWREYXRlID0gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPSBuZXcgRGF0ZSh0YXJnZXQuZGF0ZU9iai5nZXRUaW1lKCkpO1xuICAgICAgICB2YXIgc2hvdWxkQ2hhbmdlTW9udGggPSAoc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPCBzZWxmLmN1cnJlbnRNb250aCB8fCBzZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA+IHNlbGYuY3VycmVudE1vbnRoICsgc2VsZi5jb25maWcuc2hvd01vbnRocyAtIDEpICYmIHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIjtcbiAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVFbGVtID0gdGFyZ2V0O1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJzaW5nbGVcIikgc2VsZi5zZWxlY3RlZERhdGVzID0gW3NlbGVjdGVkRGF0ZV07ZWxzZSBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICAgICAgdmFyIHNlbGVjdGVkSW5kZXggPSBpc0RhdGVTZWxlY3RlZChzZWxlY3RlZERhdGUpO1xuICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4KSBzZWxmLnNlbGVjdGVkRGF0ZXMuc3BsaWNlKHBhcnNlSW50KHNlbGVjdGVkSW5kZXgpLCAxKTtlbHNlIHNlbGYuc2VsZWN0ZWREYXRlcy5wdXNoKHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSB7XG4gICAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDIpIHNlbGYuY2xlYXIoZmFsc2UpO1xuICAgICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcy5wdXNoKHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgaWYgKGNvbXBhcmVEYXRlcyhzZWxlY3RlZERhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdHJ1ZSkgIT09IDApIHNlbGYuc2VsZWN0ZWREYXRlcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgICAgICByZXR1cm4gYS5nZXRUaW1lKCkgLSBiLmdldFRpbWUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZXRIb3Vyc0Zyb21JbnB1dHMoKTtcblxuICAgICAgICBpZiAoc2hvdWxkQ2hhbmdlTW9udGgpIHtcbiAgICAgICAgICB2YXIgaXNOZXdZZWFyID0gc2VsZi5jdXJyZW50WWVhciAhPT0gc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgc2VsZi5jdXJyZW50WWVhciA9IHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gc2VsZWN0ZWREYXRlLmdldE1vbnRoKCk7XG4gICAgICAgICAgaWYgKGlzTmV3WWVhcikgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uTW9udGhDaGFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVOYXZpZ2F0aW9uQ3VycmVudE1vbnRoKCk7XG4gICAgICAgIGJ1aWxkRGF5cygpO1xuICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUpIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBzZWxmLnNob3dUaW1lSW5wdXQgPSB0cnVlO1xuICAgICAgICB9LCA1MCk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBvbk1vdXNlT3Zlcih0YXJnZXQpO1xuICAgICAgICAgIH0gZWxzZSB1cGRhdGVOYXZpZ2F0aW9uQ3VycmVudE1vbnRoKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNob3VsZENoYW5nZU1vbnRoICYmIHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIiAmJiBzZWxmLmNvbmZpZy5zaG93TW9udGhzID09PSAxKSBmb2N1c09uRGF5RWxlbSh0YXJnZXQpO2Vsc2Ugc2VsZi5zZWxlY3RlZERhdGVFbGVtICYmIHNlbGYuc2VsZWN0ZWREYXRlRWxlbS5mb2N1cygpO1xuICAgICAgICBpZiAoc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkKSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHNlbGYuaG91ckVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIH0sIDQ1MSk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICB2YXIgc2luZ2xlID0gc2VsZi5jb25maWcubW9kZSA9PT0gXCJzaW5nbGVcIiAmJiAhc2VsZi5jb25maWcuZW5hYmxlVGltZTtcbiAgICAgICAgICB2YXIgcmFuZ2UgPSBzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIgJiYgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMiAmJiAhc2VsZi5jb25maWcuZW5hYmxlVGltZTtcblxuICAgICAgICAgIGlmIChzaW5nbGUgfHwgcmFuZ2UpIHtcbiAgICAgICAgICAgIGZvY3VzQW5kQ2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyQ2hhbmdlKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBDQUxMQkFDS1MgPSB7XG4gICAgICAgIGxvY2FsZTogW3NldHVwTG9jYWxlLCB1cGRhdGVXZWVrZGF5c10sXG4gICAgICAgIHNob3dNb250aHM6IFtidWlsZE1vbnRocywgc2V0Q2FsZW5kYXJXaWR0aCwgYnVpbGRXZWVrZGF5c11cbiAgICAgIH07XG5cbiAgICAgIGZ1bmN0aW9uIHNldChvcHRpb24sIHZhbHVlKSB7XG4gICAgICAgIGlmIChvcHRpb24gIT09IG51bGwgJiYgdHlwZW9mIG9wdGlvbiA9PT0gXCJvYmplY3RcIikgT2JqZWN0LmFzc2lnbihzZWxmLmNvbmZpZywgb3B0aW9uKTtlbHNlIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZ1tvcHRpb25dID0gdmFsdWU7XG4gICAgICAgICAgaWYgKENBTExCQUNLU1tvcHRpb25dICE9PSB1bmRlZmluZWQpIENBTExCQUNLU1tvcHRpb25dLmZvckVhY2goZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgIHJldHVybiB4KCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZi5yZWRyYXcoKTtcbiAgICAgICAganVtcFRvRGF0ZSgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRTZWxlY3RlZERhdGUoaW5wdXREYXRlLCBmb3JtYXQpIHtcbiAgICAgICAgdmFyIGRhdGVzID0gW107XG4gICAgICAgIGlmIChpbnB1dERhdGUgaW5zdGFuY2VvZiBBcnJheSkgZGF0ZXMgPSBpbnB1dERhdGUubWFwKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGYucGFyc2VEYXRlKGQsIGZvcm1hdCk7XG4gICAgICAgIH0pO2Vsc2UgaWYgKGlucHV0RGF0ZSBpbnN0YW5jZW9mIERhdGUgfHwgdHlwZW9mIGlucHV0RGF0ZSA9PT0gXCJudW1iZXJcIikgZGF0ZXMgPSBbc2VsZi5wYXJzZURhdGUoaW5wdXREYXRlLCBmb3JtYXQpXTtlbHNlIGlmICh0eXBlb2YgaW5wdXREYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgc3dpdGNoIChzZWxmLmNvbmZpZy5tb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwic2luZ2xlXCI6XG4gICAgICAgICAgICBjYXNlIFwidGltZVwiOlxuICAgICAgICAgICAgICBkYXRlcyA9IFtzZWxmLnBhcnNlRGF0ZShpbnB1dERhdGUsIGZvcm1hdCldO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcIm11bHRpcGxlXCI6XG4gICAgICAgICAgICAgIGRhdGVzID0gaW5wdXREYXRlLnNwbGl0KHNlbGYuY29uZmlnLmNvbmp1bmN0aW9uKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwicmFuZ2VcIjpcbiAgICAgICAgICAgICAgZGF0ZXMgPSBpbnB1dERhdGUuc3BsaXQoc2VsZi5sMTBuLnJhbmdlU2VwYXJhdG9yKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBzZWxmLmNvbmZpZy5lcnJvckhhbmRsZXIobmV3IEVycm9yKFwiSW52YWxpZCBkYXRlIHN1cHBsaWVkOiBcIiArIEpTT04uc3RyaW5naWZ5KGlucHV0RGF0ZSkpKTtcbiAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVzID0gZGF0ZXMuZmlsdGVyKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIGQgaW5zdGFuY2VvZiBEYXRlICYmIGlzRW5hYmxlZChkLCBmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSBzZWxmLnNlbGVjdGVkRGF0ZXMuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgIHJldHVybiBhLmdldFRpbWUoKSAtIGIuZ2V0VGltZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0RGF0ZShkYXRlLCB0cmlnZ2VyQ2hhbmdlLCBmb3JtYXQpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmb3JtYXQgPT09IHZvaWQgMCkge1xuICAgICAgICAgIGZvcm1hdCA9IHNlbGYuY29uZmlnLmRhdGVGb3JtYXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0ZSAhPT0gMCAmJiAhZGF0ZSB8fCBkYXRlIGluc3RhbmNlb2YgQXJyYXkgJiYgZGF0ZS5sZW5ndGggPT09IDApIHJldHVybiBzZWxmLmNsZWFyKHRyaWdnZXJDaGFuZ2UpO1xuICAgICAgICBzZXRTZWxlY3RlZERhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDA7XG4gICAgICAgIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gc2VsZi5zZWxlY3RlZERhdGVzWzBdO1xuICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICBqdW1wVG9EYXRlKCk7XG4gICAgICAgIHNldEhvdXJzRnJvbURhdGUoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUodHJpZ2dlckNoYW5nZSk7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlKSB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcGFyc2VEYXRlUnVsZXMoYXJyKSB7XG4gICAgICAgIHJldHVybiBhcnIuc2xpY2UoKS5tYXAoZnVuY3Rpb24gKHJ1bGUpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJ1bGUgPT09IFwibnVtYmVyXCIgfHwgcnVsZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLnBhcnNlRGF0ZShydWxlLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocnVsZSAmJiB0eXBlb2YgcnVsZSA9PT0gXCJvYmplY3RcIiAmJiBydWxlLmZyb20gJiYgcnVsZS50bykgcmV0dXJuIHtcbiAgICAgICAgICAgIGZyb206IHNlbGYucGFyc2VEYXRlKHJ1bGUuZnJvbSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHRvOiBzZWxmLnBhcnNlRGF0ZShydWxlLnRvLCB1bmRlZmluZWQpXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBydWxlO1xuICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwRGF0ZXMoKSB7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtdO1xuICAgICAgICBzZWxmLm5vdyA9IHNlbGYucGFyc2VEYXRlKHNlbGYuY29uZmlnLm5vdykgfHwgbmV3IERhdGUoKTtcbiAgICAgICAgdmFyIHByZWxvYWRlZERhdGUgPSBzZWxmLmNvbmZpZy5kZWZhdWx0RGF0ZSB8fCAoc2VsZi5pbnB1dC5wbGFjZWhvbGRlci5sZW5ndGggPiAwICYmIHNlbGYuaW5wdXQudmFsdWUgPT09IHNlbGYuaW5wdXQucGxhY2Vob2xkZXIgPyBudWxsIDogc2VsZi5pbnB1dC52YWx1ZSk7XG4gICAgICAgIGlmIChwcmVsb2FkZWREYXRlKSBzZXRTZWxlY3RlZERhdGUocHJlbG9hZGVkRGF0ZSwgc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgIHZhciBpbml0aWFsRGF0ZSA9IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwID8gc2VsZi5zZWxlY3RlZERhdGVzWzBdIDogc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmNvbmZpZy5taW5EYXRlLmdldFRpbWUoKSA+IHNlbGYubm93LmdldFRpbWUoKSA/IHNlbGYuY29uZmlnLm1pbkRhdGUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY29uZmlnLm1heERhdGUuZ2V0VGltZSgpIDwgc2VsZi5ub3cuZ2V0VGltZSgpID8gc2VsZi5jb25maWcubWF4RGF0ZSA6IHNlbGYubm93O1xuICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0gaW5pdGlhbERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSBpbml0aWFsRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDApIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gc2VsZi5zZWxlY3RlZERhdGVzWzBdO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluVGltZSAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5taW5UaW1lID0gc2VsZi5wYXJzZURhdGUoc2VsZi5jb25maWcubWluVGltZSwgXCJIOmlcIik7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQpIHNlbGYuY29uZmlnLm1heFRpbWUgPSBzZWxmLnBhcnNlRGF0ZShzZWxmLmNvbmZpZy5tYXhUaW1lLCBcIkg6aVwiKTtcbiAgICAgICAgc2VsZi5taW5EYXRlSGFzVGltZSA9ICEhc2VsZi5jb25maWcubWluRGF0ZSAmJiAoc2VsZi5jb25maWcubWluRGF0ZS5nZXRIb3VycygpID4gMCB8fCBzZWxmLmNvbmZpZy5taW5EYXRlLmdldE1pbnV0ZXMoKSA+IDAgfHwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRTZWNvbmRzKCkgPiAwKTtcbiAgICAgICAgc2VsZi5tYXhEYXRlSGFzVGltZSA9ICEhc2VsZi5jb25maWcubWF4RGF0ZSAmJiAoc2VsZi5jb25maWcubWF4RGF0ZS5nZXRIb3VycygpID4gMCB8fCBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldE1pbnV0ZXMoKSA+IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRTZWNvbmRzKCkgPiAwKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYsIFwic2hvd1RpbWVJbnB1dFwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2hvd1RpbWVJbnB1dDtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGJvb2wpIHtcbiAgICAgICAgICAgIHNlbGYuX3Nob3dUaW1lSW5wdXQgPSBib29sO1xuICAgICAgICAgICAgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIpIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwic2hvd1RpbWVJbnB1dFwiLCBib29sKTtcbiAgICAgICAgICAgIHNlbGYuaXNPcGVuICYmIHBvc2l0aW9uQ2FsZW5kYXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXR1cElucHV0cygpIHtcbiAgICAgICAgc2VsZi5pbnB1dCA9IHNlbGYuY29uZmlnLndyYXAgPyBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJbZGF0YS1pbnB1dF1cIikgOiBlbGVtZW50O1xuXG4gICAgICAgIGlmICghc2VsZi5pbnB1dCkge1xuICAgICAgICAgIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoXCJJbnZhbGlkIGlucHV0IGVsZW1lbnQgc3BlY2lmaWVkXCIpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmlucHV0Ll90eXBlID0gc2VsZi5pbnB1dC50eXBlO1xuICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgc2VsZi5pbnB1dC5jbGFzc0xpc3QuYWRkKFwiZmxhdHBpY2tyLWlucHV0XCIpO1xuICAgICAgICBzZWxmLl9pbnB1dCA9IHNlbGYuaW5wdXQ7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmFsdElucHV0KSB7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dCA9IGNyZWF0ZUVsZW1lbnQoc2VsZi5pbnB1dC5ub2RlTmFtZSwgc2VsZi5pbnB1dC5jbGFzc05hbWUgKyBcIiBcIiArIHNlbGYuY29uZmlnLmFsdElucHV0Q2xhc3MpO1xuICAgICAgICAgIHNlbGYuX2lucHV0ID0gc2VsZi5hbHRJbnB1dDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnBsYWNlaG9sZGVyID0gc2VsZi5pbnB1dC5wbGFjZWhvbGRlcjtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LmRpc2FibGVkID0gc2VsZi5pbnB1dC5kaXNhYmxlZDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnJlcXVpcmVkID0gc2VsZi5pbnB1dC5yZXF1aXJlZDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnRhYkluZGV4ID0gc2VsZi5pbnB1dC50YWJJbmRleDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgICBzZWxmLmlucHV0LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJoaWRkZW5cIik7XG4gICAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgc2VsZi5pbnB1dC5wYXJlbnROb2RlKSBzZWxmLmlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYuYWx0SW5wdXQsIHNlbGYuaW5wdXQubmV4dFNpYmxpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5hbGxvd0lucHV0KSBzZWxmLl9pbnB1dC5zZXRBdHRyaWJ1dGUoXCJyZWFkb25seVwiLCBcInJlYWRvbmx5XCIpO1xuICAgICAgICBzZWxmLl9wb3NpdGlvbkVsZW1lbnQgPSBzZWxmLmNvbmZpZy5wb3NpdGlvbkVsZW1lbnQgfHwgc2VsZi5faW5wdXQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwTW9iaWxlKCkge1xuICAgICAgICB2YXIgaW5wdXRUeXBlID0gc2VsZi5jb25maWcuZW5hYmxlVGltZSA/IHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPyBcInRpbWVcIiA6IFwiZGF0ZXRpbWUtbG9jYWxcIiA6IFwiZGF0ZVwiO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0ID0gY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHNlbGYuaW5wdXQuY2xhc3NOYW1lICsgXCIgZmxhdHBpY2tyLW1vYmlsZVwiKTtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5zdGVwID0gc2VsZi5pbnB1dC5nZXRBdHRyaWJ1dGUoXCJzdGVwXCIpIHx8IFwiYW55XCI7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQudGFiSW5kZXggPSAxO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnR5cGUgPSBpbnB1dFR5cGU7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQuZGlzYWJsZWQgPSBzZWxmLmlucHV0LmRpc2FibGVkO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnJlcXVpcmVkID0gc2VsZi5pbnB1dC5yZXF1aXJlZDtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5wbGFjZWhvbGRlciA9IHNlbGYuaW5wdXQucGxhY2Vob2xkZXI7XG4gICAgICAgIHNlbGYubW9iaWxlRm9ybWF0U3RyID0gaW5wdXRUeXBlID09PSBcImRhdGV0aW1lLWxvY2FsXCIgPyBcIlktbS1kXFxcXFRIOmk6U1wiIDogaW5wdXRUeXBlID09PSBcImRhdGVcIiA/IFwiWS1tLWRcIiA6IFwiSDppOlNcIjtcblxuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0LmRlZmF1bHRWYWx1ZSA9IHNlbGYubW9iaWxlSW5wdXQudmFsdWUgPSBzZWxmLmZvcm1hdERhdGUoc2VsZi5zZWxlY3RlZERhdGVzWzBdLCBzZWxmLm1vYmlsZUZvcm1hdFN0cik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSkgc2VsZi5tb2JpbGVJbnB1dC5taW4gPSBzZWxmLmZvcm1hdERhdGUoc2VsZi5jb25maWcubWluRGF0ZSwgXCJZLW0tZFwiKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1heERhdGUpIHNlbGYubW9iaWxlSW5wdXQubWF4ID0gc2VsZi5mb3JtYXREYXRlKHNlbGYuY29uZmlnLm1heERhdGUsIFwiWS1tLWRcIik7XG4gICAgICAgIHNlbGYuaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0ICE9PSB1bmRlZmluZWQpIHNlbGYuYWx0SW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc2VsZi5pbnB1dC5wYXJlbnROb2RlKSBzZWxmLmlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYubW9iaWxlSW5wdXQsIHNlbGYuaW5wdXQubmV4dFNpYmxpbmcpO1xuICAgICAgICB9IGNhdGNoIChfYSkge31cblxuICAgICAgICBiaW5kKHNlbGYubW9iaWxlSW5wdXQsIFwiY2hhbmdlXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgc2VsZi5zZXREYXRlKGUudGFyZ2V0LnZhbHVlLCBmYWxzZSwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2hhbmdlXCIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2xvc2VcIik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0b2dnbGUoZSkge1xuICAgICAgICBpZiAoc2VsZi5pc09wZW4gPT09IHRydWUpIHJldHVybiBzZWxmLmNsb3NlKCk7XG4gICAgICAgIHNlbGYub3BlbihlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdHJpZ2dlckV2ZW50KGV2ZW50LCBkYXRhKSB7XG4gICAgICAgIHZhciBob29rcyA9IHNlbGYuY29uZmlnW2V2ZW50XTtcblxuICAgICAgICBpZiAoaG9va3MgIT09IHVuZGVmaW5lZCAmJiBob29rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGhvb2tzW2ldICYmIGkgPCBob29rcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaG9va3NbaV0oc2VsZi5zZWxlY3RlZERhdGVzLCBzZWxmLmlucHV0LnZhbHVlLCBzZWxmLCBkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQgPT09IFwib25DaGFuZ2VcIikge1xuICAgICAgICAgIHNlbGYuaW5wdXQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudChcImNoYW5nZVwiKSk7XG4gICAgICAgICAgc2VsZi5pbnB1dC5kaXNwYXRjaEV2ZW50KGNyZWF0ZUV2ZW50KFwiaW5wdXRcIikpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNyZWF0ZUV2ZW50KG5hbWUpIHtcbiAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpO1xuICAgICAgICBlLmluaXRFdmVudChuYW1lLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRGF0ZVNlbGVjdGVkKGRhdGUpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoY29tcGFyZURhdGVzKHNlbGYuc2VsZWN0ZWREYXRlc1tpXSwgZGF0ZSkgPT09IDApIHJldHVybiBcIlwiICsgaTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaXNEYXRlSW5SYW5nZShkYXRlKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCIgfHwgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlcyhkYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0pID49IDAgJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSkgPD0gMDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgfHwgc2VsZi5pc01vYmlsZSB8fCAhc2VsZi5tb250aE5hdikgcmV0dXJuO1xuICAgICAgICBzZWxmLnllYXJFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh5ZWFyRWxlbWVudCwgaSkge1xuICAgICAgICAgIHZhciBkID0gbmV3IERhdGUoc2VsZi5jdXJyZW50WWVhciwgc2VsZi5jdXJyZW50TW9udGgsIDEpO1xuICAgICAgICAgIGQuc2V0TW9udGgoc2VsZi5jdXJyZW50TW9udGggKyBpKTtcbiAgICAgICAgICBzZWxmLm1vbnRoRWxlbWVudHNbaV0udGV4dENvbnRlbnQgPSBtb250aFRvU3RyKGQuZ2V0TW9udGgoKSwgc2VsZi5jb25maWcuc2hvcnRoYW5kQ3VycmVudE1vbnRoLCBzZWxmLmwxMG4pICsgXCIgXCI7XG4gICAgICAgICAgeWVhckVsZW1lbnQudmFsdWUgPSBkLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGYuX2hpZGVQcmV2TW9udGhBcnJvdyA9IHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCAmJiAoc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpID8gc2VsZi5jdXJyZW50TW9udGggPD0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50WWVhciA8IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIHNlbGYuX2hpZGVOZXh0TW9udGhBcnJvdyA9IHNlbGYuY29uZmlnLm1heERhdGUgIT09IHVuZGVmaW5lZCAmJiAoc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpID8gc2VsZi5jdXJyZW50TW9udGggKyAxID4gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50WWVhciA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZVZhbHVlKHRyaWdnZXJDaGFuZ2UpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2UgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDApIHJldHVybiBzZWxmLmNsZWFyKHRyaWdnZXJDaGFuZ2UpO1xuXG4gICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5tb2JpbGVGb3JtYXRTdHIpIHtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnZhbHVlID0gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogIT09IHVuZGVmaW5lZCA/IHNlbGYuZm9ybWF0RGF0ZShzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpIDogXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBqb2luQ2hhciA9IHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIiA/IHNlbGYuY29uZmlnLmNvbmp1bmN0aW9uIDogc2VsZi5sMTBuLnJhbmdlU2VwYXJhdG9yO1xuICAgICAgICBzZWxmLmlucHV0LnZhbHVlID0gc2VsZi5zZWxlY3RlZERhdGVzLm1hcChmdW5jdGlvbiAoZE9iaikge1xuICAgICAgICAgIHJldHVybiBzZWxmLmZvcm1hdERhdGUoZE9iaiwgc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgIH0pLmpvaW4oam9pbkNoYXIpO1xuXG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnZhbHVlID0gc2VsZi5zZWxlY3RlZERhdGVzLm1hcChmdW5jdGlvbiAoZE9iaikge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuZm9ybWF0RGF0ZShkT2JqLCBzZWxmLmNvbmZpZy5hbHRGb3JtYXQpO1xuICAgICAgICAgIH0pLmpvaW4oam9pbkNoYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgIT09IGZhbHNlKSB0cmlnZ2VyRXZlbnQoXCJvblZhbHVlVXBkYXRlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbk1vbnRoTmF2Q2xpY2soZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHZhciBpc1ByZXZNb250aCA9IHNlbGYucHJldk1vbnRoTmF2LmNvbnRhaW5zKGUudGFyZ2V0KTtcbiAgICAgICAgdmFyIGlzTmV4dE1vbnRoID0gc2VsZi5uZXh0TW9udGhOYXYuY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICAgIGlmIChpc1ByZXZNb250aCB8fCBpc05leHRNb250aCkge1xuICAgICAgICAgIGNoYW5nZU1vbnRoKGlzUHJldk1vbnRoID8gLTEgOiAxKTtcbiAgICAgICAgfSBlbHNlIGlmIChzZWxmLnllYXJFbGVtZW50cy5pbmRleE9mKGUudGFyZ2V0KSA+PSAwKSB7XG4gICAgICAgICAgZS50YXJnZXQuc2VsZWN0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYXJyb3dVcFwiKSkge1xuICAgICAgICAgIHNlbGYuY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyICsgMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYXJyb3dEb3duXCIpKSB7XG4gICAgICAgICAgc2VsZi5jaGFuZ2VZZWFyKHNlbGYuY3VycmVudFllYXIgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0aW1lV3JhcHBlcihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdmFyIGlzS2V5RG93biA9IGUudHlwZSA9PT0gXCJrZXlkb3duXCIsXG4gICAgICAgICAgICBpbnB1dCA9IGUudGFyZ2V0O1xuXG4gICAgICAgIGlmIChzZWxmLmFtUE0gIT09IHVuZGVmaW5lZCAmJiBlLnRhcmdldCA9PT0gc2VsZi5hbVBNKSB7XG4gICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1baW50KHNlbGYuYW1QTS50ZXh0Q29udGVudCA9PT0gc2VsZi5sMTBuLmFtUE1bMF0pXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBtaW4gPSBwYXJzZUZsb2F0KGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtbWluXCIpKSxcbiAgICAgICAgICAgIG1heCA9IHBhcnNlRmxvYXQoaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIikpLFxuICAgICAgICAgICAgc3RlcCA9IHBhcnNlRmxvYXQoaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIpKSxcbiAgICAgICAgICAgIGN1clZhbHVlID0gcGFyc2VJbnQoaW5wdXQudmFsdWUsIDEwKSxcbiAgICAgICAgICAgIGRlbHRhID0gZS5kZWx0YSB8fCAoaXNLZXlEb3duID8gZS53aGljaCA9PT0gMzggPyAxIDogLTEgOiAwKTtcbiAgICAgICAgdmFyIG5ld1ZhbHVlID0gY3VyVmFsdWUgKyBzdGVwICogZGVsdGE7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dC52YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpbnB1dC52YWx1ZS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICB2YXIgaXNIb3VyRWxlbSA9IGlucHV0ID09PSBzZWxmLmhvdXJFbGVtZW50LFxuICAgICAgICAgICAgICBpc01pbnV0ZUVsZW0gPSBpbnB1dCA9PT0gc2VsZi5taW51dGVFbGVtZW50O1xuXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlIDwgbWluKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IG1heCArIG5ld1ZhbHVlICsgaW50KCFpc0hvdXJFbGVtKSArIChpbnQoaXNIb3VyRWxlbSkgJiYgaW50KCFzZWxmLmFtUE0pKTtcbiAgICAgICAgICAgIGlmIChpc01pbnV0ZUVsZW0pIGluY3JlbWVudE51bUlucHV0KHVuZGVmaW5lZCwgLTEsIHNlbGYuaG91ckVsZW1lbnQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobmV3VmFsdWUgPiBtYXgpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gaW5wdXQgPT09IHNlbGYuaG91ckVsZW1lbnQgPyBuZXdWYWx1ZSAtIG1heCAtIGludCghc2VsZi5hbVBNKSA6IG1pbjtcbiAgICAgICAgICAgIGlmIChpc01pbnV0ZUVsZW0pIGluY3JlbWVudE51bUlucHV0KHVuZGVmaW5lZCwgMSwgc2VsZi5ob3VyRWxlbWVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYuYW1QTSAmJiBpc0hvdXJFbGVtICYmIChzdGVwID09PSAxID8gbmV3VmFsdWUgKyBjdXJWYWx1ZSA9PT0gMjMgOiBNYXRoLmFicyhuZXdWYWx1ZSAtIGN1clZhbHVlKSA+IHN0ZXApKSB7XG4gICAgICAgICAgICBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVtpbnQoc2VsZi5hbVBNLnRleHRDb250ZW50ID09PSBzZWxmLmwxMG4uYW1QTVswXSldO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0LnZhbHVlID0gcGFkKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbml0KCk7XG4gICAgICByZXR1cm4gc2VsZjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBfZmxhdHBpY2tyKG5vZGVMaXN0LCBjb25maWcpIHtcbiAgICAgIHZhciBub2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5vZGVMaXN0KTtcbiAgICAgIHZhciBpbnN0YW5jZXMgPSBbXTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKFwiZGF0YS1mcC1vbWl0XCIpICE9PSBudWxsKSBjb250aW51ZTtcblxuICAgICAgICAgIGlmIChub2RlLl9mbGF0cGlja3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbm9kZS5fZmxhdHBpY2tyLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgbm9kZS5fZmxhdHBpY2tyID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5vZGUuX2ZsYXRwaWNrciA9IEZsYXRwaWNrckluc3RhbmNlKG5vZGUsIGNvbmZpZyB8fCB7fSk7XG4gICAgICAgICAgaW5zdGFuY2VzLnB1c2gobm9kZS5fZmxhdHBpY2tyKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluc3RhbmNlcy5sZW5ndGggPT09IDEgPyBpbnN0YW5jZXNbMF0gOiBpbnN0YW5jZXM7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgSFRNTENvbGxlY3Rpb24ucHJvdG90eXBlLmZsYXRwaWNrciA9IE5vZGVMaXN0LnByb3RvdHlwZS5mbGF0cGlja3IgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBfZmxhdHBpY2tyKHRoaXMsIGNvbmZpZyk7XG4gICAgICB9O1xuXG4gICAgICBIVE1MRWxlbWVudC5wcm90b3R5cGUuZmxhdHBpY2tyID0gZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgICByZXR1cm4gX2ZsYXRwaWNrcihbdGhpc10sIGNvbmZpZyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBmbGF0cGlja3IgPSBmdW5jdGlvbiBmbGF0cGlja3Ioc2VsZWN0b3IsIGNvbmZpZykge1xuICAgICAgaWYgKHNlbGVjdG9yIGluc3RhbmNlb2YgTm9kZUxpc3QpIHJldHVybiBfZmxhdHBpY2tyKHNlbGVjdG9yLCBjb25maWcpO2Vsc2UgaWYgKHR5cGVvZiBzZWxlY3RvciA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9mbGF0cGlja3Iod2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpLCBjb25maWcpO1xuICAgICAgcmV0dXJuIF9mbGF0cGlja3IoW3NlbGVjdG9yXSwgY29uZmlnKTtcbiAgICB9O1xuXG4gICAgZmxhdHBpY2tyLmRlZmF1bHRDb25maWcgPSBkZWZhdWx0cztcbiAgICBmbGF0cGlja3IubDEwbnMgPSB7XG4gICAgICBlbjogT2JqZWN0LmFzc2lnbih7fSwgZW5nbGlzaCksXG4gICAgICBkZWZhdWx0OiBPYmplY3QuYXNzaWduKHt9LCBlbmdsaXNoKVxuICAgIH07XG5cbiAgICBmbGF0cGlja3IubG9jYWxpemUgPSBmdW5jdGlvbiAobDEwbikge1xuICAgICAgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQgPSBPYmplY3QuYXNzaWduKHt9LCBmbGF0cGlja3IubDEwbnMuZGVmYXVsdCwgbDEwbik7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5zZXREZWZhdWx0cyA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmRlZmF1bHRDb25maWcsIGNvbmZpZyk7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5wYXJzZURhdGUgPSBjcmVhdGVEYXRlUGFyc2VyKHt9KTtcbiAgICBmbGF0cGlja3IuZm9ybWF0RGF0ZSA9IGNyZWF0ZURhdGVGb3JtYXR0ZXIoe30pO1xuICAgIGZsYXRwaWNrci5jb21wYXJlRGF0ZXMgPSBjb21wYXJlRGF0ZXM7XG5cbiAgICBpZiAodHlwZW9mIGpRdWVyeSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgalF1ZXJ5LmZuLmZsYXRwaWNrciA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIF9mbGF0cGlja3IodGhpcywgY29uZmlnKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgRGF0ZS5wcm90b3R5cGUuZnBfaW5jciA9IGZ1bmN0aW9uIChkYXlzKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUodGhpcy5nZXRGdWxsWWVhcigpLCB0aGlzLmdldE1vbnRoKCksIHRoaXMuZ2V0RGF0ZSgpICsgKHR5cGVvZiBkYXlzID09PSBcInN0cmluZ1wiID8gcGFyc2VJbnQoZGF5cywgMTApIDogZGF5cykpO1xuICAgIH07XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmZsYXRwaWNrciA9IGZsYXRwaWNrcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZmxhdHBpY2tyO1xuXG59KSkpO1xuXG5cbi8qKiovIH0pLFxuLyogMjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMzApO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihmYWxzZSkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9mbGF0cGlja3IuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9mbGF0cGlja3IuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cbi8qKiovIH0pLFxuLyogMzAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5mbGF0cGlja3ItY2FsZW5kYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvcGFjaXR5OjA7ZGlzcGxheTpub25lO3RleHQtYWxpZ246Y2VudGVyO3Zpc2liaWxpdHk6aGlkZGVuO3BhZGRpbmc6MDstd2Via2l0LWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lO2RpcmVjdGlvbjpsdHI7Ym9yZGVyOjA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjVweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozMDcuODc1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tcy10b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTYsLTFweCAwIDAgI2U2ZTZlNiwwIDFweCAwICNlNmU2ZTYsMCAtMXB4IDAgI2U2ZTZlNiwwIDNweCAxM3B4IHJnYmEoMCwwLDAsLjA4KTtib3gtc2hhZG93OjFweCAwIDAgI2U2ZTZlNiwtMXB4IDAgMCAjZTZlNmU2LDAgMXB4IDAgI2U2ZTZlNiwwIC0xcHggMCAjZTZlNmU2LDAgM3B4IDEzcHggcmdiYSgwLDAsMCwuMDgpfS5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5lLC5mbGF0cGlja3ItY2FsZW5kYXIub3BlbntvcGFjaXR5OjE7bWF4LWhlaWdodDo2NDBweDt2aXNpYmlsaXR5OnZpc2libGV9LmZsYXRwaWNrci1jYWxlbmRhci5vcGVue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6OTk5OTl9LmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlLm9wZW57LXdlYmtpdC1hbmltYXRpb246ZnBGYWRlSW5Eb3duIC4zcyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpO2FuaW1hdGlvbjpmcEZhZGVJbkRvd24gLjNzIGN1YmljLWJlemllciguMjMsMSwuMzIsMSl9LmZsYXRwaWNrci1jYWxlbmRhci5pbmxpbmV7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MnB4fS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGlje3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDEwMCUgKyAycHgpfS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljLm9wZW57ei1pbmRleDo5OTk7ZGlzcGxheTpibG9ja30uZmxhdHBpY2tyLWNhbGVuZGFyLm11bHRpTW9udGggLmZsYXRwaWNrci1kYXlzIC5kYXlDb250YWluZXI6bnRoLWNoaWxkKG4rMSkgLmZsYXRwaWNrci1kYXkuaW5SYW5nZTpudGgtY2hpbGQoN24rNyl7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzIpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzEpey13ZWJraXQtYm94LXNoYWRvdzotMnB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi0ycHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1RpbWUgLmRheUNvbnRhaW5lciwuZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVye2JvcmRlci1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVye2JvcmRlci1sZWZ0OjB9LmZsYXRwaWNrci1jYWxlbmRhci5zaG93VGltZUlucHV0Lmhhc1RpbWUgLmZsYXRwaWNrci10aW1le2hlaWdodDo0MHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5ub0NhbGVuZGFyLmhhc1RpbWUgLmZsYXRwaWNrci10aW1le2hlaWdodDphdXRvfS5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lO2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OlxcXCJcXFwiO2hlaWdodDowO3dpZHRoOjA7bGVmdDoyMnB4fS5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmJlZm9yZXtsZWZ0OmF1dG87cmlnaHQ6MjJweH0uZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZXtib3JkZXItd2lkdGg6NXB4O21hcmdpbjowIC01cHh9LmZsYXRwaWNrci1jYWxlbmRhcjphZnRlcntib3JkZXItd2lkdGg6NHB4O21hcmdpbjowIC00cHh9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZXtib3R0b206MTAwJX0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZXtib3JkZXItYm90dG9tLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlcntib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmJlZm9yZXt0b3A6MTAwJX0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlcntib3JkZXItdG9wLWNvbG9yOiNmZmZ9LmZsYXRwaWNrci1jYWxlbmRhcjpmb2N1c3tvdXRsaW5lOjB9LmZsYXRwaWNrci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5mbGF0cGlja3ItbW9udGhze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1tb250aHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnJnYmEoMCwwLDAsLjkpO2ZpbGw6cmdiYSgwLDAsMCwuOSk7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6MTt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoe3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xpbmUtaGVpZ2h0OjE2cHg7aGVpZ2h0OjI4cHg7cGFkZGluZzoxMHB4O3otaW5kZXg6Mztjb2xvcjpyZ2JhKDAsMCwwLC45KTtmaWxsOnJnYmEoMCwwLDAsLjkpfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5kaXNhYmxlZCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZGlzYWJsZWR7ZGlzcGxheTpub25lfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aCBpLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGh7bGVmdDowfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLW5leHQtbW9udGh7cmlnaHQ6MH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVye2NvbG9yOiM5NTllYTl9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoOmhvdmVyIHN2ZywuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGg6aG92ZXIgc3Zne2ZpbGw6I2Y2NDc0N30uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmd7d2lkdGg6MTRweDtoZWlnaHQ6MTRweH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnIHBhdGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoIHN2ZyBwYXRoey13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xczt0cmFuc2l0aW9uOmZpbGwgLjFzO2ZpbGw6aW5oZXJpdH0ubnVtSW5wdXRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDphdXRvfS5udW1JbnB1dFdyYXBwZXIgaW5wdXQsLm51bUlucHV0V3JhcHBlciBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5udW1JbnB1dFdyYXBwZXIgaW5wdXR7d2lkdGg6MTAwJX0ubnVtSW5wdXRXcmFwcGVyIGlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5udW1JbnB1dFdyYXBwZXIgc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3dpZHRoOjE0cHg7cGFkZGluZzowIDRweCAwIDJweDtoZWlnaHQ6NTAlO2xpbmUtaGVpZ2h0OjUwJTtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC4xNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5udW1JbnB1dFdyYXBwZXIgc3Bhbjpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpfS5udW1JbnB1dFdyYXBwZXIgc3BhbjphY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yKX0ubnVtSW5wdXRXcmFwcGVyIHNwYW46YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OlxcXCJcXFwiO3Bvc2l0aW9uOmFic29sdXRlfS5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1Vwe3RvcDowO2JvcmRlci1ib3R0b206MH0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlcntib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC42KTt0b3A6MjYlfS5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd257dG9wOjUwJX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NHB4IHNvbGlkIHJnYmEoNTcsNTcsNTcsLjYpO3RvcDo0MCV9Lm51bUlucHV0V3JhcHBlciBzcGFuIHN2Z3t3aWR0aDppbmhlcml0O2hlaWdodDphdXRvfS5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmcgcGF0aHtmaWxsOnJnYmEoMCwwLDAsLjUpfS5udW1JbnB1dFdyYXBwZXI6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNSl9Lm51bUlucHV0V3JhcHBlcjpob3ZlciBzcGFue29wYWNpdHk6MX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGh7Zm9udC1zaXplOjEzNSU7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXdlaWdodDozMDA7Y29sb3I6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo3NSU7bGVmdDoxMi41JTtwYWRkaW5nOjYuMTZweCAwIDA7bGluZS1oZWlnaHQ6MTtoZWlnaHQ6MjhweDtkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aHtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjppbmhlcml0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0Oi41Y2g7cGFkZGluZzowfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA1KX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlcnt3aWR0aDo2Y2g7d2lkdGg6N2NoXFxcXDA7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuOSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtjdXJzb3I6dGV4dDtwYWRkaW5nOjAgMCAwIC41Y2g7bWFyZ2luOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6aW5oZXJpdDtoZWlnaHQ6YXV0bztib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7dmVydGljYWwtYWxpZ246aW5pdGlhbH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXI6Zm9jdXN7b3V0bGluZTowfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyW2Rpc2FibGVkXTpob3Zlcntmb250LXNpemU6MTAwJTtjb2xvcjpyZ2JhKDAsMCwwLC41KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmV9LmZsYXRwaWNrci13ZWVrZGF5c3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoyOHB4fS5mbGF0cGlja3Itd2Vla2RheXMsLmZsYXRwaWNrci13ZWVrZGF5cyAuZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uZmxhdHBpY2tyLXdlZWtkYXlzIC5mbGF0cGlja3Itd2Vla2RheWNvbnRhaW5lcixzcGFuLmZsYXRwaWNrci13ZWVrZGF5ey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX1zcGFuLmZsYXRwaWNrci13ZWVrZGF5e2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZTo5MCU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDAsMCwwLC41NCk7bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OmJvbGRlcn0uZGF5Q29udGFpbmVyLC5mbGF0cGlja3Itd2Vla3N7cGFkZGluZzoxcHggMCAwfS5mbGF0cGlja3ItZGF5c3twb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt3aWR0aDozMDcuODc1cHh9LmZsYXRwaWNrci1kYXlzOmZvY3Vze291dGxpbmU6MH0uZGF5Q29udGFpbmVye3BhZGRpbmc6MDtvdXRsaW5lOjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjMwNy44NzVweDttaW4td2lkdGg6MzA3Ljg3NXB4O21heC13aWR0aDozMDcuODc1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7LW1zLWZsZXgtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfS5kYXlDb250YWluZXIrLmRheUNvbnRhaW5lcnstd2Via2l0LWJveC1zaGFkb3c6LTFweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi0xcHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci1kYXl7YmFja2dyb3VuZDpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxNTBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzM5MzkzOTtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo0MDA7d2lkdGg6MTQuMjg1NzE0MyU7LXdlYmtpdC1mbGV4LWJhc2lzOjE0LjI4NTcxNDMlOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjE0LjI4NTcxNDMlO2ZsZXgtYmFzaXM6MTQuMjg1NzE0MyU7bWF4LXdpZHRoOjM5cHg7aGVpZ2h0OjM5cHg7bGluZS1oZWlnaHQ6MzlweDttYXJnaW46MDtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uZmxhdHBpY2tyLWRheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpmb2N1cywuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6aG92ZXIsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LnRvZGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpob3ZlciwuZmxhdHBpY2tyLWRheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5OmhvdmVye2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtiYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1kYXkudG9kYXl7Ym9yZGVyLWNvbG9yOiM5NTllYTl9LmZsYXRwaWNrci1kYXkudG9kYXk6Zm9jdXMsLmZsYXRwaWNrci1kYXkudG9kYXk6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM5NTllYTk7YmFja2dyb3VuZDojOTU5ZWE5O2NvbG9yOiNmZmZ9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UucHJldk1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmZvY3VzLC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLmluUmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cywuZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpob3ZlciwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlOmZvY3VzLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6aG92ZXJ7YmFja2dyb3VuZDojNTY5ZmY3Oy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojNTY5ZmY3fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2V7Ym9yZGVyLXJhZGl1czo1MHB4IDAgMCA1MHB4fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuZW5kUmFuZ2V7Ym9yZGVyLXJhZGl1czowIDUwcHggNTBweCAwfS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UrLmVuZFJhbmdlOm5vdCg6bnRoLWNoaWxkKDduKzEpKSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSl7LXdlYmtpdC1ib3gtc2hhZG93Oi0xMHB4IDAgMCAjNTY5ZmY3O2JveC1zaGFkb3c6LTEwcHggMCAwICM1NjlmZjd9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5zdGFydFJhbmdlLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZXtib3JkZXItcmFkaXVzOjUwcHh9LmZsYXRwaWNrci1kYXkuaW5SYW5nZXtib3JkZXItcmFkaXVzOjA7LXdlYmtpdC1ib3gtc2hhZG93Oi01cHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2O2JveC1zaGFkb3c6LTVweCAwIDAgI2U2ZTZlNiw1cHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci1kYXkuZGlzYWJsZWQsLmZsYXRwaWNrci1kYXkuZGlzYWJsZWQ6aG92ZXIsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQsLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZC5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZC5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5e2NvbG9yOnJnYmEoNTcsNTcsNTcsLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0fS5mbGF0cGlja3ItZGF5LmRpc2FibGVkLC5mbGF0cGlja3ItZGF5LmRpc2FibGVkOmhvdmVye2N1cnNvcjpub3QtYWxsb3dlZDtjb2xvcjpyZ2JhKDU3LDU3LDU3LC4xKX0uZmxhdHBpY2tyLWRheS53ZWVrLnNlbGVjdGVke2JvcmRlci1yYWRpdXM6MDstd2Via2l0LWJveC1zaGFkb3c6LTVweCAwIDAgIzU2OWZmNyw1cHggMCAwICM1NjlmZjc7Ym94LXNoYWRvdzotNXB4IDAgMCAjNTY5ZmY3LDVweCAwIDAgIzU2OWZmN30uZmxhdHBpY2tyLWRheS5oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheXttYXJnaW4tdG9wOjFweH0uZmxhdHBpY2tyLXdlZWt3cmFwcGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnR9LmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtze3BhZGRpbmc6MCAxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTY7Ym94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXl7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO2xpbmUtaGVpZ2h0OjI4cHh9LmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXksLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXk6aG92ZXJ7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO2NvbG9yOnJnYmEoNTcsNTcsNTcsLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOmRlZmF1bHQ7Ym9yZGVyOm5vbmV9LmZsYXRwaWNrci1pbm5lckNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5mbGF0cGlja3ItaW5uZXJDb250YWluZXIsLmZsYXRwaWNrci1yQ29udGFpbmVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZmxhdHBpY2tyLXJDb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzowfS5mbGF0cGlja3ItdGltZXt0ZXh0LWFsaWduOmNlbnRlcjtvdXRsaW5lOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtsaW5lLWhlaWdodDo0MHB4O21heC1oZWlnaHQ6NDBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci10aW1lOmFmdGVye2NvbnRlbnQ6XFxcIlxcXCI7ZGlzcGxheTp0YWJsZTtjbGVhcjpib3RofS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTt3aWR0aDo0MCU7aGVpZ2h0OjQwcHg7ZmxvYXQ6bGVmdH0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzkzOTM5fS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci10b3AtY29sb3I6IzM5MzkzOX0uZmxhdHBpY2tyLXRpbWUuaGFzU2Vjb25kcyAubnVtSW5wdXRXcmFwcGVye3dpZHRoOjI2JX0uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlcnt3aWR0aDo0OSV9LmZsYXRwaWNrci10aW1lIGlucHV0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojMzkzOTM5O2ZvbnQtc2l6ZToxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLWhvdXJ7Zm9udC13ZWlnaHQ6NzAwfS5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3ItbWludXRlLC5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25ke2ZvbnQtd2VpZ2h0OjQwMH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQ6Zm9jdXN7b3V0bGluZTowO2JvcmRlcjowfS5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtLC5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9ye2hlaWdodDppbmhlcml0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojMzkzOTM5O2ZvbnQtd2VpZ2h0OjcwMDt3aWR0aDoyJTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbXtvdXRsaW5lOjA7d2lkdGg6MTglO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjQwMH0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpmb2N1cywuZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3ZlciwuZmxhdHBpY2tyLXRpbWUgaW5wdXQ6Zm9jdXMsLmZsYXRwaWNrci10aW1lIGlucHV0OmhvdmVye2JhY2tncm91bmQ6I2YzZjNmM30uZmxhdHBpY2tyLWlucHV0W3JlYWRvbmx5XXtjdXJzb3I6cG9pbnRlcn1ALXdlYmtpdC1rZXlmcmFtZXMgZnBGYWRlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZwRmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19XCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cbi8qKiovIH0pXG4vKioqKioqLyBdKTtcbn0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWdjLWJhc2ljLmJ1bmRsZS5qcy5tYXAiLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5hcnJheS5mb3ItZWFjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuQXJyYXkuZm9yRWFjaDtcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5BcnJheS5pbmNsdWRlcztcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm51bWJlci5pcy1pbnRlZ2VyJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5OdW1iZXIuaXNJbnRlZ2VyO1xuIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5TdHJpbmcuc3RhcnRzV2l0aDtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSBmdW5jdGlvbiEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbiIsIi8vIDIyLjEuMy4zMSBBcnJheS5wcm90b3R5cGVbQEB1bnNjb3BhYmxlc11cbnZhciBVTlNDT1BBQkxFUyA9IHJlcXVpcmUoJy4vX3drcycpKCd1bnNjb3BhYmxlcycpO1xudmFyIEFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGU7XG5pZiAoQXJyYXlQcm90b1tVTlNDT1BBQkxFU10gPT0gdW5kZWZpbmVkKSByZXF1aXJlKCcuL19oaWRlJykoQXJyYXlQcm90bywgVU5TQ09QQUJMRVMsIHt9KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICBBcnJheVByb3RvW1VOU0NPUEFCTEVTXVtrZXldID0gdHJ1ZTtcbn07XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhbiBvYmplY3QhJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyBmYWxzZSAtPiBBcnJheSNpbmRleE9mXG4vLyB0cnVlICAtPiBBcnJheSNpbmNsdWRlc1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIHRvQWJzb2x1dGVJbmRleCA9IHJlcXVpcmUoJy4vX3RvLWFic29sdXRlLWluZGV4Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChJU19JTkNMVURFUykge1xuICByZXR1cm4gZnVuY3Rpb24gKCR0aGlzLCBlbCwgZnJvbUluZGV4KSB7XG4gICAgdmFyIE8gPSB0b0lPYmplY3QoJHRoaXMpO1xuICAgIHZhciBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gdG9BYnNvbHV0ZUluZGV4KGZyb21JbmRleCwgbGVuZ3RoKTtcbiAgICB2YXIgdmFsdWU7XG4gICAgLy8gQXJyYXkjaW5jbHVkZXMgdXNlcyBTYW1lVmFsdWVaZXJvIGVxdWFsaXR5IGFsZ29yaXRobVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBpZiAoSVNfSU5DTFVERVMgJiYgZWwgIT0gZWwpIHdoaWxlIChsZW5ndGggPiBpbmRleCkge1xuICAgICAgdmFsdWUgPSBPW2luZGV4KytdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgICAgaWYgKHZhbHVlICE9IHZhbHVlKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBBcnJheSNpbmRleE9mIGlnbm9yZXMgaG9sZXMsIEFycmF5I2luY2x1ZGVzIC0gbm90XG4gICAgfSBlbHNlIGZvciAoO2xlbmd0aCA+IGluZGV4OyBpbmRleCsrKSBpZiAoSVNfSU5DTFVERVMgfHwgaW5kZXggaW4gTykge1xuICAgICAgaWYgKE9baW5kZXhdID09PSBlbCkgcmV0dXJuIElTX0lOQ0xVREVTIHx8IGluZGV4IHx8IDA7XG4gICAgfSByZXR1cm4gIUlTX0lOQ0xVREVTICYmIC0xO1xuICB9O1xufTtcbiIsIi8vIDAgLT4gQXJyYXkjZm9yRWFjaFxuLy8gMSAtPiBBcnJheSNtYXBcbi8vIDIgLT4gQXJyYXkjZmlsdGVyXG4vLyAzIC0+IEFycmF5I3NvbWVcbi8vIDQgLT4gQXJyYXkjZXZlcnlcbi8vIDUgLT4gQXJyYXkjZmluZFxuLy8gNiAtPiBBcnJheSNmaW5kSW5kZXhcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciBhc2MgPSByZXF1aXJlKCcuL19hcnJheS1zcGVjaWVzLWNyZWF0ZScpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoVFlQRSwgJGNyZWF0ZSkge1xuICB2YXIgSVNfTUFQID0gVFlQRSA9PSAxO1xuICB2YXIgSVNfRklMVEVSID0gVFlQRSA9PSAyO1xuICB2YXIgSVNfU09NRSA9IFRZUEUgPT0gMztcbiAgdmFyIElTX0VWRVJZID0gVFlQRSA9PSA0O1xuICB2YXIgSVNfRklORF9JTkRFWCA9IFRZUEUgPT0gNjtcbiAgdmFyIE5PX0hPTEVTID0gVFlQRSA9PSA1IHx8IElTX0ZJTkRfSU5ERVg7XG4gIHZhciBjcmVhdGUgPSAkY3JlYXRlIHx8IGFzYztcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgY2FsbGJhY2tmbiwgdGhhdCkge1xuICAgIHZhciBPID0gdG9PYmplY3QoJHRoaXMpO1xuICAgIHZhciBzZWxmID0gSU9iamVjdChPKTtcbiAgICB2YXIgZiA9IGN0eChjYWxsYmFja2ZuLCB0aGF0LCAzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoc2VsZi5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgdmFyIHJlc3VsdCA9IElTX01BUCA/IGNyZWF0ZSgkdGhpcywgbGVuZ3RoKSA6IElTX0ZJTFRFUiA/IGNyZWF0ZSgkdGhpcywgMCkgOiB1bmRlZmluZWQ7XG4gICAgdmFyIHZhbCwgcmVzO1xuICAgIGZvciAoO2xlbmd0aCA+IGluZGV4OyBpbmRleCsrKSBpZiAoTk9fSE9MRVMgfHwgaW5kZXggaW4gc2VsZikge1xuICAgICAgdmFsID0gc2VsZltpbmRleF07XG4gICAgICByZXMgPSBmKHZhbCwgaW5kZXgsIE8pO1xuICAgICAgaWYgKFRZUEUpIHtcbiAgICAgICAgaWYgKElTX01BUCkgcmVzdWx0W2luZGV4XSA9IHJlczsgICAvLyBtYXBcbiAgICAgICAgZWxzZSBpZiAocmVzKSBzd2l0Y2ggKFRZUEUpIHtcbiAgICAgICAgICBjYXNlIDM6IHJldHVybiB0cnVlOyAgICAgICAgICAgICAvLyBzb21lXG4gICAgICAgICAgY2FzZSA1OiByZXR1cm4gdmFsOyAgICAgICAgICAgICAgLy8gZmluZFxuICAgICAgICAgIGNhc2UgNjogcmV0dXJuIGluZGV4OyAgICAgICAgICAgIC8vIGZpbmRJbmRleFxuICAgICAgICAgIGNhc2UgMjogcmVzdWx0LnB1c2godmFsKTsgICAgICAgIC8vIGZpbHRlclxuICAgICAgICB9IGVsc2UgaWYgKElTX0VWRVJZKSByZXR1cm4gZmFsc2U7IC8vIGV2ZXJ5XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBJU19GSU5EX0lOREVYID8gLTEgOiBJU19TT01FIHx8IElTX0VWRVJZID8gSVNfRVZFUlkgOiByZXN1bHQ7XG4gIH07XG59O1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJy4vX2lzLWFycmF5Jyk7XG52YXIgU1BFQ0lFUyA9IHJlcXVpcmUoJy4vX3drcycpKCdzcGVjaWVzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9yaWdpbmFsKSB7XG4gIHZhciBDO1xuICBpZiAoaXNBcnJheShvcmlnaW5hbCkpIHtcbiAgICBDID0gb3JpZ2luYWwuY29uc3RydWN0b3I7XG4gICAgLy8gY3Jvc3MtcmVhbG0gZmFsbGJhY2tcbiAgICBpZiAodHlwZW9mIEMgPT0gJ2Z1bmN0aW9uJyAmJiAoQyA9PT0gQXJyYXkgfHwgaXNBcnJheShDLnByb3RvdHlwZSkpKSBDID0gdW5kZWZpbmVkO1xuICAgIGlmIChpc09iamVjdChDKSkge1xuICAgICAgQyA9IENbU1BFQ0lFU107XG4gICAgICBpZiAoQyA9PT0gbnVsbCkgQyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gcmV0dXJuIEMgPT09IHVuZGVmaW5lZCA/IEFycmF5IDogQztcbn07XG4iLCIvLyA5LjQuMi4zIEFycmF5U3BlY2llc0NyZWF0ZShvcmlnaW5hbEFycmF5LCBsZW5ndGgpXG52YXIgc3BlY2llc0NvbnN0cnVjdG9yID0gcmVxdWlyZSgnLi9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3RvcicpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCwgbGVuZ3RoKSB7XG4gIHJldHVybiBuZXcgKHNwZWNpZXNDb25zdHJ1Y3RvcihvcmlnaW5hbCkpKGxlbmd0aCk7XG59O1xuIiwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGl0KS5zbGljZSg4LCAtMSk7XG59O1xuIiwidmFyIGNvcmUgPSBtb2R1bGUuZXhwb3J0cyA9IHsgdmVyc2lvbjogJzIuNi41JyB9O1xuaWYgKHR5cGVvZiBfX2UgPT0gJ251bWJlcicpIF9fZSA9IGNvcmU7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsIi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCB0aGF0LCBsZW5ndGgpIHtcbiAgYUZ1bmN0aW9uKGZuKTtcbiAgaWYgKHRoYXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZuO1xuICBzd2l0Y2ggKGxlbmd0aCkge1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmN0aW9uIChhKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhKTtcbiAgICB9O1xuICAgIGNhc2UgMjogcmV0dXJuIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiKTtcbiAgICB9O1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiLCBjKTtcbiAgICB9O1xuICB9XG4gIHJldHVybiBmdW5jdGlvbiAoLyogLi4uYXJncyAqLykge1xuICAgIHJldHVybiBmbi5hcHBseSh0aGF0LCBhcmd1bWVudHMpO1xuICB9O1xufTtcbiIsIi8vIDcuMi4xIFJlcXVpcmVPYmplY3RDb2VyY2libGUoYXJndW1lbnQpXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgPT0gdW5kZWZpbmVkKSB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAgXCIgKyBpdCk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyBUaGFuaydzIElFOCBmb3IgaGlzIGZ1bm55IGRlZmluZVByb3BlcnR5XG5tb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGRvY3VtZW50ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuZG9jdW1lbnQ7XG4vLyB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBpcyAnb2JqZWN0JyBpbiBvbGQgSUVcbnZhciBpcyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpcyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbnZhciAkZXhwb3J0ID0gZnVuY3Rpb24gKHR5cGUsIG5hbWUsIHNvdXJjZSkge1xuICB2YXIgSVNfRk9SQ0VEID0gdHlwZSAmICRleHBvcnQuRjtcbiAgdmFyIElTX0dMT0JBTCA9IHR5cGUgJiAkZXhwb3J0Lkc7XG4gIHZhciBJU19TVEFUSUMgPSB0eXBlICYgJGV4cG9ydC5TO1xuICB2YXIgSVNfUFJPVE8gPSB0eXBlICYgJGV4cG9ydC5QO1xuICB2YXIgSVNfQklORCA9IHR5cGUgJiAkZXhwb3J0LkI7XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gfHwgKGdsb2JhbFtuYW1lXSA9IHt9KSA6IChnbG9iYWxbbmFtZV0gfHwge30pW1BST1RPVFlQRV07XG4gIHZhciBleHBvcnRzID0gSVNfR0xPQkFMID8gY29yZSA6IGNvcmVbbmFtZV0gfHwgKGNvcmVbbmFtZV0gPSB7fSk7XG4gIHZhciBleHBQcm90byA9IGV4cG9ydHNbUFJPVE9UWVBFXSB8fCAoZXhwb3J0c1tQUk9UT1RZUEVdID0ge30pO1xuICB2YXIga2V5LCBvd24sIG91dCwgZXhwO1xuICBpZiAoSVNfR0xPQkFMKSBzb3VyY2UgPSBuYW1lO1xuICBmb3IgKGtleSBpbiBzb3VyY2UpIHtcbiAgICAvLyBjb250YWlucyBpbiBuYXRpdmVcbiAgICBvd24gPSAhSVNfRk9SQ0VEICYmIHRhcmdldCAmJiB0YXJnZXRba2V5XSAhPT0gdW5kZWZpbmVkO1xuICAgIC8vIGV4cG9ydCBuYXRpdmUgb3IgcGFzc2VkXG4gICAgb3V0ID0gKG93biA/IHRhcmdldCA6IHNvdXJjZSlba2V5XTtcbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIGV4cCA9IElTX0JJTkQgJiYgb3duID8gY3R4KG91dCwgZ2xvYmFsKSA6IElTX1BST1RPICYmIHR5cGVvZiBvdXQgPT0gJ2Z1bmN0aW9uJyA/IGN0eChGdW5jdGlvbi5jYWxsLCBvdXQpIDogb3V0O1xuICAgIC8vIGV4dGVuZCBnbG9iYWxcbiAgICBpZiAodGFyZ2V0KSByZWRlZmluZSh0YXJnZXQsIGtleSwgb3V0LCB0eXBlICYgJGV4cG9ydC5VKTtcbiAgICAvLyBleHBvcnRcbiAgICBpZiAoZXhwb3J0c1trZXldICE9IG91dCkgaGlkZShleHBvcnRzLCBrZXksIGV4cCk7XG4gICAgaWYgKElTX1BST1RPICYmIGV4cFByb3RvW2tleV0gIT0gb3V0KSBleHBQcm90b1trZXldID0gb3V0O1xuICB9XG59O1xuZ2xvYmFsLmNvcmUgPSBjb3JlO1xuLy8gdHlwZSBiaXRtYXBcbiRleHBvcnQuRiA9IDE7ICAgLy8gZm9yY2VkXG4kZXhwb3J0LkcgPSAyOyAgIC8vIGdsb2JhbFxuJGV4cG9ydC5TID0gNDsgICAvLyBzdGF0aWNcbiRleHBvcnQuUCA9IDg7ICAgLy8gcHJvdG9cbiRleHBvcnQuQiA9IDE2OyAgLy8gYmluZFxuJGV4cG9ydC5XID0gMzI7ICAvLyB3cmFwXG4kZXhwb3J0LlUgPSA2NDsgIC8vIHNhZmVcbiRleHBvcnQuUiA9IDEyODsgLy8gcmVhbCBwcm90byBtZXRob2QgZm9yIGBsaWJyYXJ5YFxubW9kdWxlLmV4cG9ydHMgPSAkZXhwb3J0O1xuIiwidmFyIE1BVENIID0gcmVxdWlyZSgnLi9fd2tzJykoJ21hdGNoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVkpIHtcbiAgdmFyIHJlID0gLy4vO1xuICB0cnkge1xuICAgICcvLi8nW0tFWV0ocmUpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlW01BVENIXSA9IGZhbHNlO1xuICAgICAgcmV0dXJuICEnLy4vJ1tLRVldKHJlKTtcbiAgICB9IGNhdGNoIChmKSB7IC8qIGVtcHR5ICovIH1cbiAgfSByZXR1cm4gdHJ1ZTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCduYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nJywgRnVuY3Rpb24udG9TdHJpbmcpO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIiwidmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcbiIsInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgJiYgIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcXVpcmUoJy4vX2RvbS1jcmVhdGUnKSgnZGl2JyksICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCIvLyBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIGFuZCBub24tZW51bWVyYWJsZSBvbGQgVjggc3RyaW5nc1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QoJ3onKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKSA/IE9iamVjdCA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gY29mKGl0KSA9PSAnU3RyaW5nJyA/IGl0LnNwbGl0KCcnKSA6IE9iamVjdChpdCk7XG59O1xuIiwiLy8gNy4yLjIgSXNBcnJheShhcmd1bWVudClcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbm1vZHVsZS5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiBpc0FycmF5KGFyZykge1xuICByZXR1cm4gY29mKGFyZykgPT0gJ0FycmF5Jztcbn07XG4iLCIvLyAyMC4xLjIuMyBOdW1iZXIuaXNJbnRlZ2VyKG51bWJlcilcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNJbnRlZ2VyKGl0KSB7XG4gIHJldHVybiAhaXNPYmplY3QoaXQpICYmIGlzRmluaXRlKGl0KSAmJiBmbG9vcihpdCkgPT09IGl0O1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0eXBlb2YgaXQgPT09ICdvYmplY3QnID8gaXQgIT09IG51bGwgOiB0eXBlb2YgaXQgPT09ICdmdW5jdGlvbic7XG59O1xuIiwiLy8gNy4yLjggSXNSZWdFeHAoYXJndW1lbnQpXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbnZhciBNQVRDSCA9IHJlcXVpcmUoJy4vX3drcycpKCdtYXRjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIGlzUmVnRXhwO1xuICByZXR1cm4gaXNPYmplY3QoaXQpICYmICgoaXNSZWdFeHAgPSBpdFtNQVRDSF0pICE9PSB1bmRlZmluZWQgPyAhIWlzUmVnRXhwIDogY29mKGl0KSA9PSAnUmVnRXhwJyk7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmYWxzZTtcbiIsInZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGRQID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG5leHBvcnRzLmYgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcykge1xuICBhbk9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBhbk9iamVjdChBdHRyaWJ1dGVzKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBkUChPLCBQLCBBdHRyaWJ1dGVzKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmICgnZ2V0JyBpbiBBdHRyaWJ1dGVzIHx8ICdzZXQnIGluIEF0dHJpYnV0ZXMpIHRocm93IFR5cGVFcnJvcignQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQhJyk7XG4gIGlmICgndmFsdWUnIGluIEF0dHJpYnV0ZXMpIE9bUF0gPSBBdHRyaWJ1dGVzLnZhbHVlO1xuICByZXR1cm4gTztcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgU1JDID0gcmVxdWlyZSgnLi9fdWlkJykoJ3NyYycpO1xudmFyICR0b1N0cmluZyA9IHJlcXVpcmUoJy4vX2Z1bmN0aW9uLXRvLXN0cmluZycpO1xudmFyIFRPX1NUUklORyA9ICd0b1N0cmluZyc7XG52YXIgVFBMID0gKCcnICsgJHRvU3RyaW5nKS5zcGxpdChUT19TVFJJTkcpO1xuXG5yZXF1aXJlKCcuL19jb3JlJykuaW5zcGVjdFNvdXJjZSA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gJHRvU3RyaW5nLmNhbGwoaXQpO1xufTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE8sIGtleSwgdmFsLCBzYWZlKSB7XG4gIHZhciBpc0Z1bmN0aW9uID0gdHlwZW9mIHZhbCA9PSAnZnVuY3Rpb24nO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgJ25hbWUnKSB8fCBoaWRlKHZhbCwgJ25hbWUnLCBrZXkpO1xuICBpZiAoT1trZXldID09PSB2YWwpIHJldHVybjtcbiAgaWYgKGlzRnVuY3Rpb24pIGhhcyh2YWwsIFNSQykgfHwgaGlkZSh2YWwsIFNSQywgT1trZXldID8gJycgKyBPW2tleV0gOiBUUEwuam9pbihTdHJpbmcoa2V5KSkpO1xuICBpZiAoTyA9PT0gZ2xvYmFsKSB7XG4gICAgT1trZXldID0gdmFsO1xuICB9IGVsc2UgaWYgKCFzYWZlKSB7XG4gICAgZGVsZXRlIE9ba2V5XTtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfSBlbHNlIGlmIChPW2tleV0pIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSB7XG4gICAgaGlkZShPLCBrZXksIHZhbCk7XG4gIH1cbi8vIGFkZCBmYWtlIEZ1bmN0aW9uI3RvU3RyaW5nIGZvciBjb3JyZWN0IHdvcmsgd3JhcHBlZCBtZXRob2RzIC8gY29uc3RydWN0b3JzIHdpdGggbWV0aG9kcyBsaWtlIExvRGFzaCBpc05hdGl2ZVxufSkoRnVuY3Rpb24ucHJvdG90eXBlLCBUT19TVFJJTkcsIGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICByZXR1cm4gdHlwZW9mIHRoaXMgPT0gJ2Z1bmN0aW9uJyAmJiB0aGlzW1NSQ10gfHwgJHRvU3RyaW5nLmNhbGwodGhpcyk7XG59KTtcbiIsInZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIFNIQVJFRCA9ICdfX2NvcmUtanNfc2hhcmVkX18nO1xudmFyIHN0b3JlID0gZ2xvYmFsW1NIQVJFRF0gfHwgKGdsb2JhbFtTSEFSRURdID0ge30pO1xuXG4obW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICByZXR1cm4gc3RvcmVba2V5XSB8fCAoc3RvcmVba2V5XSA9IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHt9KTtcbn0pKCd2ZXJzaW9ucycsIFtdKS5wdXNoKHtcbiAgdmVyc2lvbjogY29yZS52ZXJzaW9uLFxuICBtb2RlOiByZXF1aXJlKCcuL19saWJyYXJ5JykgPyAncHVyZScgOiAnZ2xvYmFsJyxcbiAgY29weXJpZ2h0OiAnwqkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSdcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobWV0aG9kLCBhcmcpIHtcbiAgcmV0dXJuICEhbWV0aG9kICYmIGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jYWxsXG4gICAgYXJnID8gbWV0aG9kLmNhbGwobnVsbCwgZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9LCAxKSA6IG1ldGhvZC5jYWxsKG51bGwpO1xuICB9KTtcbn07XG4iLCIvLyBoZWxwZXIgZm9yIFN0cmluZyN7c3RhcnRzV2l0aCwgZW5kc1dpdGgsIGluY2x1ZGVzfVxudmFyIGlzUmVnRXhwID0gcmVxdWlyZSgnLi9faXMtcmVnZXhwJyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGhhdCwgc2VhcmNoU3RyaW5nLCBOQU1FKSB7XG4gIGlmIChpc1JlZ0V4cChzZWFyY2hTdHJpbmcpKSB0aHJvdyBUeXBlRXJyb3IoJ1N0cmluZyMnICsgTkFNRSArIFwiIGRvZXNuJ3QgYWNjZXB0IHJlZ2V4IVwiKTtcbiAgcmV0dXJuIFN0cmluZyhkZWZpbmVkKHRoYXQpKTtcbn07XG4iLCJ2YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIG1heCA9IE1hdGgubWF4O1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaW5kZXgsIGxlbmd0aCkge1xuICBpbmRleCA9IHRvSW50ZWdlcihpbmRleCk7XG4gIHJldHVybiBpbmRleCA8IDAgPyBtYXgoaW5kZXggKyBsZW5ndGgsIDApIDogbWluKGluZGV4LCBsZW5ndGgpO1xufTtcbiIsIi8vIDcuMS40IFRvSW50ZWdlclxudmFyIGNlaWwgPSBNYXRoLmNlaWw7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzTmFOKGl0ID0gK2l0KSA/IDAgOiAoaXQgPiAwID8gZmxvb3IgOiBjZWlsKShpdCk7XG59O1xuIiwiLy8gdG8gaW5kZXhlZCBvYmplY3QsIHRvT2JqZWN0IHdpdGggZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBzdHJpbmdzXG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIElPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbiIsIi8vIDcuMS4xNSBUb0xlbmd0aFxudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpdCA+IDAgPyBtaW4odG9JbnRlZ2VyKGl0KSwgMHgxZmZmZmZmZmZmZmZmZikgOiAwOyAvLyBwb3coMiwgNTMpIC0gMSA9PSA5MDA3MTk5MjU0NzQwOTkxXG59O1xuIiwiLy8gNy4xLjEzIFRvT2JqZWN0KGFyZ3VtZW50KVxudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4iLCIvLyA3LjEuMSBUb1ByaW1pdGl2ZShpbnB1dCBbLCBQcmVmZXJyZWRUeXBlXSlcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuLy8gaW5zdGVhZCBvZiB0aGUgRVM2IHNwZWMgdmVyc2lvbiwgd2UgZGlkbid0IGltcGxlbWVudCBAQHRvUHJpbWl0aXZlIGNhc2Vcbi8vIGFuZCB0aGUgc2Vjb25kIGFyZ3VtZW50IC0gZmxhZyAtIHByZWZlcnJlZCB0eXBlIGlzIGEgc3RyaW5nXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgUykge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgcmV0dXJuIGl0O1xuICB2YXIgZm4sIHZhbDtcbiAgaWYgKFMgJiYgdHlwZW9mIChmbiA9IGl0LnRvU3RyaW5nKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICh0eXBlb2YgKGZuID0gaXQudmFsdWVPZikgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAoIVMgJiYgdHlwZW9mIChmbiA9IGl0LnRvU3RyaW5nKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZVwiKTtcbn07XG4iLCJ2YXIgaWQgPSAwO1xudmFyIHB4ID0gTWF0aC5yYW5kb20oKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gJ1N5bWJvbCgnLmNvbmNhdChrZXkgPT09IHVuZGVmaW5lZCA/ICcnIDoga2V5LCAnKV8nLCAoKytpZCArIHB4KS50b1N0cmluZygzNikpO1xufTtcbiIsInZhciBzdG9yZSA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCd3a3MnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbnZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5TeW1ib2w7XG52YXIgVVNFX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT0gJ2Z1bmN0aW9uJztcblxudmFyICRleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gc3RvcmVbbmFtZV0gfHwgKHN0b3JlW25hbWVdID1cbiAgICBVU0VfU1lNQk9MICYmIFN5bWJvbFtuYW1lXSB8fCAoVVNFX1NZTUJPTCA/IFN5bWJvbCA6IHVpZCkoJ1N5bWJvbC4nICsgbmFtZSkpO1xufTtcblxuJGV4cG9ydHMuc3RvcmUgPSBzdG9yZTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGZvckVhY2ggPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMCk7XG52YXIgU1RSSUNUID0gcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLmZvckVhY2gsIHRydWUpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqICFTVFJJQ1QsICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjEwIC8gMTUuNC40LjE4IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIGZvckVhY2g6IGZ1bmN0aW9uIGZvckVhY2goY2FsbGJhY2tmbiAvKiAsIHRoaXNBcmcgKi8pIHtcbiAgICByZXR1cm4gJGZvckVhY2godGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIvLyAyMC4xLjIuMyBOdW1iZXIuaXNJbnRlZ2VyKG51bWJlcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywgeyBpc0ludGVnZXI6IHJlcXVpcmUoJy4vX2lzLWludGVnZXInKSB9KTtcbiIsIi8vIDIxLjEuMy4xOCBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nIFssIHBvc2l0aW9uIF0pXG4ndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY29udGV4dCA9IHJlcXVpcmUoJy4vX3N0cmluZy1jb250ZXh0Jyk7XG52YXIgU1RBUlRTX1dJVEggPSAnc3RhcnRzV2l0aCc7XG52YXIgJHN0YXJ0c1dpdGggPSAnJ1tTVEFSVFNfV0lUSF07XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMtaXMtcmVnZXhwJykoU1RBUlRTX1dJVEgpLCAnU3RyaW5nJywge1xuICBzdGFydHNXaXRoOiBmdW5jdGlvbiBzdGFydHNXaXRoKHNlYXJjaFN0cmluZyAvKiAsIHBvc2l0aW9uID0gMCAqLykge1xuICAgIHZhciB0aGF0ID0gY29udGV4dCh0aGlzLCBzZWFyY2hTdHJpbmcsIFNUQVJUU19XSVRIKTtcbiAgICB2YXIgaW5kZXggPSB0b0xlbmd0aChNYXRoLm1pbihhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCwgdGhhdC5sZW5ndGgpKTtcbiAgICB2YXIgc2VhcmNoID0gU3RyaW5nKHNlYXJjaFN0cmluZyk7XG4gICAgcmV0dXJuICRzdGFydHNXaXRoXG4gICAgICA/ICRzdGFydHNXaXRoLmNhbGwodGhhdCwgc2VhcmNoLCBpbmRleClcbiAgICAgIDogdGhhdC5zbGljZShpbmRleCwgaW5kZXggKyBzZWFyY2gubGVuZ3RoKSA9PT0gc2VhcmNoO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L0FycmF5LnByb3RvdHlwZS5pbmNsdWRlc1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkaW5jbHVkZXMgPSByZXF1aXJlKCcuL19hcnJheS1pbmNsdWRlcycpKHRydWUpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0FycmF5Jywge1xuICBpbmNsdWRlczogZnVuY3Rpb24gaW5jbHVkZXMoZWwgLyogLCBmcm9tSW5kZXggPSAwICovKSB7XG4gICAgcmV0dXJuICRpbmNsdWRlcyh0aGlzLCBlbCwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcblxucmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJykoJ2luY2x1ZGVzJyk7XG4iLCIndXNlIHN0cmljdCc7XG4vKipcbiAqIFtSZWN1cnNpdmVseSBwYXJzZXMgYSBzdHJpbmdpZmllZCBKU09OXVxuICogQHBhcmFtICB7W3R5cGVdfSBqc29uU3RyaW5nIFtzdHJpbmdpZmllZCBqc29uIHRvIHBhcnNlXVxuICogQHJldHVybiB7W3R5cGVdfSAgICAgICAgICAgIFtub3JtYWxpemVkIEphdmFzY3JpcHQgb2JqZWN0XVxuICovXG5mdW5jdGlvbiBkZWVwUGFyc2VKc29uKGpzb25TdHJpbmcpIHtcbiAgLy8gaWYgbm90IHN0cmluZ2lmaWVkIGpzb24gcmF0aGVyIGEgc2ltcGxlIHN0cmluZyB2YWx1ZSB0aGVuIEpTT04ucGFyc2Ugd2lsbCB0aHJvdyBlcnJvclxuICAvLyBvdGhlcndpc2UgY29udGludWUgcmVjdXJzaW9uXG4gIGlmICh0eXBlb2YganNvblN0cmluZyA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlZXBQYXJzZUpzb24oSlNPTi5wYXJzZShqc29uU3RyaW5nKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4ganNvblN0cmluZztcbiAgICB9XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShqc29uU3RyaW5nKSkge1xuICAgIC8vIGlmIGFuIGFycmF5IGlzIHJlY2VpdmVkLCBtYXAgb3ZlciB0aGUgYXJyYXkgYW5kIGRlZXBQYXJzZSBlYWNoIHZhbHVlXG4gICAgcmV0dXJuIGpzb25TdHJpbmcubWFwKHZhbCA9PiBkZWVwUGFyc2VKc29uKHZhbCkpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBqc29uU3RyaW5nID09PSAnb2JqZWN0JyAmJiBqc29uU3RyaW5nICE9PSBudWxsKSB7XG4gICAgLy8gaWYgYW4gb2JqZWN0IGlzIHJlY2VpdmVkIHRoZW4gZGVlcFBhcnNlIGVhY2ggZWxlbWVudCBpbiB0aGUgb2JqZWN0XG4gICAgLy8gdHlwZW9mIG51bGwgcmV0dXJucyAnb2JqZWN0JyB0b28sIHNvIHdlIGhhdmUgdG8gZWxpbWluYXRlIHRoYXRcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoanNvblN0cmluZykucmVkdWNlKChvYmosIGtleSkgPT4ge1xuICAgICAgb2JqW2tleV0gPSBkZWVwUGFyc2VKc29uKGpzb25TdHJpbmdba2V5XSk7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sIHt9KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBvdGhlcndpc2UgcmV0dXJuIHdoYXRldmVyIHdhcyByZWNlaXZlZFxuICAgIHJldHVybiBqc29uU3RyaW5nO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBkZWVwUGFyc2VKc29uIH07XG4iLCJpZighZ2xvYmFsW1wiQmFzaXNcIl0pIGdsb2JhbFtcIkJhc2lzXCJdID0ge307XG5tb2R1bGUuZXhwb3J0cyA9IGdsb2JhbFtcIkJhc2lzXCJdW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IHJlcXVpcmUoXCItIS4vYWdjLWJhc2ljLmJ1bmRsZS5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IGdsb2JhbFtcImpzc1wiXSA9IHJlcXVpcmUoXCItIS4vanNzLmpzXCIpOyIsIi8qXG4gKiBKU1MgdjAuNiAtIEphdmFTY3JpcHQgU3R5bGVzaGVldHNcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9Cb3g5L2pzc1xuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMSwgRGF2aWQgVGFuZ1xuICogTUlUIExpY2Vuc2VkIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocClcbiAqL1xudmFyIGpzcyA9IChmdW5jdGlvbigpIHtcbiAgICB2YXIgYWRqU2VsQXR0clJlZ2V4ID0gLygoPzpcXC58IylbXlxcLlxccyNdKykoKD86XFwufCMpW15cXC5cXHMjXSspL2c7XG4gICAgdmFyIGRvdWJsZUNvbG9uUHNldWRvRWxSZWdleCA9IC8oOjopKGJlZm9yZXxhZnRlcnxmaXJzdC1saW5lfGZpcnN0LWxldHRlcnxzZWxlY3Rpb24pLztcbiAgICB2YXIgc2luZ2xlQ29sb25Qc2V1ZG9FbFJlZ2V4ID0gLyhbXjpdKSg6KShiZWZvcmV8YWZ0ZXJ8Zmlyc3QtbGluZXxmaXJzdC1sZXR0ZXJ8c2VsZWN0aW9uKS87XG4gICAgdmFyIHNpbmdsZUNvbG9uRm9yUHNldWRvRWxlbWVudHM7IC8vIGZsYWcgZm9yIG9sZGVyIGJyb3dzZXJzXG5cbiAgICBmdW5jdGlvbiBnZXRTZWxlY3RvcnNBbmRSdWxlcyhzaGVldCkge1xuICAgICAgICB2YXIgcnVsZXMgPSBzaGVldC5jc3NSdWxlcyB8fCBzaGVldC5ydWxlcyB8fCBbXTtcbiAgICAgICAgdmFyIHJlc3VsdHMgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgLy8gT2xkZXIgYnJvd3NlcnMgYW5kIEZGIHJlcG9ydCBwc2V1ZG8gZWxlbWVudCBzZWxlY3RvcnMgaW4gYW4gb3V0ZGF0ZWQgZm9ybWF0XG4gICAgICAgICAgICB2YXIgc2VsZWN0b3JUZXh0ID0gdG9Eb3VibGVDb2xvblBzZXVkb0VsZW1lbnRzKHJ1bGVzW2ldLnNlbGVjdG9yVGV4dCk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdHNbc2VsZWN0b3JUZXh0XSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdHNbc2VsZWN0b3JUZXh0XSA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0c1tzZWxlY3RvclRleHRdLnB1c2goe1xuICAgICAgICAgICAgICAgIHNoZWV0OiBzaGVldCxcbiAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICBzdHlsZTogcnVsZXNbaV0uc3R5bGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFJ1bGVzKHNoZWV0LCBzZWxlY3Rvcikge1xuICAgICAgICB2YXIgcnVsZXMgPSBzaGVldC5jc3NSdWxlcyB8fCBzaGVldC5ydWxlcyB8fCBbXTtcbiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgICAgICAgLy8gQnJvd3NlcnMgcmVwb3J0IHNlbGVjdG9ycyBpbiBsb3dlcmNhc2VcbiAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgc2VsZWN0b3JUZXh0ID0gcnVsZXNbaV0uc2VsZWN0b3JUZXh0O1xuICAgICAgICAgICAgLy8gTm90ZSAtIGNlcnRhaW4gcnVsZXMgKGUuZy4gQHJ1bGVzKSBkb24ndCBoYXZlIHNlbGVjdG9yVGV4dFxuICAgICAgICAgICAgaWYgKHNlbGVjdG9yVGV4dCAmJiAoc2VsZWN0b3JUZXh0ID09IHNlbGVjdG9yIHx8IHNlbGVjdG9yVGV4dCA9PSBzd2FwQWRqU2VsQXR0cihzZWxlY3RvcikgfHwgc2VsZWN0b3JUZXh0ID09IHN3YXBQc2V1ZG9FbFN5bnRheChzZWxlY3RvcikpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgc2hlZXQ6IHNoZWV0LFxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2ldLnN0eWxlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWRkUnVsZShzaGVldCwgc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHJ1bGVzID0gc2hlZXQuY3NzUnVsZXMgfHwgc2hlZXQucnVsZXMgfHwgW107XG4gICAgICAgIHZhciBpbmRleCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgICAgdmFyIHBzZXVkb0VsZW1lbnRSdWxlID0gYWRkUHNldWRvRWxlbWVudFJ1bGUoc2hlZXQsIHNlbGVjdG9yLCBydWxlcywgaW5kZXgpO1xuXG4gICAgICAgIGlmICghcHNldWRvRWxlbWVudFJ1bGUpIHtcbiAgICAgICAgICAgIGFkZFJ1bGVUb1NoZWV0KHNoZWV0LCBzZWxlY3RvciwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hlZXQ6IHNoZWV0LFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2luZGV4XS5zdHlsZVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBhZGRSdWxlVG9TaGVldChzaGVldCwgc2VsZWN0b3IsIGluZGV4KSB7XG4gICAgICAgIGlmIChzaGVldC5pbnNlcnRSdWxlKSB7XG4gICAgICAgICAgICBzaGVldC5pbnNlcnRSdWxlKHNlbGVjdG9yICsgJyB7IH0nLCBpbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaGVldC5hZGRSdWxlKHNlbGVjdG9yLCBudWxsLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYW5kbGVzIHNpbmdsZSBjb2xvbiBzeW50YXggZm9yIG9sZGVyIGJyb3dzZXJzIGFuZCBidWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5NjUxXG4gICAgZnVuY3Rpb24gYWRkUHNldWRvRWxlbWVudFJ1bGUoc2hlZXQsIHNlbGVjdG9yLCBydWxlcywgaW5kZXgpIHtcbiAgICAgICAgdmFyIGRvdWJsZUNvbG9uU2VsZWN0b3I7XG4gICAgICAgIHZhciBzaW5nbGVDb2xvblNlbGVjdG9yO1xuXG4gICAgICAgIGlmIChkb3VibGVDb2xvblBzZXVkb0VsUmVnZXguZXhlYyhzZWxlY3RvcikpIHtcbiAgICAgICAgICAgIGRvdWJsZUNvbG9uU2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgICAgICAgICAgIHNpbmdsZUNvbG9uU2VsZWN0b3IgPSB0b1NpbmdsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpO1xuICAgICAgICB9IGVsc2UgaWYgKHNpbmdsZUNvbG9uUHNldWRvRWxSZWdleC5leGVjKHNlbGVjdG9yKSkge1xuICAgICAgICAgICAgZG91YmxlQ29sb25TZWxlY3RvciA9IHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcik7XG4gICAgICAgICAgICBzaW5nbGVDb2xvblNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIE5vdCBkZWFsaW5nIHdpdGggYSBwc2V1ZG8gZWxlbWVudFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgICAgICAvLyBBc3N1bWUgbW9kZXJuIGJyb3dzZXIgYW5kIHRoZW4gY2hlY2sgaWYgc3VjY2Vzc2Z1bFxuICAgICAgICAgICAgYWRkUnVsZVRvU2hlZXQoc2hlZXQsIGRvdWJsZUNvbG9uU2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgICAgIGlmIChydWxlcy5sZW5ndGggPD0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc2luZ2xlQ29sb25Gb3JQc2V1ZG9FbGVtZW50cykge1xuICAgICAgICAgICAgYWRkUnVsZVRvU2hlZXQoc2hlZXQsIHNpbmdsZUNvbG9uU2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3IucmVwbGFjZShzaW5nbGVDb2xvblBzZXVkb0VsUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCwgc3VibWF0Y2gxLCBzdWJtYXRjaDIsIHN1Ym1hdGNoMykge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1hdGNoMSArICc6OicgKyBzdWJtYXRjaDM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvU2luZ2xlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3IucmVwbGFjZShkb3VibGVDb2xvblBzZXVkb0VsUmVnZXgsIGZ1bmN0aW9uKG1hdGNoLCBzdWJtYXRjaDEsIHN1Ym1hdGNoMikge1xuICAgICAgICAgICAgcmV0dXJuICc6JyArIHN1Ym1hdGNoMjtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW1vdmVSdWxlKHJ1bGUpIHtcbiAgICAgICAgdmFyIHNoZWV0ID0gcnVsZS5zaGVldDtcbiAgICAgICAgaWYgKHNoZWV0LmRlbGV0ZVJ1bGUpIHtcbiAgICAgICAgICAgIHNoZWV0LmRlbGV0ZVJ1bGUocnVsZS5pbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hlZXQucmVtb3ZlUnVsZSkge1xuICAgICAgICAgICAgc2hlZXQucmVtb3ZlUnVsZShydWxlLmluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGV4dGVuZChkZXN0LCBzcmMpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIHNyYykge1xuICAgICAgICAgICAgaWYgKCFzcmMuaGFzT3duUHJvcGVydHkoa2V5KSlcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGRlc3Rba2V5XSA9IHNyY1trZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFnZ3JlZ2F0ZVN0eWxlcyhydWxlcykge1xuICAgICAgICB2YXIgYWdncmVnYXRlID0ge307XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGV4dGVuZChhZ2dyZWdhdGUsIGRlY2xhcmVkUHJvcGVydGllcyhydWxlc1tpXS5zdHlsZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhZ2dyZWdhdGU7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGVjbGFyZWRQcm9wZXJ0aWVzKHN0eWxlKSB7XG4gICAgICAgIHZhciBkZWNsYXJlZCA9IHt9O1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBkZWNsYXJlZFtzdHlsZVtpXV0gPSBzdHlsZVt0b0NhbWVsQ2FzZShzdHlsZVtpXSldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWNsYXJlZDtcbiAgICB9XG5cbiAgICAvLyBJRTkgc3RvcmVzIHJ1bGVzIHdpdGggYXR0cmlidXRlcyAoY2xhc3NlcyBvciBJRCdzKSBhZGphY2VudCBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIgYXMgZGVmaW5lZFxuICAgIC8vIGNhdXNpbmcgdGhlbSB0byBub3QgYmUgZm91bmQsIHNvIHRoaXMgbWV0aG9kIHN3YXBzIFsjfC5dc2VsMVsjfC5dc2VsMiB0byBiZWNvbWUgWyN8Ll1zZWwyWyN8Ll1zZWwxXG4gICAgZnVuY3Rpb24gc3dhcEFkalNlbEF0dHIoc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHN3YXAgPSAnJztcbiAgICAgICAgdmFyIGxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IGFkalNlbEF0dHJSZWdleC5leGVjKHNlbGVjdG9yKSkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKG1hdGNoWzBdID09PSAnJylcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyaW5nKGxhc3RJbmRleCwgbWF0Y2guaW5kZXgpO1xuICAgICAgICAgICAgc3dhcCArPSBzZWxlY3Rvci5zdWJzdHIobWF0Y2guaW5kZXggKyBtYXRjaFsxXS5sZW5ndGgsIG1hdGNoWzJdLmxlbmd0aCk7XG4gICAgICAgICAgICBzd2FwICs9IHNlbGVjdG9yLnN1YnN0cihtYXRjaC5pbmRleCwgbWF0Y2hbMV0ubGVuZ3RoKTtcbiAgICAgICAgICAgIGxhc3RJbmRleCA9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyKGxhc3RJbmRleCk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gc3dhcDtcbiAgICB9O1xuXG4gICAgLy8gRkYgYW5kIG9sZGVyIGJyb3dzZXJzIHN0b3JlIHJ1bGVzIHdpdGggcHNldWRvIGVsZW1lbnRzIHVzaW5nIHNpbmdsZS1jb2xvbiBzeW50YXhcbiAgICBmdW5jdGlvbiBzd2FwUHNldWRvRWxTeW50YXgoc2VsZWN0b3IpIHtcbiAgICAgICAgaWYgKGRvdWJsZUNvbG9uUHNldWRvRWxSZWdleC5leGVjKHNlbGVjdG9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvU2luZ2xlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldFN0eWxlUHJvcGVydGllcyhydWxlLCBwcm9wZXJ0aWVzKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBwcm9wZXJ0aWVzW2tleV07XG4gICAgICAgICAgICB2YXIgaW1wb3J0YW50SW5kZXggPSB2YWx1ZS5pbmRleE9mKCcgIWltcG9ydGFudCcpO1xuXG4gICAgICAgICAgICAvLyBNb2Rlcm4gYnJvd3NlcnMgc2VlbSB0byBoYW5kbGUgb3ZlcnJpZGVzIGZpbmUsIGJ1dCBJRTkgZG9lc24ndFxuICAgICAgICAgICAgcnVsZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShrZXkpOyBcbiAgICAgICAgICAgIGlmIChpbXBvcnRhbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICBydWxlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUuc3Vic3RyKDAsIGltcG9ydGFudEluZGV4KSwgJ2ltcG9ydGFudCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBydWxlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9DYW1lbENhc2Uoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvLShbYS16XSkvZywgZnVuY3Rpb24gKG1hdGNoLCBzdWJtYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1hdGNoLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUNhbWVsQ2FzZWRQcm9wZXJ0eU5hbWVzKG9sZFByb3BzKSB7XG4gICAgICAgIHZhciBuZXdQcm9wcyA9IHt9O1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb2xkUHJvcHMpIHtcbiAgICAgICAgICAgIG5ld1Byb3BzW3VuQ2FtZWxDYXNlKGtleSldID0gb2xkUHJvcHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3UHJvcHM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdW5DYW1lbENhc2Uoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFtBLVpdKS9nLCBmdW5jdGlvbihtYXRjaCwgc3VibWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiAnLScgKyBzdWJtYXRjaC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgSnNzID0gZnVuY3Rpb24oZG9jKSB7XG4gICAgICAgIHRoaXMuZG9jID0gZG9jO1xuICAgICAgICB0aGlzLmhlYWQgPSB0aGlzLmRvYy5oZWFkIHx8IHRoaXMuZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gICAgICAgIHRoaXMuc2hlZXRzID0gdGhpcy5kb2Muc3R5bGVTaGVldHMgfHwgW107XG4gICAgfTtcblxuICAgIEpzcy5wcm90b3R5cGUgPSB7XG4gICAgICAgIC8vIFJldHVybnMgSlNTIHJ1bGVzIChzZWxlY3RvciBpcyBvcHRpb25hbClcbiAgICAgICAgZ2V0OiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRTaGVldCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBhZ2dyZWdhdGVTdHlsZXMoZ2V0UnVsZXModGhpcy5kZWZhdWx0U2hlZXQsIHNlbGVjdG9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRTZWxlY3RvcnNBbmRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCk7XG4gICAgICAgICAgICBmb3IgKHNlbGVjdG9yIGluIHJ1bGVzKSB7XG4gICAgICAgICAgICAgICAgcnVsZXNbc2VsZWN0b3JdID0gYWdncmVnYXRlU3R5bGVzKHJ1bGVzW3NlbGVjdG9yXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcnVsZXM7XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFJldHVybnMgYWxsIHJ1bGVzIChzZWxlY3RvciBpcyByZXF1aXJlZClcbiAgICAgICAgZ2V0QWxsOiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7fTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zaGVldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBleHRlbmQocHJvcGVydGllcywgYWdncmVnYXRlU3R5bGVzKGdldFJ1bGVzKHRoaXMuc2hlZXRzW2ldLCBzZWxlY3RvcikpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgICAgICB9LFxuICAgICAgICAvLyBBZGRzIEpTUyBydWxlcyBmb3IgdGhlIHNlbGVjdG9yIGJhc2VkIG9uIHRoZSBnaXZlbiBwcm9wZXJ0aWVzXG4gICAgICAgIHNldDogZnVuY3Rpb24oc2VsZWN0b3IsIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0U2hlZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRTaGVldCA9IHRoaXMuX2NyZWF0ZVNoZWV0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9wZXJ0aWVzID0gdHJhbnNmb3JtQ2FtZWxDYXNlZFByb3BlcnR5TmFtZXMocHJvcGVydGllcyk7XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpO1xuICAgICAgICAgICAgaWYgKCFydWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBydWxlcyA9IFthZGRSdWxlKHRoaXMuZGVmYXVsdFNoZWV0LCBzZWxlY3RvcildO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHNldFN0eWxlUHJvcGVydGllcyhydWxlc1tpXSwgcHJvcGVydGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFJlbW92ZXMgSlNTIHJ1bGVzIChzZWxlY3RvciBpcyBvcHRpb25hbClcbiAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRTaGVldClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpZiAoIXNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlU2hlZXQodGhpcy5kZWZhdWx0U2hlZXQpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRlZmF1bHRTaGVldDtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHJlbW92ZVJ1bGUocnVsZXNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGVzLmxlbmd0aDtcbiAgICAgICAgfSxcbiAgICAgICAgX2NyZWF0ZVNoZWV0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZU5vZGUgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgc3R5bGVOb2RlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgc3R5bGVOb2RlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgICAgIHRoaXMuaGVhZC5hcHBlbmRDaGlsZChzdHlsZU5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlTm9kZS5zaGVldDtcbiAgICAgICAgfSxcbiAgICAgICAgX3JlbW92ZVNoZWV0OiBmdW5jdGlvbihzaGVldCkge1xuICAgICAgICAgICAgdmFyIG5vZGUgPSBzaGVldC5vd25lck5vZGU7XG4gICAgICAgICAgICBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGV4cG9ydHMgPSBuZXcgSnNzKGRvY3VtZW50KTtcbiAgICBleHBvcnRzLmZvckRvY3VtZW50ID0gZnVuY3Rpb24oZG9jKSB7XG4gICAgICAgIHJldHVybiBuZXcgSnNzKGRvYyk7XG4gICAgfTtcbiAgICByZXR1cm4gZXhwb3J0cztcbn0pKCk7XG5cbnR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzICYmIChtb2R1bGUuZXhwb3J0cyA9IGpzcyk7IC8vIENvbW1vbkpTIHN1cHBvcnQiLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgU3ltYm9sID0gcm9vdC5TeW1ib2w7XG5cbm1vZHVsZS5leHBvcnRzID0gU3ltYm9sO1xuIiwiLyoqXG4gKiBBIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBgRnVuY3Rpb24jYXBwbHlgLCB0aGlzIGZ1bmN0aW9uIGludm9rZXMgYGZ1bmNgXG4gKiB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiBgdGhpc0FyZ2AgYW5kIHRoZSBhcmd1bWVudHMgb2YgYGFyZ3NgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzdWx0IG9mIGBmdW5jYC5cbiAqL1xuZnVuY3Rpb24gYXBwbHkoZnVuYywgdGhpc0FyZywgYXJncykge1xuICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcpO1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdKTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jLmNhbGwodGhpc0FyZywgYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICB9XG4gIHJldHVybiBmdW5jLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFwcGx5O1xuIiwidmFyIGJhc2VUaW1lcyA9IHJlcXVpcmUoJy4vX2Jhc2VUaW1lcycpLFxuICAgIGlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9pc0FyZ3VtZW50cycpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc0J1ZmZlciA9IHJlcXVpcmUoJy4vaXNCdWZmZXInKSxcbiAgICBpc0luZGV4ID0gcmVxdWlyZSgnLi9faXNJbmRleCcpLFxuICAgIGlzVHlwZWRBcnJheSA9IHJlcXVpcmUoJy4vaXNUeXBlZEFycmF5Jyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiB0aGUgYXJyYXktbGlrZSBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5oZXJpdGVkIFNwZWNpZnkgcmV0dXJuaW5nIGluaGVyaXRlZCBwcm9wZXJ0eSBuYW1lcy5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGFycmF5TGlrZUtleXModmFsdWUsIGluaGVyaXRlZCkge1xuICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKSxcbiAgICAgIGlzQXJnID0gIWlzQXJyICYmIGlzQXJndW1lbnRzKHZhbHVlKSxcbiAgICAgIGlzQnVmZiA9ICFpc0FyciAmJiAhaXNBcmcgJiYgaXNCdWZmZXIodmFsdWUpLFxuICAgICAgaXNUeXBlID0gIWlzQXJyICYmICFpc0FyZyAmJiAhaXNCdWZmICYmIGlzVHlwZWRBcnJheSh2YWx1ZSksXG4gICAgICBza2lwSW5kZXhlcyA9IGlzQXJyIHx8IGlzQXJnIHx8IGlzQnVmZiB8fCBpc1R5cGUsXG4gICAgICByZXN1bHQgPSBza2lwSW5kZXhlcyA/IGJhc2VUaW1lcyh2YWx1ZS5sZW5ndGgsIFN0cmluZykgOiBbXSxcbiAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgaWYgKChpbmhlcml0ZWQgfHwgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkgJiZcbiAgICAgICAgIShza2lwSW5kZXhlcyAmJiAoXG4gICAgICAgICAgIC8vIFNhZmFyaSA5IGhhcyBlbnVtZXJhYmxlIGBhcmd1bWVudHMubGVuZ3RoYCBpbiBzdHJpY3QgbW9kZS5cbiAgICAgICAgICAga2V5ID09ICdsZW5ndGgnIHx8XG4gICAgICAgICAgIC8vIE5vZGUuanMgMC4xMCBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiBidWZmZXJzLlxuICAgICAgICAgICAoaXNCdWZmICYmIChrZXkgPT0gJ29mZnNldCcgfHwga2V5ID09ICdwYXJlbnQnKSkgfHxcbiAgICAgICAgICAgLy8gUGhhbnRvbUpTIDIgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gdHlwZWQgYXJyYXlzLlxuICAgICAgICAgICAoaXNUeXBlICYmIChrZXkgPT0gJ2J1ZmZlcicgfHwga2V5ID09ICdieXRlTGVuZ3RoJyB8fCBrZXkgPT0gJ2J5dGVPZmZzZXQnKSkgfHxcbiAgICAgICAgICAgLy8gU2tpcCBpbmRleCBwcm9wZXJ0aWVzLlxuICAgICAgICAgICBpc0luZGV4KGtleSwgbGVuZ3RoKVxuICAgICAgICApKSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcnJheUxpa2VLZXlzO1xuIiwiLyoqXG4gKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ubWFwYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAqIHNob3J0aGFuZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIGFycmF5TWFwKGFycmF5LCBpdGVyYXRlZSkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoLFxuICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcnJheU1hcDtcbiIsInZhciBiYXNlQXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19iYXNlQXNzaWduVmFsdWUnKSxcbiAgICBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBBc3NpZ25zIGB2YWx1ZWAgdG8gYGtleWAgb2YgYG9iamVjdGAgaWYgdGhlIGV4aXN0aW5nIHZhbHVlIGlzIG5vdCBlcXVpdmFsZW50XG4gKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gKi9cbmZ1bmN0aW9uIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICB2YXIgb2JqVmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgaWYgKCEoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYgZXEob2JqVmFsdWUsIHZhbHVlKSkgfHxcbiAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICEoa2V5IGluIG9iamVjdCkpKSB7XG4gICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ25WYWx1ZTtcbiIsInZhciBkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX2RlZmluZVByb3BlcnR5Jyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYGFzc2lnblZhbHVlYCBhbmQgYGFzc2lnbk1lcmdlVmFsdWVgIHdpdGhvdXRcbiAqIHZhbHVlIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgPT0gJ19fcHJvdG9fXycgJiYgZGVmaW5lUHJvcGVydHkpIHtcbiAgICBkZWZpbmVQcm9wZXJ0eShvYmplY3QsIGtleSwge1xuICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAnZW51bWVyYWJsZSc6IHRydWUsXG4gICAgICAndmFsdWUnOiB2YWx1ZSxcbiAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUFzc2lnblZhbHVlO1xuIiwidmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX1N5bWJvbCcpLFxuICAgIGdldFJhd1RhZyA9IHJlcXVpcmUoJy4vX2dldFJhd1RhZycpLFxuICAgIG9iamVjdFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fb2JqZWN0VG9TdHJpbmcnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIG51bGxUYWcgPSAnW29iamVjdCBOdWxsXScsXG4gICAgdW5kZWZpbmVkVGFnID0gJ1tvYmplY3QgVW5kZWZpbmVkXSc7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHN5bVRvU3RyaW5nVGFnID0gU3ltYm9sID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBnZXRUYWdgIHdpdGhvdXQgZmFsbGJhY2tzIGZvciBidWdneSBlbnZpcm9ubWVudHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSkge1xuICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkVGFnIDogbnVsbFRhZztcbiAgfVxuICByZXR1cm4gKHN5bVRvU3RyaW5nVGFnICYmIHN5bVRvU3RyaW5nVGFnIGluIE9iamVjdCh2YWx1ZSkpXG4gICAgPyBnZXRSYXdUYWcodmFsdWUpXG4gICAgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUdldFRhZztcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXSc7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNBcmd1bWVudHNgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqL1xuZnVuY3Rpb24gYmFzZUlzQXJndW1lbnRzKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFyZ3NUYWc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUlzQXJndW1lbnRzO1xuIiwidmFyIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc01hc2tlZCA9IHJlcXVpcmUoJy4vX2lzTWFza2VkJyksXG4gICAgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0JyksXG4gICAgdG9Tb3VyY2UgPSByZXF1aXJlKCcuL190b1NvdXJjZScpO1xuXG4vKipcbiAqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGBcbiAqIFtzeW50YXggY2hhcmFjdGVyc10oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtcGF0dGVybnMpLlxuICovXG52YXIgcmVSZWdFeHBDaGFyID0gL1tcXFxcXiQuKis/KClbXFxde318XS9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaG9zdCBjb25zdHJ1Y3RvcnMgKFNhZmFyaSkuICovXG52YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZSxcbiAgICBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBpZiBhIG1ldGhvZCBpcyBuYXRpdmUuICovXG52YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cCgnXicgK1xuICBmdW5jVG9TdHJpbmcuY2FsbChoYXNPd25Qcm9wZXJ0eSkucmVwbGFjZShyZVJlZ0V4cENoYXIsICdcXFxcJCYnKVxuICAucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXFxcXCgpfCBmb3IgLis/KD89XFxcXFxcXSkvZywgJyQxLio/JykgKyAnJCdcbik7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbmF0aXZlIGZ1bmN0aW9uLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUlzTmF0aXZlKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpIHx8IGlzTWFza2VkKHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgcGF0dGVybiA9IGlzRnVuY3Rpb24odmFsdWUpID8gcmVJc05hdGl2ZSA6IHJlSXNIb3N0Q3RvcjtcbiAgcmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VJc05hdGl2ZTtcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzTGVuZ3RoID0gcmVxdWlyZSgnLi9pc0xlbmd0aCcpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgYXJyYXlUYWcgPSAnW29iamVjdCBBcnJheV0nLFxuICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgZGF0ZVRhZyA9ICdbb2JqZWN0IERhdGVdJyxcbiAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgbWFwVGFnID0gJ1tvYmplY3QgTWFwXScsXG4gICAgbnVtYmVyVGFnID0gJ1tvYmplY3QgTnVtYmVyXScsXG4gICAgb2JqZWN0VGFnID0gJ1tvYmplY3QgT2JqZWN0XScsXG4gICAgcmVnZXhwVGFnID0gJ1tvYmplY3QgUmVnRXhwXScsXG4gICAgc2V0VGFnID0gJ1tvYmplY3QgU2V0XScsXG4gICAgc3RyaW5nVGFnID0gJ1tvYmplY3QgU3RyaW5nXScsXG4gICAgd2Vha01hcFRhZyA9ICdbb2JqZWN0IFdlYWtNYXBdJztcblxudmFyIGFycmF5QnVmZmVyVGFnID0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJyxcbiAgICBkYXRhVmlld1RhZyA9ICdbb2JqZWN0IERhdGFWaWV3XScsXG4gICAgZmxvYXQzMlRhZyA9ICdbb2JqZWN0IEZsb2F0MzJBcnJheV0nLFxuICAgIGZsb2F0NjRUYWcgPSAnW29iamVjdCBGbG9hdDY0QXJyYXldJyxcbiAgICBpbnQ4VGFnID0gJ1tvYmplY3QgSW50OEFycmF5XScsXG4gICAgaW50MTZUYWcgPSAnW29iamVjdCBJbnQxNkFycmF5XScsXG4gICAgaW50MzJUYWcgPSAnW29iamVjdCBJbnQzMkFycmF5XScsXG4gICAgdWludDhUYWcgPSAnW29iamVjdCBVaW50OEFycmF5XScsXG4gICAgdWludDhDbGFtcGVkVGFnID0gJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICB1aW50MTZUYWcgPSAnW29iamVjdCBVaW50MTZBcnJheV0nLFxuICAgIHVpbnQzMlRhZyA9ICdbb2JqZWN0IFVpbnQzMkFycmF5XSc7XG5cbi8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIG9mIHR5cGVkIGFycmF5cy4gKi9cbnZhciB0eXBlZEFycmF5VGFncyA9IHt9O1xudHlwZWRBcnJheVRhZ3NbZmxvYXQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1tmbG9hdDY0VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQ4VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2ludDE2VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50OFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG50eXBlZEFycmF5VGFnc1thcmdzVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2FycmF5VGFnXSA9XG50eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9XG50eXBlZEFycmF5VGFnc1tkYXRhVmlld1RhZ10gPSB0eXBlZEFycmF5VGFnc1tkYXRlVGFnXSA9XG50eXBlZEFycmF5VGFnc1tlcnJvclRhZ10gPSB0eXBlZEFycmF5VGFnc1tmdW5jVGFnXSA9XG50eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9XG50eXBlZEFycmF5VGFnc1tvYmplY3RUYWddID0gdHlwZWRBcnJheVRhZ3NbcmVnZXhwVGFnXSA9XG50eXBlZEFycmF5VGFnc1tzZXRUYWddID0gdHlwZWRBcnJheVRhZ3Nbc3RyaW5nVGFnXSA9XG50eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzVHlwZWRBcnJheWAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBiYXNlSXNUeXBlZEFycmF5KHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmXG4gICAgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNUeXBlZEFycmF5O1xuIiwidmFyIGlzUHJvdG90eXBlID0gcmVxdWlyZSgnLi9faXNQcm90b3R5cGUnKSxcbiAgICBuYXRpdmVLZXlzID0gcmVxdWlyZSgnLi9fbmF0aXZlS2V5cycpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNgIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gYmFzZUtleXMob2JqZWN0KSB7XG4gIGlmICghaXNQcm90b3R5cGUob2JqZWN0KSkge1xuICAgIHJldHVybiBuYXRpdmVLZXlzKG9iamVjdCk7XG4gIH1cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBmb3IgKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUtleXM7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0JyksXG4gICAgaXNQcm90b3R5cGUgPSByZXF1aXJlKCcuL19pc1Byb3RvdHlwZScpLFxuICAgIG5hdGl2ZUtleXNJbiA9IHJlcXVpcmUoJy4vX25hdGl2ZUtleXNJbicpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNJbmAgd2hpY2ggZG9lc24ndCB0cmVhdCBzcGFyc2UgYXJyYXlzIGFzIGRlbnNlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBiYXNlS2V5c0luKG9iamVjdCkge1xuICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICByZXR1cm4gbmF0aXZlS2V5c0luKG9iamVjdCk7XG4gIH1cbiAgdmFyIGlzUHJvdG8gPSBpc1Byb3RvdHlwZShvYmplY3QpLFxuICAgICAgcmVzdWx0ID0gW107XG5cbiAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgIGlmICghKGtleSA9PSAnY29uc3RydWN0b3InICYmIChpc1Byb3RvIHx8ICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VLZXlzSW47XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnByb3BlcnR5T2ZgIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWNjZXNzb3IgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VQcm9wZXJ0eU9mKG9iamVjdCkge1xuICByZXR1cm4gZnVuY3Rpb24oa2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVByb3BlcnR5T2Y7XG4iLCJ2YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5JyksXG4gICAgb3ZlclJlc3QgPSByZXF1aXJlKCcuL19vdmVyUmVzdCcpLFxuICAgIHNldFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fc2V0VG9TdHJpbmcnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZXN0YCB3aGljaCBkb2Vzbid0IHZhbGlkYXRlIG9yIGNvZXJjZSBhcmd1bWVudHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gYmFzZVJlc3QoZnVuYywgc3RhcnQpIHtcbiAgcmV0dXJuIHNldFRvU3RyaW5nKG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCBpZGVudGl0eSksIGZ1bmMgKyAnJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVJlc3Q7XG4iLCJ2YXIgY29uc3RhbnQgPSByZXF1aXJlKCcuL2NvbnN0YW50JyksXG4gICAgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKCcuL19kZWZpbmVQcm9wZXJ0eScpLFxuICAgIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9pZGVudGl0eScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBzZXRUb1N0cmluZ2Agd2l0aG91dCBzdXBwb3J0IGZvciBob3QgbG9vcCBzaG9ydGluZy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtGdW5jdGlvbn0gc3RyaW5nIFRoZSBgdG9TdHJpbmdgIHJlc3VsdC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gKi9cbnZhciBiYXNlU2V0VG9TdHJpbmcgPSAhZGVmaW5lUHJvcGVydHkgPyBpZGVudGl0eSA6IGZ1bmN0aW9uKGZ1bmMsIHN0cmluZykge1xuICByZXR1cm4gZGVmaW5lUHJvcGVydHkoZnVuYywgJ3RvU3RyaW5nJywge1xuICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICdlbnVtZXJhYmxlJzogZmFsc2UsXG4gICAgJ3ZhbHVlJzogY29uc3RhbnQoc3RyaW5nKSxcbiAgICAnd3JpdGFibGUnOiB0cnVlXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlU2V0VG9TdHJpbmc7XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRpbWVzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHNcbiAqIG9yIG1heCBhcnJheSBsZW5ndGggY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIGludm9rZSBgaXRlcmF0ZWVgLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAqL1xuZnVuY3Rpb24gYmFzZVRpbWVzKG4sIGl0ZXJhdGVlKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgcmVzdWx0ID0gQXJyYXkobik7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBuKSB7XG4gICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGluZGV4KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VUaW1lcztcbiIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKSxcbiAgICBhcnJheU1hcCA9IHJlcXVpcmUoJy4vX2FycmF5TWFwJyksXG4gICAgaXNBcnJheSA9IHJlcXVpcmUoJy4vaXNBcnJheScpLFxuICAgIGlzU3ltYm9sID0gcmVxdWlyZSgnLi9pc1N5bWJvbCcpO1xuXG4vKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBJTkZJTklUWSA9IDEgLyAwO1xuXG4vKiogVXNlZCB0byBjb252ZXJ0IHN5bWJvbHMgdG8gcHJpbWl0aXZlcyBhbmQgc3RyaW5ncy4gKi9cbnZhciBzeW1ib2xQcm90byA9IFN5bWJvbCA/IFN5bWJvbC5wcm90b3R5cGUgOiB1bmRlZmluZWQsXG4gICAgc3ltYm9sVG9TdHJpbmcgPSBzeW1ib2xQcm90byA/IHN5bWJvbFByb3RvLnRvU3RyaW5nIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRvU3RyaW5nYCB3aGljaCBkb2Vzbid0IGNvbnZlcnQgbnVsbGlzaFxuICogdmFsdWVzIHRvIGVtcHR5IHN0cmluZ3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGJhc2VUb1N0cmluZyh2YWx1ZSkge1xuICAvLyBFeGl0IGVhcmx5IGZvciBzdHJpbmdzIHRvIGF2b2lkIGEgcGVyZm9ybWFuY2UgaGl0IGluIHNvbWUgZW52aXJvbm1lbnRzLlxuICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbnZlcnQgdmFsdWVzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgcmV0dXJuIGFycmF5TWFwKHZhbHVlLCBiYXNlVG9TdHJpbmcpICsgJyc7XG4gIH1cbiAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiBzeW1ib2xUb1N0cmluZyA/IHN5bWJvbFRvU3RyaW5nLmNhbGwodmFsdWUpIDogJyc7XG4gIH1cbiAgdmFyIHJlc3VsdCA9ICh2YWx1ZSArICcnKTtcbiAgcmV0dXJuIChyZXN1bHQgPT0gJzAnICYmICgxIC8gdmFsdWUpID09IC1JTkZJTklUWSkgPyAnLTAnIDogcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VUb1N0cmluZztcbiIsIi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5hcnlgIHdpdGhvdXQgc3VwcG9ydCBmb3Igc3RvcmluZyBtZXRhZGF0YS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2FwIGFyZ3VtZW50cyBmb3IuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjYXBwZWQgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VVbmFyeShmdW5jKSB7XG4gIHJldHVybiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVW5hcnk7XG4iLCJ2YXIgYXJyYXlNYXAgPSByZXF1aXJlKCcuL19hcnJheU1hcCcpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnZhbHVlc2AgYW5kIGBfLnZhbHVlc0luYCB3aGljaCBjcmVhdGVzIGFuXG4gKiBhcnJheSBvZiBgb2JqZWN0YCBwcm9wZXJ0eSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZXNcbiAqIG9mIGBwcm9wc2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBuYW1lcyB0byBnZXQgdmFsdWVzIGZvci5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QsIHByb3BzKSB7XG4gIHJldHVybiBhcnJheU1hcChwcm9wcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdFtrZXldO1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVmFsdWVzO1xuIiwidmFyIGFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYXNzaWduVmFsdWUnKSxcbiAgICBiYXNlQXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19iYXNlQXNzaWduVmFsdWUnKTtcblxuLyoqXG4gKiBDb3BpZXMgcHJvcGVydGllcyBvZiBgc291cmNlYCB0byBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tLlxuICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzIHRvIGNvcHkuXG4gKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb3BpZWQgdmFsdWVzLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAqL1xuZnVuY3Rpb24gY29weU9iamVjdChzb3VyY2UsIHByb3BzLCBvYmplY3QsIGN1c3RvbWl6ZXIpIHtcbiAgdmFyIGlzTmV3ID0gIW9iamVjdDtcbiAgb2JqZWN0IHx8IChvYmplY3QgPSB7fSk7XG5cbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBwcm9wcy5sZW5ndGg7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIga2V5ID0gcHJvcHNbaW5kZXhdO1xuXG4gICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplclxuICAgICAgPyBjdXN0b21pemVyKG9iamVjdFtrZXldLCBzb3VyY2Vba2V5XSwga2V5LCBvYmplY3QsIHNvdXJjZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG5ld1ZhbHVlID0gc291cmNlW2tleV07XG4gICAgfVxuICAgIGlmIChpc05ldykge1xuICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvYmplY3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY29weU9iamVjdDtcbiIsInZhciByb290ID0gcmVxdWlyZSgnLi9fcm9vdCcpO1xuXG4vKiogVXNlZCB0byBkZXRlY3Qgb3ZlcnJlYWNoaW5nIGNvcmUtanMgc2hpbXMuICovXG52YXIgY29yZUpzRGF0YSA9IHJvb3RbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNvcmVKc0RhdGE7XG4iLCJ2YXIgYmFzZVJlc3QgPSByZXF1aXJlKCcuL19iYXNlUmVzdCcpLFxuICAgIGlzSXRlcmF0ZWVDYWxsID0gcmVxdWlyZSgnLi9faXNJdGVyYXRlZUNhbGwnKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5hc3NpZ25gLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBhc3NpZ25lciBUaGUgZnVuY3Rpb24gdG8gYXNzaWduIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFzc2lnbmVyIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBjcmVhdGVBc3NpZ25lcihhc3NpZ25lcikge1xuICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IHNvdXJjZXMubGVuZ3RoLFxuICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoID4gMSA/IHNvdXJjZXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQsXG4gICAgICAgIGd1YXJkID0gbGVuZ3RoID4gMiA/IHNvdXJjZXNbMl0gOiB1bmRlZmluZWQ7XG5cbiAgICBjdXN0b21pemVyID0gKGFzc2lnbmVyLmxlbmd0aCA+IDMgJiYgdHlwZW9mIGN1c3RvbWl6ZXIgPT0gJ2Z1bmN0aW9uJylcbiAgICAgID8gKGxlbmd0aC0tLCBjdXN0b21pemVyKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc291cmNlc1swXSwgc291cmNlc1sxXSwgZ3VhcmQpKSB7XG4gICAgICBjdXN0b21pemVyID0gbGVuZ3RoIDwgMyA/IHVuZGVmaW5lZCA6IGN1c3RvbWl6ZXI7XG4gICAgICBsZW5ndGggPSAxO1xuICAgIH1cbiAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgdmFyIHNvdXJjZSA9IHNvdXJjZXNbaW5kZXhdO1xuICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICBhc3NpZ25lcihvYmplY3QsIHNvdXJjZSwgaW5kZXgsIGN1c3RvbWl6ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVBc3NpZ25lcjtcbiIsInZhciBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLmRlZmF1bHRzYCB0byBjdXN0b21pemUgaXRzIGBfLmFzc2lnbkluYCB1c2UgdG8gYXNzaWduIHByb3BlcnRpZXNcbiAqIG9mIHNvdXJjZSBvYmplY3RzIHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QgZm9yIGFsbCBkZXN0aW5hdGlvbiBwcm9wZXJ0aWVzXG4gKiB0aGF0IHJlc29sdmUgdG8gYHVuZGVmaW5lZGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gb2JqVmFsdWUgVGhlIGRlc3RpbmF0aW9uIHZhbHVlLlxuICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgc291cmNlIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBwYXJlbnQgb2JqZWN0IG9mIGBvYmpWYWx1ZWAuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgIChlcShvYmpWYWx1ZSwgb2JqZWN0UHJvdG9ba2V5XSkgJiYgIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpKSkge1xuICAgIHJldHVybiBzcmNWYWx1ZTtcbiAgfVxuICByZXR1cm4gb2JqVmFsdWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3VzdG9tRGVmYXVsdHNBc3NpZ25JbjtcbiIsInZhciBnZXROYXRpdmUgPSByZXF1aXJlKCcuL19nZXROYXRpdmUnKTtcblxudmFyIGRlZmluZVByb3BlcnR5ID0gKGZ1bmN0aW9uKCkge1xuICB0cnkge1xuICAgIHZhciBmdW5jID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2RlZmluZVByb3BlcnR5Jyk7XG4gICAgZnVuYyh7fSwgJycsIHt9KTtcbiAgICByZXR1cm4gZnVuYztcbiAgfSBjYXRjaCAoZSkge31cbn0oKSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZGVmaW5lUHJvcGVydHk7XG4iLCJ2YXIgYmFzZVByb3BlcnR5T2YgPSByZXF1aXJlKCcuL19iYXNlUHJvcGVydHlPZicpO1xuXG4vKiogVXNlZCB0byBtYXAgY2hhcmFjdGVycyB0byBIVE1MIGVudGl0aWVzLiAqL1xudmFyIGh0bWxFc2NhcGVzID0ge1xuICAnJic6ICcmYW1wOycsXG4gICc8JzogJyZsdDsnLFxuICAnPic6ICcmZ3Q7JyxcbiAgJ1wiJzogJyZxdW90OycsXG4gIFwiJ1wiOiAnJiMzOTsnXG59O1xuXG4vKipcbiAqIFVzZWQgYnkgYF8uZXNjYXBlYCB0byBjb252ZXJ0IGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IGNociBUaGUgbWF0Y2hlZCBjaGFyYWN0ZXIgdG8gZXNjYXBlLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gKi9cbnZhciBlc2NhcGVIdG1sQ2hhciA9IGJhc2VQcm9wZXJ0eU9mKGh0bWxFc2NhcGVzKTtcblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGVIdG1sQ2hhcjtcbiIsIi8qKiBVc2VkIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xudmFyIHN0cmluZ0VzY2FwZXMgPSB7XG4gICdcXFxcJzogJ1xcXFwnLFxuICBcIidcIjogXCInXCIsXG4gICdcXG4nOiAnbicsXG4gICdcXHInOiAncicsXG4gICdcXHUyMDI4JzogJ3UyMDI4JyxcbiAgJ1xcdTIwMjknOiAndTIwMjknXG59O1xuXG4vKipcbiAqIFVzZWQgYnkgYF8udGVtcGxhdGVgIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIGNoYXJhY3Rlci5cbiAqL1xuZnVuY3Rpb24gZXNjYXBlU3RyaW5nQ2hhcihjaHIpIHtcbiAgcmV0dXJuICdcXFxcJyArIHN0cmluZ0VzY2FwZXNbY2hyXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGVTdHJpbmdDaGFyO1xuIiwiLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBnbG9iYWxgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlR2xvYmFsID0gdHlwZW9mIGdsb2JhbCA9PSAnb2JqZWN0JyAmJiBnbG9iYWwgJiYgZ2xvYmFsLk9iamVjdCA9PT0gT2JqZWN0ICYmIGdsb2JhbDtcblxubW9kdWxlLmV4cG9ydHMgPSBmcmVlR2xvYmFsO1xuIiwidmFyIGJhc2VJc05hdGl2ZSA9IHJlcXVpcmUoJy4vX2Jhc2VJc05hdGl2ZScpLFxuICAgIGdldFZhbHVlID0gcmVxdWlyZSgnLi9fZ2V0VmFsdWUnKTtcblxuLyoqXG4gKiBHZXRzIHRoZSBuYXRpdmUgZnVuY3Rpb24gYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgbWV0aG9kIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBpZiBpdCdzIG5hdGl2ZSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAqL1xuZnVuY3Rpb24gZ2V0TmF0aXZlKG9iamVjdCwga2V5KSB7XG4gIHZhciB2YWx1ZSA9IGdldFZhbHVlKG9iamVjdCwga2V5KTtcbiAgcmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXROYXRpdmU7XG4iLCJ2YXIgb3ZlckFyZyA9IHJlcXVpcmUoJy4vX292ZXJBcmcnKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgZ2V0UHJvdG90eXBlID0gb3ZlckFyZyhPYmplY3QuZ2V0UHJvdG90eXBlT2YsIE9iamVjdCk7XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UHJvdG90eXBlO1xuIiwidmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX1N5bWJvbCcpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFVzZWQgdG8gcmVzb2x2ZSB0aGVcbiAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICogb2YgdmFsdWVzLlxuICovXG52YXIgbmF0aXZlT2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgc3ltVG9TdHJpbmdUYWcgPSBTeW1ib2wgPyBTeW1ib2wudG9TdHJpbmdUYWcgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlR2V0VGFnYCB3aGljaCBpZ25vcmVzIGBTeW1ib2wudG9TdHJpbmdUYWdgIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSByYXcgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gZ2V0UmF3VGFnKHZhbHVlKSB7XG4gIHZhciBpc093biA9IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHN5bVRvU3RyaW5nVGFnKSxcbiAgICAgIHRhZyA9IHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcblxuICB0cnkge1xuICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHVuZGVmaW5lZDtcbiAgICB2YXIgdW5tYXNrZWQgPSB0cnVlO1xuICB9IGNhdGNoIChlKSB7fVxuXG4gIHZhciByZXN1bHQgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgaWYgKHVubWFza2VkKSB7XG4gICAgaWYgKGlzT3duKSB7XG4gICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB0YWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UmF3VGFnO1xuIiwiLyoqXG4gKiBHZXRzIHRoZSB2YWx1ZSBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gZ2V0VmFsdWUob2JqZWN0LCBrZXkpIHtcbiAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VmFsdWU7XG4iLCIvKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBNQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xudmFyIHJlSXNVaW50ID0gL14oPzowfFsxLTldXFxkKikkLztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgaW5kZXguXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9TUFYX1NBRkVfSU5URUdFUl0gVGhlIHVwcGVyIGJvdW5kcyBvZiBhIHZhbGlkIGluZGV4LlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBpbmRleCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0luZGV4KHZhbHVlLCBsZW5ndGgpIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIGxlbmd0aCA9IGxlbmd0aCA9PSBudWxsID8gTUFYX1NBRkVfSU5URUdFUiA6IGxlbmd0aDtcblxuICByZXR1cm4gISFsZW5ndGggJiZcbiAgICAodHlwZSA9PSAnbnVtYmVyJyB8fFxuICAgICAgKHR5cGUgIT0gJ3N5bWJvbCcgJiYgcmVJc1VpbnQudGVzdCh2YWx1ZSkpKSAmJlxuICAgICAgICAodmFsdWUgPiAtMSAmJiB2YWx1ZSAlIDEgPT0gMCAmJiB2YWx1ZSA8IGxlbmd0aCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJbmRleDtcbiIsInZhciBlcSA9IHJlcXVpcmUoJy4vZXEnKSxcbiAgICBpc0FycmF5TGlrZSA9IHJlcXVpcmUoJy4vaXNBcnJheUxpa2UnKSxcbiAgICBpc0luZGV4ID0gcmVxdWlyZSgnLi9faXNJbmRleCcpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSB2YWx1ZSBhcmd1bWVudC5cbiAqIEBwYXJhbSB7Kn0gaW5kZXggVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBpbmRleCBvciBrZXkgYXJndW1lbnQuXG4gKiBAcGFyYW0geyp9IG9iamVjdCBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIG9iamVjdCBhcmd1bWVudC5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwsXG4gKiAgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0l0ZXJhdGVlQ2FsbCh2YWx1ZSwgaW5kZXgsIG9iamVjdCkge1xuICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHR5cGUgPSB0eXBlb2YgaW5kZXg7XG4gIGlmICh0eXBlID09ICdudW1iZXInXG4gICAgICAgID8gKGlzQXJyYXlMaWtlKG9iamVjdCkgJiYgaXNJbmRleChpbmRleCwgb2JqZWN0Lmxlbmd0aCkpXG4gICAgICAgIDogKHR5cGUgPT0gJ3N0cmluZycgJiYgaW5kZXggaW4gb2JqZWN0KVxuICAgICAgKSB7XG4gICAgcmV0dXJuIGVxKG9iamVjdFtpbmRleF0sIHZhbHVlKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJdGVyYXRlZUNhbGw7XG4iLCJ2YXIgY29yZUpzRGF0YSA9IHJlcXVpcmUoJy4vX2NvcmVKc0RhdGEnKTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG1ldGhvZHMgbWFzcXVlcmFkaW5nIGFzIG5hdGl2ZS4gKi9cbnZhciBtYXNrU3JjS2V5ID0gKGZ1bmN0aW9uKCkge1xuICB2YXIgdWlkID0gL1teLl0rJC8uZXhlYyhjb3JlSnNEYXRhICYmIGNvcmVKc0RhdGEua2V5cyAmJiBjb3JlSnNEYXRhLmtleXMuSUVfUFJPVE8gfHwgJycpO1xuICByZXR1cm4gdWlkID8gKCdTeW1ib2woc3JjKV8xLicgKyB1aWQpIDogJyc7XG59KCkpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgZnVuY2AgaGFzIGl0cyBzb3VyY2UgbWFza2VkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgZnVuY2AgaXMgbWFza2VkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzTWFza2VkKGZ1bmMpIHtcbiAgcmV0dXJuICEhbWFza1NyY0tleSAmJiAobWFza1NyY0tleSBpbiBmdW5jKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc01hc2tlZDtcbiIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGEgcHJvdG90eXBlIG9iamVjdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3RvdHlwZSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc1Byb3RvdHlwZSh2YWx1ZSkge1xuICB2YXIgQ3RvciA9IHZhbHVlICYmIHZhbHVlLmNvbnN0cnVjdG9yLFxuICAgICAgcHJvdG8gPSAodHlwZW9mIEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBDdG9yLnByb3RvdHlwZSkgfHwgb2JqZWN0UHJvdG87XG5cbiAgcmV0dXJuIHZhbHVlID09PSBwcm90bztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc1Byb3RvdHlwZTtcbiIsInZhciBvdmVyQXJnID0gcmVxdWlyZSgnLi9fb3ZlckFyZycpO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlS2V5cyA9IG92ZXJBcmcoT2JqZWN0LmtleXMsIE9iamVjdCk7XG5cbm1vZHVsZS5leHBvcnRzID0gbmF0aXZlS2V5cztcbiIsIi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlXG4gKiBbYE9iamVjdC5rZXlzYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gKiBleGNlcHQgdGhhdCBpdCBpbmNsdWRlcyBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBuYXRpdmVLZXlzSW4ob2JqZWN0KSB7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgaWYgKG9iamVjdCAhPSBudWxsKSB7XG4gICAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG5hdGl2ZUtleXNJbjtcbiIsInZhciBmcmVlR2xvYmFsID0gcmVxdWlyZSgnLi9fZnJlZUdsb2JhbCcpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgcHJvY2Vzc2AgZnJvbSBOb2RlLmpzLiAqL1xudmFyIGZyZWVQcm9jZXNzID0gbW9kdWxlRXhwb3J0cyAmJiBmcmVlR2xvYmFsLnByb2Nlc3M7XG5cbi8qKiBVc2VkIHRvIGFjY2VzcyBmYXN0ZXIgTm9kZS5qcyBoZWxwZXJzLiAqL1xudmFyIG5vZGVVdGlsID0gKGZ1bmN0aW9uKCkge1xuICB0cnkge1xuICAgIC8vIFVzZSBgdXRpbC50eXBlc2AgZm9yIE5vZGUuanMgMTArLlxuICAgIHZhciB0eXBlcyA9IGZyZWVNb2R1bGUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlICYmIGZyZWVNb2R1bGUucmVxdWlyZSgndXRpbCcpLnR5cGVzO1xuXG4gICAgaWYgKHR5cGVzKSB7XG4gICAgICByZXR1cm4gdHlwZXM7XG4gICAgfVxuXG4gICAgLy8gTGVnYWN5IGBwcm9jZXNzLmJpbmRpbmcoJ3V0aWwnKWAgZm9yIE5vZGUuanMgPCAxMC5cbiAgICByZXR1cm4gZnJlZVByb2Nlc3MgJiYgZnJlZVByb2Nlc3MuYmluZGluZyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nKCd1dGlsJyk7XG4gIH0gY2F0Y2ggKGUpIHt9XG59KCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG5vZGVVdGlsO1xuIiwiLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZyB1c2luZyBgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBvYmplY3RUb1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gb2JqZWN0VG9TdHJpbmc7XG4iLCIvKipcbiAqIENyZWF0ZXMgYSB1bmFyeSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggaXRzIGFyZ3VtZW50IHRyYW5zZm9ybWVkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSBhcmd1bWVudCB0cmFuc2Zvcm0uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gb3ZlckFyZyhmdW5jLCB0cmFuc2Zvcm0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiBmdW5jKHRyYW5zZm9ybShhcmcpKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvdmVyQXJnO1xuIiwidmFyIGFwcGx5ID0gcmVxdWlyZSgnLi9fYXBwbHknKTtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZU1heCA9IE1hdGgubWF4O1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZVJlc3RgIHdoaWNoIHRyYW5zZm9ybXMgdGhlIHJlc3QgYXJyYXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSB0cmFuc2Zvcm0gVGhlIHJlc3QgYXJyYXkgdHJhbnNmb3JtLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCB0cmFuc2Zvcm0pIHtcbiAgc3RhcnQgPSBuYXRpdmVNYXgoc3RhcnQgPT09IHVuZGVmaW5lZCA/IChmdW5jLmxlbmd0aCAtIDEpIDogc3RhcnQsIDApO1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1heChhcmdzLmxlbmd0aCAtIHN0YXJ0LCAwKSxcbiAgICAgICAgYXJyYXkgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGFycmF5W2luZGV4XSA9IGFyZ3Nbc3RhcnQgKyBpbmRleF07XG4gICAgfVxuICAgIGluZGV4ID0gLTE7XG4gICAgdmFyIG90aGVyQXJncyA9IEFycmF5KHN0YXJ0ICsgMSk7XG4gICAgd2hpbGUgKCsraW5kZXggPCBzdGFydCkge1xuICAgICAgb3RoZXJBcmdzW2luZGV4XSA9IGFyZ3NbaW5kZXhdO1xuICAgIH1cbiAgICBvdGhlckFyZ3Nbc3RhcnRdID0gdHJhbnNmb3JtKGFycmF5KTtcbiAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvdmVyUmVzdDtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVFc2NhcGUgPSAvPCUtKFtcXHNcXFNdKz8pJT4vZztcblxubW9kdWxlLmV4cG9ydHMgPSByZUVzY2FwZTtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVFdmFsdWF0ZSA9IC88JShbXFxzXFxTXSs/KSU+L2c7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVFdmFsdWF0ZTtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVJbnRlcnBvbGF0ZSA9IC88JT0oW1xcc1xcU10rPyklPi9nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlSW50ZXJwb2xhdGU7XG4iLCJ2YXIgZnJlZUdsb2JhbCA9IHJlcXVpcmUoJy4vX2ZyZWVHbG9iYWwnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbnZhciBmcmVlU2VsZiA9IHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuXG4vKiogVXNlZCBhcyBhIHJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4gKi9cbnZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJvb3Q7XG4iLCJ2YXIgYmFzZVNldFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fYmFzZVNldFRvU3RyaW5nJyksXG4gICAgc2hvcnRPdXQgPSByZXF1aXJlKCcuL19zaG9ydE91dCcpO1xuXG4vKipcbiAqIFNldHMgdGhlIGB0b1N0cmluZ2AgbWV0aG9kIG9mIGBmdW5jYCB0byByZXR1cm4gYHN0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICovXG52YXIgc2V0VG9TdHJpbmcgPSBzaG9ydE91dChiYXNlU2V0VG9TdHJpbmcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHNldFRvU3RyaW5nO1xuIiwiLyoqIFVzZWQgdG8gZGV0ZWN0IGhvdCBmdW5jdGlvbnMgYnkgbnVtYmVyIG9mIGNhbGxzIHdpdGhpbiBhIHNwYW4gb2YgbWlsbGlzZWNvbmRzLiAqL1xudmFyIEhPVF9DT1VOVCA9IDgwMCxcbiAgICBIT1RfU1BBTiA9IDE2O1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlTm93ID0gRGF0ZS5ub3c7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQnbGwgc2hvcnQgb3V0IGFuZCBpbnZva2UgYGlkZW50aXR5YCBpbnN0ZWFkXG4gKiBvZiBgZnVuY2Agd2hlbiBpdCdzIGNhbGxlZCBgSE9UX0NPVU5UYCBvciBtb3JlIHRpbWVzIGluIGBIT1RfU1BBTmBcbiAqIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzaG9ydGFibGUgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHNob3J0T3V0KGZ1bmMpIHtcbiAgdmFyIGNvdW50ID0gMCxcbiAgICAgIGxhc3RDYWxsZWQgPSAwO1xuXG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICB2YXIgc3RhbXAgPSBuYXRpdmVOb3coKSxcbiAgICAgICAgcmVtYWluaW5nID0gSE9UX1NQQU4gLSAoc3RhbXAgLSBsYXN0Q2FsbGVkKTtcblxuICAgIGxhc3RDYWxsZWQgPSBzdGFtcDtcbiAgICBpZiAocmVtYWluaW5nID4gMCkge1xuICAgICAgaWYgKCsrY291bnQgPj0gSE9UX0NPVU5UKSB7XG4gICAgICAgIHJldHVybiBhcmd1bWVudHNbMF07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvdW50ID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmMuYXBwbHkodW5kZWZpbmVkLCBhcmd1bWVudHMpO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNob3J0T3V0O1xuIiwiLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xudmFyIGZ1bmNUb1N0cmluZyA9IGZ1bmNQcm90by50b1N0cmluZztcblxuLyoqXG4gKiBDb252ZXJ0cyBgZnVuY2AgdG8gaXRzIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc291cmNlIGNvZGUuXG4gKi9cbmZ1bmN0aW9uIHRvU291cmNlKGZ1bmMpIHtcbiAgaWYgKGZ1bmMgIT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZnVuY1RvU3RyaW5nLmNhbGwoZnVuYyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIChmdW5jICsgJycpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvU291cmNlO1xuIiwidmFyIGNvcHlPYmplY3QgPSByZXF1aXJlKCcuL19jb3B5T2JqZWN0JyksXG4gICAgY3JlYXRlQXNzaWduZXIgPSByZXF1aXJlKCcuL19jcmVhdGVBc3NpZ25lcicpLFxuICAgIGtleXNJbiA9IHJlcXVpcmUoJy4va2V5c0luJyk7XG5cbi8qKlxuICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25JbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmBcbiAqIHdoaWNoIGlzIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgYXNzaWduZWQgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJuc1xuICogYHVuZGVmaW5lZGAsIGFzc2lnbm1lbnQgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmBcbiAqIGlzIGludm9rZWQgd2l0aCBmaXZlIGFyZ3VtZW50czogKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSkuXG4gKlxuICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGFsaWFzIGV4dGVuZFdpdGhcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAqIEBwYXJhbSB7Li4uT2JqZWN0fSBzb3VyY2VzIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gKiBAc2VlIF8uYXNzaWduV2l0aFxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSkge1xuICogICByZXR1cm4gXy5pc1VuZGVmaW5lZChvYmpWYWx1ZSkgPyBzcmNWYWx1ZSA6IG9ialZhbHVlO1xuICogfVxuICpcbiAqIHZhciBkZWZhdWx0cyA9IF8ucGFydGlhbFJpZ2h0KF8uYXNzaWduSW5XaXRoLCBjdXN0b21pemVyKTtcbiAqXG4gKiBkZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIgfVxuICovXG52YXIgYXNzaWduSW5XaXRoID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyKSB7XG4gIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzSW4oc291cmNlKSwgb2JqZWN0LCBjdXN0b21pemVyKTtcbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGFzc2lnbkluV2l0aDtcbiIsInZhciBhcHBseSA9IHJlcXVpcmUoJy4vX2FwcGx5JyksXG4gICAgYmFzZVJlc3QgPSByZXF1aXJlKCcuL19iYXNlUmVzdCcpLFxuICAgIGlzRXJyb3IgPSByZXF1aXJlKCcuL2lzRXJyb3InKTtcblxuLyoqXG4gKiBBdHRlbXB0cyB0byBpbnZva2UgYGZ1bmNgLCByZXR1cm5pbmcgZWl0aGVyIHRoZSByZXN1bHQgb3IgdGhlIGNhdWdodCBlcnJvclxuICogb2JqZWN0LiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXR0ZW1wdC5cbiAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGBmdW5jYCByZXN1bHQgb3IgZXJyb3Igb2JqZWN0LlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBBdm9pZCB0aHJvd2luZyBlcnJvcnMgZm9yIGludmFsaWQgc2VsZWN0b3JzLlxuICogdmFyIGVsZW1lbnRzID0gXy5hdHRlbXB0KGZ1bmN0aW9uKHNlbGVjdG9yKSB7XG4gKiAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAqIH0sICc+Xz4nKTtcbiAqXG4gKiBpZiAoXy5pc0Vycm9yKGVsZW1lbnRzKSkge1xuICogICBlbGVtZW50cyA9IFtdO1xuICogfVxuICovXG52YXIgYXR0ZW1wdCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIGFyZ3MpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXBwbHkoZnVuYywgdW5kZWZpbmVkLCBhcmdzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBpc0Vycm9yKGUpID8gZSA6IG5ldyBFcnJvcihlKTtcbiAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gYXR0ZW1wdDtcbiIsIi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBgdmFsdWVgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMi40LjBcbiAqIEBjYXRlZ29yeSBVdGlsXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byByZXR1cm4gZnJvbSB0aGUgbmV3IGZ1bmN0aW9uLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29uc3RhbnQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3RzID0gXy50aW1lcygyLCBfLmNvbnN0YW50KHsgJ2EnOiAxIH0pKTtcbiAqXG4gKiBjb25zb2xlLmxvZyhvYmplY3RzKTtcbiAqIC8vID0+IFt7ICdhJzogMSB9LCB7ICdhJzogMSB9XVxuICpcbiAqIGNvbnNvbGUubG9nKG9iamVjdHNbMF0gPT09IG9iamVjdHNbMV0pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBjb25zdGFudCh2YWx1ZSkge1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnN0YW50O1xuIiwiLyoqXG4gKiBQZXJmb3JtcyBhXG4gKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGVxdWl2YWxlbnQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICpcbiAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoJ2EnLCAnYScpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoTmFOLCBOYU4pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgcmV0dXJuIHZhbHVlID09PSBvdGhlciB8fCAodmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXE7XG4iLCJ2YXIgZXNjYXBlSHRtbENoYXIgPSByZXF1aXJlKCcuL19lc2NhcGVIdG1sQ2hhcicpLFxuICAgIHRvU3RyaW5nID0gcmVxdWlyZSgnLi90b1N0cmluZycpO1xuXG4vKiogVXNlZCB0byBtYXRjaCBIVE1MIGVudGl0aWVzIGFuZCBIVE1MIGNoYXJhY3RlcnMuICovXG52YXIgcmVVbmVzY2FwZWRIdG1sID0gL1smPD5cIiddL2csXG4gICAgcmVIYXNVbmVzY2FwZWRIdG1sID0gUmVnRXhwKHJlVW5lc2NhcGVkSHRtbC5zb3VyY2UpO1xuXG4vKipcbiAqIENvbnZlcnRzIHRoZSBjaGFyYWN0ZXJzIFwiJlwiLCBcIjxcIiwgXCI+XCIsICdcIicsIGFuZCBcIidcIiBpbiBgc3RyaW5nYCB0byB0aGVpclxuICogY29ycmVzcG9uZGluZyBIVE1MIGVudGl0aWVzLlxuICpcbiAqICoqTm90ZToqKiBObyBvdGhlciBjaGFyYWN0ZXJzIGFyZSBlc2NhcGVkLiBUbyBlc2NhcGUgYWRkaXRpb25hbFxuICogY2hhcmFjdGVycyB1c2UgYSB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGxpa2UgW19oZV9dKGh0dHBzOi8vbXRocy5iZS9oZSkuXG4gKlxuICogVGhvdWdoIHRoZSBcIj5cIiBjaGFyYWN0ZXIgaXMgZXNjYXBlZCBmb3Igc3ltbWV0cnksIGNoYXJhY3RlcnMgbGlrZVxuICogXCI+XCIgYW5kIFwiL1wiIGRvbid0IG5lZWQgZXNjYXBpbmcgaW4gSFRNTCBhbmQgaGF2ZSBubyBzcGVjaWFsIG1lYW5pbmdcbiAqIHVubGVzcyB0aGV5J3JlIHBhcnQgb2YgYSB0YWcgb3IgdW5xdW90ZWQgYXR0cmlidXRlIHZhbHVlLiBTZWVcbiAqIFtNYXRoaWFzIEJ5bmVucydzIGFydGljbGVdKGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9hbWJpZ3VvdXMtYW1wZXJzYW5kcylcbiAqICh1bmRlciBcInNlbWktcmVsYXRlZCBmdW4gZmFjdFwiKSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFdoZW4gd29ya2luZyB3aXRoIEhUTUwgeW91IHNob3VsZCBhbHdheXNcbiAqIFtxdW90ZSBhdHRyaWJ1dGUgdmFsdWVzXShodHRwOi8vd29ua28uY29tL3Bvc3QvaHRtbC1lc2NhcGluZykgdG8gcmVkdWNlXG4gKiBYU1MgdmVjdG9ycy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBtZW1iZXJPZiBfXG4gKiBAY2F0ZWdvcnkgU3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIHN0cmluZy5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5lc2NhcGUoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gKiAvLyA9PiAnZnJlZCwgYmFybmV5LCAmYW1wOyBwZWJibGVzJ1xuICovXG5mdW5jdGlvbiBlc2NhcGUoc3RyaW5nKSB7XG4gIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gIHJldHVybiAoc3RyaW5nICYmIHJlSGFzVW5lc2NhcGVkSHRtbC50ZXN0KHN0cmluZykpXG4gICAgPyBzdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsIGVzY2FwZUh0bWxDaGFyKVxuICAgIDogc3RyaW5nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVzY2FwZTtcbiIsIi8qKlxuICogVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQgaXQgcmVjZWl2ZXMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFV0aWxcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgQW55IHZhbHVlLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgYHZhbHVlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKlxuICogY29uc29sZS5sb2coXy5pZGVudGl0eShvYmplY3QpID09PSBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBpZGVudGl0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaWRlbnRpdHk7XG4iLCJ2YXIgYmFzZUlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9fYmFzZUlzQXJndW1lbnRzJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgcHJvcGVydHlJc0VudW1lcmFibGUgPSBvYmplY3RQcm90by5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqICBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcmd1bWVudHMoZnVuY3Rpb24oKSB7IHJldHVybiBhcmd1bWVudHM7IH0oKSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FyZ3VtZW50cyhbMSwgMiwgM10pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzQXJndW1lbnRzID0gYmFzZUlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpID8gYmFzZUlzQXJndW1lbnRzIDogZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgJ2NhbGxlZScpICYmXG4gICAgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsICdjYWxsZWUnKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcmd1bWVudHM7XG4iLCIvKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5YCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxubW9kdWxlLmV4cG9ydHMgPSBpc0FycmF5O1xuIiwidmFyIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc0xlbmd0aCA9IHJlcXVpcmUoJy4vaXNMZW5ndGgnKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gKiBub3QgYSBmdW5jdGlvbiBhbmQgaGFzIGEgYHZhbHVlLmxlbmd0aGAgdGhhdCdzIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yXG4gKiBlcXVhbCB0byBgMGAgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhaXNGdW5jdGlvbih2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcnJheUxpa2U7XG4iLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKSxcbiAgICBzdHViRmFsc2UgPSByZXF1aXJlKCcuL3N0dWJGYWxzZScpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIEJ1ZmZlciA9IG1vZHVsZUV4cG9ydHMgPyByb290LkJ1ZmZlciA6IHVuZGVmaW5lZDtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZUlzQnVmZmVyID0gQnVmZmVyID8gQnVmZmVyLmlzQnVmZmVyIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4zLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNCdWZmZXIobmV3IEJ1ZmZlcigyKSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0J1ZmZlcihuZXcgVWludDhBcnJheSgyKSk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNCdWZmZXIgPSBuYXRpdmVJc0J1ZmZlciB8fCBzdHViRmFsc2U7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNCdWZmZXI7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpLFxuICAgIGlzUGxhaW5PYmplY3QgPSByZXF1aXJlKCcuL2lzUGxhaW5PYmplY3QnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIGRvbUV4Y1RhZyA9ICdbb2JqZWN0IERPTUV4Y2VwdGlvbl0nLFxuICAgIGVycm9yVGFnID0gJ1tvYmplY3QgRXJyb3JdJztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBgRXJyb3JgLCBgRXZhbEVycm9yYCwgYFJhbmdlRXJyb3JgLCBgUmVmZXJlbmNlRXJyb3JgLFxuICogYFN5bnRheEVycm9yYCwgYFR5cGVFcnJvcmAsIG9yIGBVUklFcnJvcmAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGVycm9yIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRXJyb3IobmV3IEVycm9yKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzRXJyb3IoRXJyb3IpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNFcnJvcih2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICByZXR1cm4gdGFnID09IGVycm9yVGFnIHx8IHRhZyA9PSBkb21FeGNUYWcgfHxcbiAgICAodHlwZW9mIHZhbHVlLm1lc3NhZ2UgPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlLm5hbWUgPT0gJ3N0cmluZycgJiYgIWlzUGxhaW5PYmplY3QodmFsdWUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0Vycm9yO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0Jyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhc3luY1RhZyA9ICdbb2JqZWN0IEFzeW5jRnVuY3Rpb25dJyxcbiAgICBmdW5jVGFnID0gJ1tvYmplY3QgRnVuY3Rpb25dJyxcbiAgICBnZW5UYWcgPSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nLFxuICAgIHByb3h5VGFnID0gJ1tvYmplY3QgUHJveHldJztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBmdW5jdGlvbiwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRnVuY3Rpb24oXyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0Z1bmN0aW9uKC9hYmMvKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gVGhlIHVzZSBvZiBgT2JqZWN0I3RvU3RyaW5nYCBhdm9pZHMgaXNzdWVzIHdpdGggdGhlIGB0eXBlb2ZgIG9wZXJhdG9yXG4gIC8vIGluIFNhZmFyaSA5IHdoaWNoIHJldHVybnMgJ29iamVjdCcgZm9yIHR5cGVkIGFycmF5cyBhbmQgb3RoZXIgY29uc3RydWN0b3JzLlxuICB2YXIgdGFnID0gYmFzZUdldFRhZyh2YWx1ZSk7XG4gIHJldHVybiB0YWcgPT0gZnVuY1RhZyB8fCB0YWcgPT0gZ2VuVGFnIHx8IHRhZyA9PSBhc3luY1RhZyB8fCB0YWcgPT0gcHJveHlUYWc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNGdW5jdGlvbjtcbiIsIi8qKiBVc2VkIGFzIHJlZmVyZW5jZXMgZm9yIHZhcmlvdXMgYE51bWJlcmAgY29uc3RhbnRzLiAqL1xudmFyIE1BWF9TQUZFX0lOVEVHRVIgPSA5MDA3MTk5MjU0NzQwOTkxO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBsZW5ndGguXG4gKlxuICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGxvb3NlbHkgYmFzZWQgb25cbiAqIFtgVG9MZW5ndGhgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10b2xlbmd0aCkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBsZW5ndGgsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0xlbmd0aCgzKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzTGVuZ3RoKE51bWJlci5NSU5fVkFMVUUpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzTGVuZ3RoKEluZmluaXR5KTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0xlbmd0aCgnMycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNMZW5ndGgodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJlxuICAgIHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0xlbmd0aDtcbiIsIi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgdGhlXG4gKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gKiBvZiBgT2JqZWN0YC4gKGUuZy4gYXJyYXlzLCBmdW5jdGlvbnMsIG9iamVjdHMsIHJlZ2V4ZXMsIGBuZXcgTnVtYmVyKDApYCwgYW5kIGBuZXcgU3RyaW5nKCcnKWApXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3Qoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KF8ubm9vcCk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiAodHlwZSA9PSAnb2JqZWN0JyB8fCB0eXBlID09ICdmdW5jdGlvbicpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzT2JqZWN0O1xuIiwiLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAqIGFuZCBoYXMgYSBgdHlwZW9mYCByZXN1bHQgb2YgXCJvYmplY3RcIi5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZSh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNPYmplY3RMaWtlO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgZ2V0UHJvdG90eXBlID0gcmVxdWlyZSgnLi9fZ2V0UHJvdG90eXBlJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgZnVuY1Byb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlLFxuICAgIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xudmFyIGZ1bmNUb1N0cmluZyA9IGZ1bmNQcm90by50b1N0cmluZztcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqIFVzZWQgdG8gaW5mZXIgdGhlIGBPYmplY3RgIGNvbnN0cnVjdG9yLiAqL1xudmFyIG9iamVjdEN0b3JTdHJpbmcgPSBmdW5jVG9TdHJpbmcuY2FsbChPYmplY3QpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGF0IGlzLCBhbiBvYmplY3QgY3JlYXRlZCBieSB0aGVcbiAqIGBPYmplY3RgIGNvbnN0cnVjdG9yIG9yIG9uZSB3aXRoIGEgYFtbUHJvdG90eXBlXV1gIG9mIGBudWxsYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuOC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHBsYWluIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiB9XG4gKlxuICogXy5pc1BsYWluT2JqZWN0KG5ldyBGb28pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzUGxhaW5PYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KHsgJ3gnOiAwLCAneSc6IDAgfSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3RMaWtlKHZhbHVlKSB8fCBiYXNlR2V0VGFnKHZhbHVlKSAhPSBvYmplY3RUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHByb3RvID0gZ2V0UHJvdG90eXBlKHZhbHVlKTtcbiAgaWYgKHByb3RvID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIEN0b3IgPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3RvLCAnY29uc3RydWN0b3InKSAmJiBwcm90by5jb25zdHJ1Y3RvcjtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiZcbiAgICBmdW5jVG9TdHJpbmcuY2FsbChDdG9yKSA9PSBvYmplY3RDdG9yU3RyaW5nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzUGxhaW5PYmplY3Q7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgc3ltYm9sVGFnID0gJ1tvYmplY3QgU3ltYm9sXSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzeW1ib2wsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1N5bWJvbChTeW1ib2wuaXRlcmF0b3IpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNTeW1ib2woJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHN5bWJvbFRhZyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNTeW1ib2w7XG4iLCJ2YXIgYmFzZUlzVHlwZWRBcnJheSA9IHJlcXVpcmUoJy4vX2Jhc2VJc1R5cGVkQXJyYXknKSxcbiAgICBiYXNlVW5hcnkgPSByZXF1aXJlKCcuL19iYXNlVW5hcnknKSxcbiAgICBub2RlVXRpbCA9IHJlcXVpcmUoJy4vX25vZGVVdGlsJyk7XG5cbi8qIE5vZGUuanMgaGVscGVyIHJlZmVyZW5jZXMuICovXG52YXIgbm9kZUlzVHlwZWRBcnJheSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzVHlwZWRBcnJheTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgdHlwZWQgYXJyYXkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzVHlwZWRBcnJheShuZXcgVWludDhBcnJheSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1R5cGVkQXJyYXkoW10pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzVHlwZWRBcnJheSA9IG5vZGVJc1R5cGVkQXJyYXkgPyBiYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSkgOiBiYXNlSXNUeXBlZEFycmF5O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzVHlwZWRBcnJheTtcbiIsInZhciBhcnJheUxpa2VLZXlzID0gcmVxdWlyZSgnLi9fYXJyYXlMaWtlS2V5cycpLFxuICAgIGJhc2VLZXlzID0gcmVxdWlyZSgnLi9fYmFzZUtleXMnKSxcbiAgICBpc0FycmF5TGlrZSA9IHJlcXVpcmUoJy4vaXNBcnJheUxpa2UnKTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IG9mIHRoZSBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAqXG4gKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy4gU2VlIHRoZVxuICogW0VTIHNwZWNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5rZXlzKVxuICogZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBtZW1iZXJPZiBfXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiAgIHRoaXMuYiA9IDI7XG4gKiB9XG4gKlxuICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAqXG4gKiBfLmtleXMobmV3IEZvbyk7XG4gKiAvLyA9PiBbJ2EnLCAnYiddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gKlxuICogXy5rZXlzKCdoaScpO1xuICogLy8gPT4gWycwJywgJzEnXVxuICovXG5mdW5jdGlvbiBrZXlzKG9iamVjdCkge1xuICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0KSA6IGJhc2VLZXlzKG9iamVjdCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5cztcbiIsInZhciBhcnJheUxpa2VLZXlzID0gcmVxdWlyZSgnLi9fYXJyYXlMaWtlS2V5cycpLFxuICAgIGJhc2VLZXlzSW4gPSByZXF1aXJlKCcuL19iYXNlS2V5c0luJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAqXG4gKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiAgIHRoaXMuYiA9IDI7XG4gKiB9XG4gKlxuICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAqXG4gKiBfLmtleXNJbihuZXcgRm9vKTtcbiAqIC8vID0+IFsnYScsICdiJywgJ2MnXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICovXG5mdW5jdGlvbiBrZXlzSW4ob2JqZWN0KSB7XG4gIHJldHVybiBpc0FycmF5TGlrZShvYmplY3QpID8gYXJyYXlMaWtlS2V5cyhvYmplY3QsIHRydWUpIDogYmFzZUtleXNJbihvYmplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleXNJbjtcbiIsIi8qKlxuICogVGhpcyBtZXRob2QgcmV0dXJucyBgZmFsc2VgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4xMy4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy50aW1lcygyLCBfLnN0dWJGYWxzZSk7XG4gKiAvLyA9PiBbZmFsc2UsIGZhbHNlXVxuICovXG5mdW5jdGlvbiBzdHViRmFsc2UoKSB7XG4gIHJldHVybiBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzdHViRmFsc2U7XG4iLCJ2YXIgYXNzaWduSW5XaXRoID0gcmVxdWlyZSgnLi9hc3NpZ25JbldpdGgnKSxcbiAgICBhdHRlbXB0ID0gcmVxdWlyZSgnLi9hdHRlbXB0JyksXG4gICAgYmFzZVZhbHVlcyA9IHJlcXVpcmUoJy4vX2Jhc2VWYWx1ZXMnKSxcbiAgICBjdXN0b21EZWZhdWx0c0Fzc2lnbkluID0gcmVxdWlyZSgnLi9fY3VzdG9tRGVmYXVsdHNBc3NpZ25JbicpLFxuICAgIGVzY2FwZVN0cmluZ0NoYXIgPSByZXF1aXJlKCcuL19lc2NhcGVTdHJpbmdDaGFyJyksXG4gICAgaXNFcnJvciA9IHJlcXVpcmUoJy4vaXNFcnJvcicpLFxuICAgIGlzSXRlcmF0ZWVDYWxsID0gcmVxdWlyZSgnLi9faXNJdGVyYXRlZUNhbGwnKSxcbiAgICBrZXlzID0gcmVxdWlyZSgnLi9rZXlzJyksXG4gICAgcmVJbnRlcnBvbGF0ZSA9IHJlcXVpcmUoJy4vX3JlSW50ZXJwb2xhdGUnKSxcbiAgICB0ZW1wbGF0ZVNldHRpbmdzID0gcmVxdWlyZSgnLi90ZW1wbGF0ZVNldHRpbmdzJyksXG4gICAgdG9TdHJpbmcgPSByZXF1aXJlKCcuL3RvU3RyaW5nJyk7XG5cbi8qKiBVc2VkIHRvIG1hdGNoIGVtcHR5IHN0cmluZyBsaXRlcmFscyBpbiBjb21waWxlZCB0ZW1wbGF0ZSBzb3VyY2UuICovXG52YXIgcmVFbXB0eVN0cmluZ0xlYWRpbmcgPSAvXFxiX19wIFxcKz0gJyc7L2csXG4gICAgcmVFbXB0eVN0cmluZ01pZGRsZSA9IC9cXGIoX19wIFxcKz0pICcnIFxcKy9nLFxuICAgIHJlRW1wdHlTdHJpbmdUcmFpbGluZyA9IC8oX19lXFwoLio/XFwpfFxcYl9fdFxcKSkgXFwrXFxuJyc7L2c7XG5cbi8qKlxuICogVXNlZCB0byBtYXRjaFxuICogW0VTIHRlbXBsYXRlIGRlbGltaXRlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRlbXBsYXRlLWxpdGVyYWwtbGV4aWNhbC1jb21wb25lbnRzKS5cbiAqL1xudmFyIHJlRXNUZW1wbGF0ZSA9IC9cXCRcXHsoW15cXFxcfV0qKD86XFxcXC5bXlxcXFx9XSopKilcXH0vZztcblxuLyoqIFVzZWQgdG8gZW5zdXJlIGNhcHR1cmluZyBvcmRlciBvZiB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlTm9NYXRjaCA9IC8oJF4pLztcblxuLyoqIFVzZWQgdG8gbWF0Y2ggdW5lc2NhcGVkIGNoYXJhY3RlcnMgaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xudmFyIHJlVW5lc2NhcGVkU3RyaW5nID0gL1snXFxuXFxyXFx1MjAyOFxcdTIwMjlcXFxcXS9nO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbiB0aGF0IGNhbiBpbnRlcnBvbGF0ZSBkYXRhIHByb3BlcnRpZXNcbiAqIGluIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXJzLCBIVE1MLWVzY2FwZSBpbnRlcnBvbGF0ZWQgZGF0YSBwcm9wZXJ0aWVzIGluXG4gKiBcImVzY2FwZVwiIGRlbGltaXRlcnMsIGFuZCBleGVjdXRlIEphdmFTY3JpcHQgaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuIERhdGFcbiAqIHByb3BlcnRpZXMgbWF5IGJlIGFjY2Vzc2VkIGFzIGZyZWUgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS4gSWYgYSBzZXR0aW5nXG4gKiBvYmplY3QgaXMgZ2l2ZW4sIGl0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgXy50ZW1wbGF0ZVNldHRpbmdzYCB2YWx1ZXMuXG4gKlxuICogKipOb3RlOioqIEluIHRoZSBkZXZlbG9wbWVudCBidWlsZCBgXy50ZW1wbGF0ZWAgdXRpbGl6ZXNcbiAqIFtzb3VyY2VVUkxzXShodHRwOi8vd3d3Lmh0bWw1cm9ja3MuY29tL2VuL3R1dG9yaWFscy9kZXZlbG9wZXJ0b29scy9zb3VyY2VtYXBzLyN0b2Mtc291cmNldXJsKVxuICogZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gcHJlY29tcGlsaW5nIHRlbXBsYXRlcyBzZWVcbiAqIFtsb2Rhc2gncyBjdXN0b20gYnVpbGRzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vbG9kYXNoLmNvbS9jdXN0b20tYnVpbGRzKS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBDaHJvbWUgZXh0ZW5zaW9uIHNhbmRib3hlcyBzZWVcbiAqIFtDaHJvbWUncyBleHRlbnNpb25zIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZXh0ZW5zaW9ucy9zYW5kYm94aW5nRXZhbCkuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSB0ZW1wbGF0ZSBzdHJpbmcuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5lc2NhcGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmVzY2FwZV1cbiAqICBUaGUgSFRNTCBcImVzY2FwZVwiIGRlbGltaXRlci5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5ldmFsdWF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuZXZhbHVhdGVdXG4gKiAgVGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnMuaW1wb3J0cz1fLnRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0c11cbiAqICBBbiBvYmplY3QgdG8gaW1wb3J0IGludG8gdGhlIHRlbXBsYXRlIGFzIGZyZWUgdmFyaWFibGVzLlxuICogQHBhcmFtIHtSZWdFeHB9IFtvcHRpb25zLmludGVycG9sYXRlPV8udGVtcGxhdGVTZXR0aW5ncy5pbnRlcnBvbGF0ZV1cbiAqICBUaGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zb3VyY2VVUkw9J3RlbXBsYXRlU291cmNlc1tuXSddXG4gKiAgVGhlIHNvdXJjZVVSTCBvZiB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudmFyaWFibGU9J29iaiddXG4gKiAgVGhlIGRhdGEgb2JqZWN0IHZhcmlhYmxlIG5hbWUuXG4gKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gVXNlIHRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8gPCU9IHVzZXIgJT4hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ2ZyZWQnIH0pO1xuICogLy8gPT4gJ2hlbGxvIGZyZWQhJ1xuICpcbiAqIC8vIFVzZSB0aGUgSFRNTCBcImVzY2FwZVwiIGRlbGltaXRlciB0byBlc2NhcGUgZGF0YSBwcm9wZXJ0eSB2YWx1ZXMuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8Yj48JS0gdmFsdWUgJT48L2I+Jyk7XG4gKiBjb21waWxlZCh7ICd2YWx1ZSc6ICc8c2NyaXB0PicgfSk7XG4gKiAvLyA9PiAnPGI+Jmx0O3NjcmlwdCZndDs8L2I+J1xuICpcbiAqIC8vIFVzZSB0aGUgXCJldmFsdWF0ZVwiIGRlbGltaXRlciB0byBleGVjdXRlIEphdmFTY3JpcHQgYW5kIGdlbmVyYXRlIEhUTUwuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JSBfLmZvckVhY2godXNlcnMsIGZ1bmN0aW9uKHVzZXIpIHsgJT48bGk+PCUtIHVzZXIgJT48L2xpPjwlIH0pOyAlPicpO1xuICogY29tcGlsZWQoeyAndXNlcnMnOiBbJ2ZyZWQnLCAnYmFybmV5J10gfSk7XG4gKiAvLyA9PiAnPGxpPmZyZWQ8L2xpPjxsaT5iYXJuZXk8L2xpPidcbiAqXG4gKiAvLyBVc2UgdGhlIGludGVybmFsIGBwcmludGAgZnVuY3Rpb24gaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JSBwcmludChcImhlbGxvIFwiICsgdXNlcik7ICU+IScpO1xuICogY29tcGlsZWQoeyAndXNlcic6ICdiYXJuZXknIH0pO1xuICogLy8gPT4gJ2hlbGxvIGJhcm5leSEnXG4gKlxuICogLy8gVXNlIHRoZSBFUyB0ZW1wbGF0ZSBsaXRlcmFsIGRlbGltaXRlciBhcyBhbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyLlxuICogLy8gRGlzYWJsZSBzdXBwb3J0IGJ5IHJlcGxhY2luZyB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvICR7IHVzZXIgfSEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAncGViYmxlcycgfSk7XG4gKiAvLyA9PiAnaGVsbG8gcGViYmxlcyEnXG4gKlxuICogLy8gVXNlIGJhY2tzbGFzaGVzIHRvIHRyZWF0IGRlbGltaXRlcnMgYXMgcGxhaW4gdGV4dC5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlPSBcIlxcXFw8JS0gdmFsdWUgJVxcXFw+XCIgJT4nKTtcbiAqIGNvbXBpbGVkKHsgJ3ZhbHVlJzogJ2lnbm9yZWQnIH0pO1xuICogLy8gPT4gJzwlLSB2YWx1ZSAlPidcbiAqXG4gKiAvLyBVc2UgdGhlIGBpbXBvcnRzYCBvcHRpb24gdG8gaW1wb3J0IGBqUXVlcnlgIGFzIGBqcWAuXG4gKiB2YXIgdGV4dCA9ICc8JSBqcS5lYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nO1xuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSh0ZXh0LCB7ICdpbXBvcnRzJzogeyAnanEnOiBqUXVlcnkgfSB9KTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gKlxuICogLy8gVXNlIHRoZSBgc291cmNlVVJMYCBvcHRpb24gdG8gc3BlY2lmeSBhIGN1c3RvbSBzb3VyY2VVUkwgZm9yIHRoZSB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScsIHsgJ3NvdXJjZVVSTCc6ICcvYmFzaWMvZ3JlZXRpbmcuanN0JyB9KTtcbiAqIGNvbXBpbGVkKGRhdGEpO1xuICogLy8gPT4gRmluZCB0aGUgc291cmNlIG9mIFwiZ3JlZXRpbmcuanN0XCIgdW5kZXIgdGhlIFNvdXJjZXMgdGFiIG9yIFJlc291cmNlcyBwYW5lbCBvZiB0aGUgd2ViIGluc3BlY3Rvci5cbiAqXG4gKiAvLyBVc2UgdGhlIGB2YXJpYWJsZWAgb3B0aW9uIHRvIGVuc3VyZSBhIHdpdGgtc3RhdGVtZW50IGlzbid0IHVzZWQgaW4gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGkgPCU9IGRhdGEudXNlciAlPiEnLCB7ICd2YXJpYWJsZSc6ICdkYXRhJyB9KTtcbiAqIGNvbXBpbGVkLnNvdXJjZTtcbiAqIC8vID0+IGZ1bmN0aW9uKGRhdGEpIHtcbiAqIC8vICAgdmFyIF9fdCwgX19wID0gJyc7XG4gKiAvLyAgIF9fcCArPSAnaGkgJyArICgoX190ID0gKCBkYXRhLnVzZXIgKSkgPT0gbnVsbCA/ICcnIDogX190KSArICchJztcbiAqIC8vICAgcmV0dXJuIF9fcDtcbiAqIC8vIH1cbiAqXG4gKiAvLyBVc2UgY3VzdG9tIHRlbXBsYXRlIGRlbGltaXRlcnMuXG4gKiBfLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGUgPSAve3soW1xcc1xcU10rPyl9fS9nO1xuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8ge3sgdXNlciB9fSEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnbXVzdGFjaGUnIH0pO1xuICogLy8gPT4gJ2hlbGxvIG11c3RhY2hlISdcbiAqXG4gKiAvLyBVc2UgdGhlIGBzb3VyY2VgIHByb3BlcnR5IHRvIGlubGluZSBjb21waWxlZCB0ZW1wbGF0ZXMgZm9yIG1lYW5pbmdmdWxcbiAqIC8vIGxpbmUgbnVtYmVycyBpbiBlcnJvciBtZXNzYWdlcyBhbmQgc3RhY2sgdHJhY2VzLlxuICogZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ2pzdC5qcycpLCAnXFxcbiAqICAgdmFyIEpTVCA9IHtcXFxuICogICAgIFwibWFpblwiOiAnICsgXy50ZW1wbGF0ZShtYWluVGV4dCkuc291cmNlICsgJ1xcXG4gKiAgIH07XFxcbiAqICcpO1xuICovXG5mdW5jdGlvbiB0ZW1wbGF0ZShzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSB7XG4gIC8vIEJhc2VkIG9uIEpvaG4gUmVzaWcncyBgdG1wbGAgaW1wbGVtZW50YXRpb25cbiAgLy8gKGh0dHA6Ly9lam9obi5vcmcvYmxvZy9qYXZhc2NyaXB0LW1pY3JvLXRlbXBsYXRpbmcvKVxuICAvLyBhbmQgTGF1cmEgRG9rdG9yb3ZhJ3MgZG9ULmpzIChodHRwczovL2dpdGh1Yi5jb20vb2xhZG8vZG9UKS5cbiAgdmFyIHNldHRpbmdzID0gdGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzLl8udGVtcGxhdGVTZXR0aW5ncyB8fCB0ZW1wbGF0ZVNldHRpbmdzO1xuXG4gIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSkge1xuICAgIG9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgb3B0aW9ucyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucywgc2V0dGluZ3MsIGN1c3RvbURlZmF1bHRzQXNzaWduSW4pO1xuXG4gIHZhciBpbXBvcnRzID0gYXNzaWduSW5XaXRoKHt9LCBvcHRpb25zLmltcG9ydHMsIHNldHRpbmdzLmltcG9ydHMsIGN1c3RvbURlZmF1bHRzQXNzaWduSW4pLFxuICAgICAgaW1wb3J0c0tleXMgPSBrZXlzKGltcG9ydHMpLFxuICAgICAgaW1wb3J0c1ZhbHVlcyA9IGJhc2VWYWx1ZXMoaW1wb3J0cywgaW1wb3J0c0tleXMpO1xuXG4gIHZhciBpc0VzY2FwaW5nLFxuICAgICAgaXNFdmFsdWF0aW5nLFxuICAgICAgaW5kZXggPSAwLFxuICAgICAgaW50ZXJwb2xhdGUgPSBvcHRpb25zLmludGVycG9sYXRlIHx8IHJlTm9NYXRjaCxcbiAgICAgIHNvdXJjZSA9IFwiX19wICs9ICdcIjtcblxuICAvLyBDb21waWxlIHRoZSByZWdleHAgdG8gbWF0Y2ggZWFjaCBkZWxpbWl0ZXIuXG4gIHZhciByZURlbGltaXRlcnMgPSBSZWdFeHAoXG4gICAgKG9wdGlvbnMuZXNjYXBlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICBpbnRlcnBvbGF0ZS5zb3VyY2UgKyAnfCcgK1xuICAgIChpbnRlcnBvbGF0ZSA9PT0gcmVJbnRlcnBvbGF0ZSA/IHJlRXNUZW1wbGF0ZSA6IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICAob3B0aW9ucy5ldmFsdWF0ZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JCdcbiAgLCAnZycpO1xuXG4gIC8vIFVzZSBhIHNvdXJjZVVSTCBmb3IgZWFzaWVyIGRlYnVnZ2luZy5cbiAgdmFyIHNvdXJjZVVSTCA9ICdzb3VyY2VVUkwnIGluIG9wdGlvbnMgPyAnLy8jIHNvdXJjZVVSTD0nICsgb3B0aW9ucy5zb3VyY2VVUkwgKyAnXFxuJyA6ICcnO1xuXG4gIHN0cmluZy5yZXBsYWNlKHJlRGVsaW1pdGVycywgZnVuY3Rpb24obWF0Y2gsIGVzY2FwZVZhbHVlLCBpbnRlcnBvbGF0ZVZhbHVlLCBlc1RlbXBsYXRlVmFsdWUsIGV2YWx1YXRlVmFsdWUsIG9mZnNldCkge1xuICAgIGludGVycG9sYXRlVmFsdWUgfHwgKGludGVycG9sYXRlVmFsdWUgPSBlc1RlbXBsYXRlVmFsdWUpO1xuXG4gICAgLy8gRXNjYXBlIGNoYXJhY3RlcnMgdGhhdCBjYW4ndCBiZSBpbmNsdWRlZCBpbiBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgc291cmNlICs9IHN0cmluZy5zbGljZShpbmRleCwgb2Zmc2V0KS5yZXBsYWNlKHJlVW5lc2NhcGVkU3RyaW5nLCBlc2NhcGVTdHJpbmdDaGFyKTtcblxuICAgIC8vIFJlcGxhY2UgZGVsaW1pdGVycyB3aXRoIHNuaXBwZXRzLlxuICAgIGlmIChlc2NhcGVWYWx1ZSkge1xuICAgICAgaXNFc2NhcGluZyA9IHRydWU7XG4gICAgICBzb3VyY2UgKz0gXCInICtcXG5fX2UoXCIgKyBlc2NhcGVWYWx1ZSArIFwiKSArXFxuJ1wiO1xuICAgIH1cbiAgICBpZiAoZXZhbHVhdGVWYWx1ZSkge1xuICAgICAgaXNFdmFsdWF0aW5nID0gdHJ1ZTtcbiAgICAgIHNvdXJjZSArPSBcIic7XFxuXCIgKyBldmFsdWF0ZVZhbHVlICsgXCI7XFxuX19wICs9ICdcIjtcbiAgICB9XG4gICAgaWYgKGludGVycG9sYXRlVmFsdWUpIHtcbiAgICAgIHNvdXJjZSArPSBcIicgK1xcbigoX190ID0gKFwiICsgaW50ZXJwb2xhdGVWYWx1ZSArIFwiKSkgPT0gbnVsbCA/ICcnIDogX190KSArXFxuJ1wiO1xuICAgIH1cbiAgICBpbmRleCA9IG9mZnNldCArIG1hdGNoLmxlbmd0aDtcblxuICAgIC8vIFRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgcHJvZHVjdHMgbmVlZHMgYG1hdGNoYCByZXR1cm5lZCBpblxuICAgIC8vIG9yZGVyIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgYG9mZnNldGAgdmFsdWUuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9KTtcblxuICBzb3VyY2UgKz0gXCInO1xcblwiO1xuXG4gIC8vIElmIGB2YXJpYWJsZWAgaXMgbm90IHNwZWNpZmllZCB3cmFwIGEgd2l0aC1zdGF0ZW1lbnQgYXJvdW5kIHRoZSBnZW5lcmF0ZWRcbiAgLy8gY29kZSB0byBhZGQgdGhlIGRhdGEgb2JqZWN0IHRvIHRoZSB0b3Agb2YgdGhlIHNjb3BlIGNoYWluLlxuICB2YXIgdmFyaWFibGUgPSBvcHRpb25zLnZhcmlhYmxlO1xuICBpZiAoIXZhcmlhYmxlKSB7XG4gICAgc291cmNlID0gJ3dpdGggKG9iaikge1xcbicgKyBzb3VyY2UgKyAnXFxufVxcbic7XG4gIH1cbiAgLy8gQ2xlYW51cCBjb2RlIGJ5IHN0cmlwcGluZyBlbXB0eSBzdHJpbmdzLlxuICBzb3VyY2UgPSAoaXNFdmFsdWF0aW5nID8gc291cmNlLnJlcGxhY2UocmVFbXB0eVN0cmluZ0xlYWRpbmcsICcnKSA6IHNvdXJjZSlcbiAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nTWlkZGxlLCAnJDEnKVxuICAgIC5yZXBsYWNlKHJlRW1wdHlTdHJpbmdUcmFpbGluZywgJyQxOycpO1xuXG4gIC8vIEZyYW1lIGNvZGUgYXMgdGhlIGZ1bmN0aW9uIGJvZHkuXG4gIHNvdXJjZSA9ICdmdW5jdGlvbignICsgKHZhcmlhYmxlIHx8ICdvYmonKSArICcpIHtcXG4nICtcbiAgICAodmFyaWFibGVcbiAgICAgID8gJydcbiAgICAgIDogJ29iaiB8fCAob2JqID0ge30pO1xcbidcbiAgICApICtcbiAgICBcInZhciBfX3QsIF9fcCA9ICcnXCIgK1xuICAgIChpc0VzY2FwaW5nXG4gICAgICAgPyAnLCBfX2UgPSBfLmVzY2FwZSdcbiAgICAgICA6ICcnXG4gICAgKSArXG4gICAgKGlzRXZhbHVhdGluZ1xuICAgICAgPyAnLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjtcXG4nICtcbiAgICAgICAgXCJmdW5jdGlvbiBwcmludCgpIHsgX19wICs9IF9fai5jYWxsKGFyZ3VtZW50cywgJycpIH1cXG5cIlxuICAgICAgOiAnO1xcbidcbiAgICApICtcbiAgICBzb3VyY2UgK1xuICAgICdyZXR1cm4gX19wXFxufSc7XG5cbiAgdmFyIHJlc3VsdCA9IGF0dGVtcHQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIEZ1bmN0aW9uKGltcG9ydHNLZXlzLCBzb3VyY2VVUkwgKyAncmV0dXJuICcgKyBzb3VyY2UpXG4gICAgICAuYXBwbHkodW5kZWZpbmVkLCBpbXBvcnRzVmFsdWVzKTtcbiAgfSk7XG5cbiAgLy8gUHJvdmlkZSB0aGUgY29tcGlsZWQgZnVuY3Rpb24ncyBzb3VyY2UgYnkgaXRzIGB0b1N0cmluZ2AgbWV0aG9kIG9yXG4gIC8vIHRoZSBgc291cmNlYCBwcm9wZXJ0eSBhcyBhIGNvbnZlbmllbmNlIGZvciBpbmxpbmluZyBjb21waWxlZCB0ZW1wbGF0ZXMuXG4gIHJlc3VsdC5zb3VyY2UgPSBzb3VyY2U7XG4gIGlmIChpc0Vycm9yKHJlc3VsdCkpIHtcbiAgICB0aHJvdyByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0ZW1wbGF0ZTtcbiIsInZhciBlc2NhcGUgPSByZXF1aXJlKCcuL2VzY2FwZScpLFxuICAgIHJlRXNjYXBlID0gcmVxdWlyZSgnLi9fcmVFc2NhcGUnKSxcbiAgICByZUV2YWx1YXRlID0gcmVxdWlyZSgnLi9fcmVFdmFsdWF0ZScpLFxuICAgIHJlSW50ZXJwb2xhdGUgPSByZXF1aXJlKCcuL19yZUludGVycG9sYXRlJyk7XG5cbi8qKlxuICogQnkgZGVmYXVsdCwgdGhlIHRlbXBsYXRlIGRlbGltaXRlcnMgdXNlZCBieSBsb2Rhc2ggYXJlIGxpa2UgdGhvc2UgaW5cbiAqIGVtYmVkZGVkIFJ1YnkgKEVSQikgYXMgd2VsbCBhcyBFUzIwMTUgdGVtcGxhdGUgc3RyaW5ncy4gQ2hhbmdlIHRoZVxuICogZm9sbG93aW5nIHRlbXBsYXRlIHNldHRpbmdzIHRvIHVzZSBhbHRlcm5hdGl2ZSBkZWxpbWl0ZXJzLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG52YXIgdGVtcGxhdGVTZXR0aW5ncyA9IHtcblxuICAvKipcbiAgICogVXNlZCB0byBkZXRlY3QgYGRhdGFgIHByb3BlcnR5IHZhbHVlcyB0byBiZSBIVE1MLWVzY2FwZWQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge1JlZ0V4cH1cbiAgICovXG4gICdlc2NhcGUnOiByZUVzY2FwZSxcblxuICAvKipcbiAgICogVXNlZCB0byBkZXRlY3QgY29kZSB0byBiZSBldmFsdWF0ZWQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge1JlZ0V4cH1cbiAgICovXG4gICdldmFsdWF0ZSc6IHJlRXZhbHVhdGUsXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gaW5qZWN0LlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnaW50ZXJwb2xhdGUnOiByZUludGVycG9sYXRlLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHJlZmVyZW5jZSB0aGUgZGF0YSBvYmplY3QgaW4gdGhlIHRlbXBsYXRlIHRleHQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gICd2YXJpYWJsZSc6ICcnLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGltcG9ydCB2YXJpYWJsZXMgaW50byB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gICdpbXBvcnRzJzoge1xuXG4gICAgLyoqXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzXG4gICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAqL1xuICAgICdfJzogeyAnZXNjYXBlJzogZXNjYXBlIH1cbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB0ZW1wbGF0ZVNldHRpbmdzO1xuIiwidmFyIGJhc2VUb1N0cmluZyA9IHJlcXVpcmUoJy4vX2Jhc2VUb1N0cmluZycpO1xuXG4vKipcbiAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcuIEFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZCBmb3IgYG51bGxgXG4gKiBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLiBUaGUgc2lnbiBvZiBgLTBgIGlzIHByZXNlcnZlZC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBzdHJpbmcuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8udG9TdHJpbmcobnVsbCk7XG4gKiAvLyA9PiAnJ1xuICpcbiAqIF8udG9TdHJpbmcoLTApO1xuICogLy8gPT4gJy0wJ1xuICpcbiAqIF8udG9TdHJpbmcoWzEsIDIsIDNdKTtcbiAqIC8vID0+ICcxLDIsMydcbiAqL1xuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnJyA6IGJhc2VUb1N0cmluZyh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdG9TdHJpbmc7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IFwiLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBHZW5lcmljIFN0eWxlc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG5hZy1ncmlkLCBhZy1ncmlkLWFuZ3VsYXIsIGFnLWdyaWQtbmcyLCBhZy1ncmlkLXBvbHltZXIsIGFnLWdyaWQtYXVyZWxpYSB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1oaWRkZW4ge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XFxuXFxuLmFnLWludmlzaWJsZSB7XFxuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxcblxcbi5hZy1mYWRlZCB7XFxuICBvcGFjaXR5OiAwLjM7IH1cXG5cXG4uYWctd2lkdGgtaGFsZiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctdW5zZWxlY3RhYmxlIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xcbiAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsgfVxcblxcbi5hZy1zZWxlY3RhYmxlIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIC1tcy11c2VyLXNlbGVjdDogdGV4dCAhaW1wb3J0YW50O1xcbiAgdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDsgfVxcblxcbi5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLWlucHV0LXRleHQtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLXNoYWtlLWxlZnQtdG8tcmlnaHQge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XFxuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQ7XFxuICBhbmltYXRpb24tbmFtZTogYWctc2hha2UtbGVmdC10by1yaWdodDsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0IHtcXG4gIGZyb20ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICB0byB7XFxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxcblxcbkBrZXlmcmFtZXMgYWctc2hha2UtbGVmdC10by1yaWdodCB7XFxuICBmcm9tIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgdG8ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cXG5cXG4uYWctcm9vdC13cmFwcGVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLXJvb3Qtd3JhcHBlci5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctcm9vdC13cmFwcGVyIC5hZy13YXRlcm1hcmsge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIGJvdHRvbTogMTBweDtcXG4gICAgcmlnaHQ6IDI1cHg7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDNzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDNzOyB9XFxuICAgIC5hZy1yb290LXdyYXBwZXIgLmFnLXdhdGVybWFyazpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6ICcnO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSE4yWnlCM2FXUjBhRDBpTkRrMGNIZ2lJR2hsYVdkb2REMGlNak01Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EwT1RRZ01qTTVJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGdvZ0lDQWdQQ0V0TFNCSFpXNWxjbUYwYjNJNklGTnJaWFJqYUNBME55NHhJQ2cwTlRReU1pa2dMU0JvZEhSd09pOHZkM2QzTG1KdmFHVnRhV0Z1WTI5a2FXNW5MbU52YlM5emEyVjBZMmdnTFMwK0NpQWdJQ0E4ZEdsMGJHVStURzluYnp3dmRHbDBiR1UrQ2lBZ0lDQThaR1Z6WXo1RGNtVmhkR1ZrSUhkcGRHZ2dVMnRsZEdOb0xqd3ZaR1Z6WXo0S0lDQWdJRHhrWldaelBnb2dJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMHdMall4TWpnME9Ua3pNU3d4TURnZ1REQXVOakV5T0RRNU9UTXhMRFkzTGpRMU9UWXpOelFnVERBdU5qRXlPRFE1T1RNeExEWTNMalExT1RZek56UWdRekF1TmpFeU9EUTVPVE14TERZeUxqRXdNRFkxTXpZZ015NDBOekU0TXpNM09DdzFOeTR4TkRnM05EZ3pJRGd1TVRFeU9EUTVPVE1zTlRRdU5EWTVNalUyTkNCTU9UZ3VNekEyTkRJMUxESXVNemsxT1RjeE5UY2dURGs0TGpNd05qUXlOU3d5TGpNNU5UazNNVFUzSUVNeE1ESXVPVFEzTkRReExDMHdMakk0TXpVeU1ETTFPQ0F4TURndU5qWTFOREE1TEMwd0xqSTRNelV5TURNMU9DQXhNVE11TXpBMk5ESTFMREl1TXprMU9UY3hOVGNnVERFeE15NHpNRFkwTWpVc01pNHpPVFU1TnpFMU55Qk1NakF6TGpVc05UUXVORFk1TWpVMk5DQk1NakF6TGpVc05UUXVORFk1TWpVMk5DQkRNakE0TGpFME1UQXhOaXcxTnk0eE5EZzNORGd6SURJeE1TdzJNaTR4TURBMk5UTTJJREl4TVN3Mk55NDBOVGsyTXpjMElFd3lNVEVzTVRNNElFd3hPREVzTVRNNElFd3hPREF1T1RrM01EUXhMRGt6TGprNU9UazVPVGdnVERFNE1DNDVPVFl3TXpJc09UTXVPVGs1T1RrNU9TQkRNVGd3TGprNU5UUTNOU3c0TlM0M01UWXhNakkySURFM05DNHlOems1TURrc056a3VNREF4TURBNE55QXhOalV1T1RrMk1ETXlMRGM1TGpBd01UQXdPRGNnVERFeU1pdzNPQzQ1T1RrNU9UazVJRU14TVRNdU56RTFOekk1TERjNExqazVPVGs1T1RrZ01UQTNMRGcxTGpjeE5UY3lPRFlnTVRBM0xEa3pMams1T1RrNU9Ua2dUREV3Tnl3eE16WXVNREUxTmpJeklFd3hNRGNzTVRNMkxqQXhOVFl5TXlCRE1UQTNMREUwTkM0eU9UazRPVFVnTVRFekxqY3hOVGN5T1N3eE5URXVNREUxTmpJeklERXlNaXd4TlRFdU1ERTFOakl6SUV3eE5qZ3NNVFV4TGpBeE5UWXlNeUJNTVRZNExERTJNeUJETVRZNExERTJOQzQyTlRZNE5UUWdNVFkyTGpZMU5qZzFOQ3d4TmpZZ01UWTFMREUyTmlCTU1USXdMREUyTmlCTU1USXdMREUzT1NCTU1UWTFMams1TmpBek1pd3hOemtnVERFMk5TNDVPVFl3TXpJc01UYzRMams1TnpnM055QkRNVGMwTGpJM09UUTNOQ3d4TnpndU9UazNPRGMzSURFNE1DNDVPVFE0Tml3eE56SXVNamd6TkRReUlERTRNQzQ1T1RZd016SXNNVFkwSUV3eE9ERXNNVFV3TGprMk1EVTFOQ0JNTWpFeExERTFNQzQ1TmpBMU5UUWdUREl4TVN3eE56RXVOakEyTWpBM0lFd3lNVEVzTVRjeExqWXdOakl3TnlCRE1qRXhMREUzTmk0NU5qVXhPVEVnTWpBNExqRTBNVEF4Tml3eE9ERXVPVEUzTURrMklESXdNeTQxTERFNE5DNDFPVFkxT0RnZ1RERXhNeTR6TURZME1qVXNNak0yTGpZMk9UZzNNeUJNTVRFekxqTXdOalF5TlN3eU16WXVOalk1T0RjeklFTXhNRGd1TmpZMU5EQTVMREl6T1M0ek5Ea3pOalVnTVRBeUxqazBOelEwTVN3eU16a3VNelE1TXpZMUlEazRMak13TmpReU5Td3lNell1TmpZNU9EY3pJRXc0TGpFeE1qZzBPVGt6TERFNE5DNDFPVFkxT0RnZ1REZ3VNVEV5T0RRNU9UTXNNVGcwTGpVNU5qVTRPQ0JETXk0ME56RTRNek0zT0N3eE9ERXVPVEUzTURrMklEQXVOakV5T0RRNU9UTXhMREUzTmk0NU5qVXhPVEVnTUM0Mk1USTRORGs1TXpFc01UY3hMall3TmpJd055Qk1NQzQyTVRJNE5EazVNekVzTVRJeElFd3lOeXd4TWpFZ1RESTNMREV6TmlCRE1qY3NNVFEwTGpJNE5ESTNNU0F6TXk0M01UVTNNamczTERFMU1TQTBNaXd4TlRFZ1REUXlMREUxTVNCTU1UQXdMREUxTVNCTU1UQXdMRGswSUVNeE1EQXNPRFV1TnpFMU56STRPQ0E1TXk0eU9EUXlOekV5TERjNUlEZzFMRGM1SUV3eU55dzNPU0JNTWpjc09USWdURGcwTERreUlFTTROUzQyTlRZNE5UUXlMRGt5SURnM0xEa3pMak0wTXpFME5UZ2dPRGNzT1RVZ1REZzNMRGsxSUV3NE55d3hNRGdnVERBdU5qRXlPRFE1T1RNeExERXdPQ0JhSWlCcFpEMGljR0YwYUMweElqNDhMM0JoZEdnK0NpQWdJQ0E4TDJSbFpuTStDaUFnSUNBOFp5QnBaRDBpVTNsdFltOXNjeUlnYzNSeWIydGxQU0p1YjI1bElpQnpkSEp2YTJVdGQybGtkR2c5SWpFaUlHWnBiR3c5SW01dmJtVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0krQ2lBZ0lDQWdJQ0FnUEdjZ2FXUTlJa3h2WjI4aVBnb2dJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTkRjM0xEVTFJRXcwT1RRc05UVWdURFE1TkN3eE5URWdURFF6TlN3eE5URWdRelF5Tmk0M01UVTNNamtzTVRVeElEUXlNQ3d4TkRRdU1qZzBNamN4SURReU1Dd3hNellnVERReU1DdzVOaUJETkRJd0xEZzNMamN4TlRjeU9EZ2dOREkyTGpjeE5UY3lPU3c0TVNBME16VXNPREVnVERRek5TdzRNU0JNTkRjM0xEZ3hJRXcwTnpjc05UVWdXaUJOTkRRd0xEazRJRU0wTXpndU16UXpNVFEyTERrNElEUXpOeXc1T1M0ek5ETXhORFU0SURRek55d3hNREVnVERRek55d3hNekVnUXpRek55d3hNekl1TmpVMk9EVTBJRFF6T0M0ek5ETXhORFlzTVRNMElEUTBNQ3d4TXpRZ1REUTNOeXd4TXpRZ1REUTNOeXc1T0NCTU5EUXdMRGs0SUZvaUlHbGtQU0prSWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pwSWlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3pPVFl1TURBd01EQXdMQ0ExTlM0d01EQXdNREFwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4d2IyeDVaMjl1SUdsa1BTSlFZWFJvTFRZaUlHWnBiR3c5SWlOR1JrWkdSa1lpSUhCdmFXNTBjejBpTUNBeU5pQXhOeUF5TmlBeE55QTVOaUF3SURrMklqNDhMM0J2YkhsbmIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjRzlzZVdkdmJpQnBaRDBpVUdGMGFDMDNJaUJtYVd4c1BTSWpSVEV4UmpJeUlpQndiMmx1ZEhNOUlqQWdNUzR4TXpZNE5qZ3pPR1V0TVRNZ01UY2dNUzR4TXpZNE5qZ3pPR1V0TVRNZ01UY2dNVGNnTUNBeE55SStQQzl3YjJ4NVoyOXVQZ29nSUNBZ0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBZ0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWswek16RXNNVFV4SUV3ek5EZ3NNVFV4SUV3ek5EZ3NNVEF4SUV3ek5EZ3NNVEF4SUVNek5EZ3NPVGt1TXpRek1UUTFPQ0F6TkRrdU16UXpNVFEyTERrNElETTFNU3c1T0NCTU16ZzVMRGs0SUV3ek9Ea3NPREVnVERNME5pdzRNU0JNTXpRMkxEZ3hJRU16TXpjdU56RTFOekk1TERneElETXpNU3c0Tnk0M01UVTNNamc0SURNek1TdzVOaUJNTXpNeExERTFNU0JhSWlCcFpEMGljaUlnWm1sc2JEMGlJMFpHUmtaR1JpSStQQzl3WVhSb1Bnb2dJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTXpJMExEZzJJRXd6TWpRc056WWdURE15TkN3M05pQkRNekkwTERZM0xqY3hOVGN5T0RnZ016RTNMakk0TkRJM01TdzJNU0F6TURrc05qRWdUREkwT1N3Mk1TQk1NalE1TERZeElFTXlOREF1TnpFMU56STVMRFl4SURJek5DdzJOeTQzTVRVM01qZzRJREl6TkN3M05pQk1Nak0wTERFek5pQk1Nak0wTERFek5pQkRNak0wTERFME5DNHlPRFF5TnpFZ01qUXdMamN4TlRjeU9Td3hOVEVnTWpRNUxERTFNU0JNTXpBNUxERTFNU0JNTXpBNUxERTFNU0JETXpFM0xqSTROREkzTVN3eE5URWdNekkwTERFME5DNHlPRFF5TnpFZ016STBMREV6TmlCTU16STBMREV3TUNCTU1qZzNMREV3TUNCTU1qZzNMREV4TnlCTU16QTNMREV4TnlCTU16QTNMREV6TVNCTU16QTNMREV6TVNCRE16QTNMREV6TWk0Mk5UWTROVFFnTXpBMUxqWTFOamcxTkN3eE16UWdNekEwTERFek5DQk1NalUwTERFek5DQk1NalUwTERFek5DQkRNalV5TGpNME16RTBOaXd4TXpRZ01qVXhMREV6TWk0Mk5UWTROVFFnTWpVeExERXpNU0JNTWpVeExEZ3hJRXd5TlRFc09ERWdRekkxTVN3M09TNHpORE14TkRVNElESTFNaTR6TkRNeE5EWXNOemdnTWpVMExEYzRJRXd6TURRc056Z2dURE13TkN3M09DQkRNekExTGpZMU5qZzFOQ3czT0NBek1EY3NOemt1TXpRek1UUTFPQ0F6TURjc09ERWdURE13Tnl3NE5pQk1NekkwTERnMklGb2lJR2xrUFNKSElpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKaFp5SStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaVEyOXRZbWx1WldRdFUyaGhjR1VpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHRZWE5ySUdsa1BTSnRZWE5yTFRJaUlHWnBiR3c5SW5kb2FYUmxJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpjR0YwYUMweElqNDhMM1Z6WlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMjFoYzJzK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFZ6WlNCbWFXeHNQU0lqUlRFeFJqSXlJaUI0YkdsdWF6cG9jbVZtUFNJamNHRjBhQzB4SWo0OEwzVnpaVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpXTjBJR2xrUFNKbklpQm1hV3hzUFNJalJURXhSakl5SWlCNFBTSXhNakFpSUhrOUlqa3lJaUIzYVdSMGFEMGlORGdpSUdobGFXZG9kRDBpTkRZaUlISjRQU0l6SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTkRBc01USXhJRXc0Tnl3eE1qRWdURGczTERFek9DQk1ORE1zTVRNNElFdzBNeXd4TXpnZ1F6UXhMak0wTXpFME5UZ3NNVE00SURRd0xERXpOaTQyTlRZNE5UUWdOREFzTVRNMUlFdzBNQ3d4TWpFZ1dpSWdhV1E5SWtOdmJXSnBibVZrTFZOb1lYQmxJaUJtYVd4c1BTSWpSVEV4UmpJeUlqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBOEwyYytDand2YzNablBnPT0pO1xcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoNTAlKTtcXG4gICAgICBmaWx0ZXI6IGludmVydCg1MCUpO1xcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTBweCA2MHB4O1xcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICAgIGhlaWdodDogNjBweDtcXG4gICAgICB3aWR0aDogMTEwcHg7IH1cXG4gICAgLmFnLXJvb3Qtd3JhcHBlciAuYWctd2F0ZXJtYXJrIC5hZy13YXRlcm1hcmstdGV4dCB7XFxuICAgICAgb3BhY2l0eTogMC41O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBJbXBhY3Q7XFxuICAgICAgZm9udC1zaXplOiAxOXB4OyB9XFxuXFxuLmFnLXJvb3Qtd3JhcHBlci1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gIC5hZy1yb290LXdyYXBwZXItYm9keS5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgaGVpZ2h0OiAwO1xcbiAgICBtaW4taGVpZ2h0OiAwOyB9XFxuXFxuLmFnLXJvb3Qge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1yb290LmFnLWxheW91dC1ub3JtYWwsIC5hZy1yb290LmFnLWxheW91dC1hdXRvLWhlaWdodCB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIHdpZHRoOiAwOyB9XFxuICAuYWctcm9vdC5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBWaWV3cG9ydHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWhlYWRlci12aWV3cG9ydCxcXG4uYWctZmxvYXRpbmctdG9wLXZpZXdwb3J0LFxcbi5hZy1ib2R5LXZpZXdwb3J0LFxcbi5hZy1waW5uZWQtbGVmdC1jb2xzLXZpZXdwb3J0LFxcbi5hZy1jZW50ZXItY29scy12aWV3cG9ydCxcXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS12aWV3cG9ydCxcXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC12aWV3cG9ydCxcXG4uYWctdmlydHVhbC1saXN0LXZpZXdwb3J0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG1pbi13aWR0aDogMHB4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgb3ZlcmZsb3cteTogYXV0bztcXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XFxuICAuYWctYm9keS12aWV3cG9ydDpub3QoLmFnLWxheW91dC1wcmludCkuYWctZm9yY2UtdmVydGljYWwtc2Nyb2xsIHtcXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsIC5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctY2VudGVyLWNvbHMtdmlld3BvcnQge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBvdmVyZmxvdy14OiBhdXRvOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtdmlld3BvcnQge1xcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XFxuXFxuLmFnLXZpcnR1YWwtbGlzdC12aWV3cG9ydCB7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDb250YWluZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXItY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy10b3AtY29udGFpbmVyLFxcbi5hZy1ib2R5LWNvbnRhaW5lcixcXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtY29udGFpbmVyLFxcbi5hZy1jZW50ZXItY29scy1jb250YWluZXIsXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tY29udGFpbmVyLFxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLWNvbnRhaW5lcixcXG4uYWctZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctdmlydHVhbC1saXN0LWNvbnRhaW5lciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctaGVhZGVyLWNvbnRhaW5lciwgLmFnLWZsb2F0aW5nLXRvcC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1ib3R0b20tY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydCAuYWctY2VudGVyLWNvbHMtY2xpcHBlciB7XFxuICBtaW4taGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LWF1dG8taGVpZ2h0IC5hZy1jZW50ZXItY29scy1jbGlwcGVyLCAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtYXV0by1oZWlnaHQgLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lciB7XFxuICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQgLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1wcmludCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IG5vbmU7XFxuICBmbGV4OiBub25lOyB9XFxuICAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtcHJpbnQgLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIge1xcbiAgICBtaW4td2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctdG9wLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwcHg7XFxuICBsZWZ0OiAwcHg7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lciB7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIsIC5hZy1mbG9hdGluZy10b3AtZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLXZpcnR1YWwtbGlzdC1jb250YWluZXIge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU2Nyb2xsZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jZW50ZXItY29scy1jbGlwcGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMTtcXG4gIGZsZXg6IDE7XFxuICBtaW4td2lkdGg6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgbWluLWhlaWdodDogMDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctbGF5b3V0LXByaW50IC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gIGRpc3BsYXk6IG5vbmU7IH1cXG5cXG4uYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG1pbi13aWR0aDogMDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDtcXG4gIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxcbiAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyLCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBIZWFkZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXIsIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlLCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1zb3J0YWJsZSwgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWhlYWRlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1oZWFkZXItaWNvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1yb3cge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5hZy1oZWFkZXItb3ZlcmxheSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1oZWFkZXItY2VsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBsaW5lLWhlaWdodDogMS41OyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsLWxhYmVsLCAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1jZWxsLXRleHQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcblxcbi5hZy1oZWFkZXItZ3JvdXAtdGV4dCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAxO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDRweDsgfVxcblxcbi5hZy1oZWFkZXItZXhwYW5kLWljb24ge1xcbiAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cXG5cXG4uYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29sdW1uc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY29sdW1uLW1vdmluZyAuYWctY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4yczsgfVxcblxcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1oZWFkZXItY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4yczsgfVxcblxcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycywgd2lkdGggMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4ycywgd2lkdGggMC4yczsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29sdW1uIFBhbmVsXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jb2x1bW4tcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogNDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiA0O1xcbiAgZmxleC1ncm93OiA0O1xcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XFxuICBmbGV4LXNocmluazogMTtcXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgZmxleC1iYXNpczogMDsgfVxcbiAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICBmbGV4OiBub25lOyB9XFxuICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgICAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciBpbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cXG5cXG4uYWctY29sdW1uLWRyb3Age1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSAwcHg7XFxuICBmbGV4OiAxIDEgMDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gZGl2IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgZmxleC1ncm93OiAxO1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cXG4gIC5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFJvd3NcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXJvdy1hbmltYXRpb24gLmFnLXJvdyB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7XFxuICB0cmFuc2l0aW9uOiB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjRzO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnM7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC40czsgfVxcblxcbi5hZy1yb3ctbm8tYW5pbWF0aW9uIC5hZy1yb3cge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG5cXG4uYWctcm93IHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1yb3ctcG9zaXRpb24tYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLXJvdy1wb3NpdGlvbi1yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1yb3cge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG5cXG4uYWctcm93LWlubGluZS1lZGl0aW5nIHtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctcm93LWRyYWdnaW5nIHtcXG4gIHotaW5kZXg6IDI7IH1cXG5cXG4uYWctc3R1Yi1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDZWxsc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY2VsbCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWNlbGwtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY2VsbC13cmFwcGVyLmFnLXJvdy1ncm91cCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxcbiAgLmFnLWNlbGwtd3JhcHBlciAuYWctY2VsbC12YWx1ZSwgLmFnLWNlbGwtd3JhcHBlciAuYWctZ3JvdXAtdmFsdWUge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLXJvdy5hZy1yb3ctZ3JvdXAgLmFnLWNlbGwtd3JhcHBlciB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG5cXG4uYWctY2VsbC13aXRoLWhlaWdodCB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZ3JvdXAtY2VsbC1lbnRpcmUtcm93IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1mb290ZXItY2VsbC1lbnRpcmUtcm93IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gIHotaW5kZXg6IDE7IH1cXG4gIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIC5hZy1jZWxsLWVkaXQtaW5wdXQsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIge1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBGaWx0ZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1jaGVja2JveCB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgRmlsdGVyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IC5hZy1yZWFjdC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSAuYWctcmVhY3QtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItYm9keSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0IHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSBpbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItaW5wdXQge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0Oi1tb3otcmVhZC1vbmx5IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0OnJlYWQtb25seSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERyYWcgJiBEcm9wXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1kbmQtZ2hvc3Qge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICBjdXJzb3I6IG1vdmU7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogM3B4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgei1pbmRleDogMTA7IH1cXG5cXG4uYWctZG5kLWdob3N0LWljb24ge1xcbiAgcGFkZGluZzogMnB4OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBPdmVybGF5XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1vdmVybGF5IHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctb3ZlcmxheS13cmFwcGVyLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxcblxcbi5hZy1vdmVybGF5LW5vLXJvd3Mtd3JhcHBlci5hZy1sYXlvdXQtYXV0by1oZWlnaHQge1xcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFBvcHVwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1wb3B1cCA+IGRpdiB7XFxuICB6LWluZGV4OiA1OyB9XFxuXFxuLmFnLXBvcHVwLWJhY2tkcm9wIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFZpcnR1YWwgTGlzdHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctdmlydHVhbC1saXN0LWl0ZW0gc3BhbjplbXB0eTpub3QoLmFnLWljb24pIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgVG9wIGFuZCBCb3R0b21cXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWZsb2F0aW5nLXRvcCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERpYWxvZ1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZGlhbG9nIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWRpYWxvZyAuYWctcmVzaXplciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIHotaW5kZXg6IDE7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcExlZnQge1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItdG9wIHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgbGVmdDogNXB4O1xcbiAgICAgIHJpZ2h0OiA1cHg7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgY3Vyc29yOiBucy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcFJpZ2h0IHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG5lc3ctcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1yaWdodCB7XFxuICAgICAgdG9wOiA1cHg7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgYm90dG9tOiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItYm90dG9tUmlnaHQge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWJvdHRvbSB7XFxuICAgICAgYm90dG9tOiAwO1xcbiAgICAgIGxlZnQ6IDVweDtcXG4gICAgICByaWdodDogNXB4O1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1ib3R0b21MZWZ0IHtcXG4gICAgICBib3R0b206IDA7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbmVzdy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWxlZnQge1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgdG9wOiA1cHg7XFxuICAgICAgYm90dG9tOiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxcbiAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgIGZsZXg6IG5vbmU7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLXRpdGxlIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cXG4gIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy1jb250ZW50LXdyYXBwZXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctY29udGVudC13cmFwcGVyID4gZGl2IHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWNvbnRlbnQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBUb29sdGlwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy10b29sdGlwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgei1pbmRleDogOTk5OTk7IH1cXG5cXG4uYWctY2hhcnQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgei1pbmRleDogOTk5OTk7XFxuICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xcbiAgZm9udDogMTJweCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xcbiAgcGFkZGluZzogN3B4O1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDI0NCwgMjQ0LCAwLjkpO1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICBib3gtc2hhZG93OiAzcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy1jaGFydC10b29sdGlwIC50aXRsZSB7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBBbmltYXRpb25zXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy12YWx1ZS1zbGlkZS1vdXQge1xcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XFxuICBvcGFjaXR5OiAxO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDNzLCBtYXJnaW4tcmlnaHQgM3M7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDNzLCBtYXJnaW4tcmlnaHQgM3M7XFxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuLmFnLXZhbHVlLXNsaWRlLW91dC1lbmQge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcbiAgb3BhY2l0eTogMDsgfVxcblxcbi5hZy1vcGFjaXR5LXplcm8ge1xcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBNZW51XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1tZW51IHtcXG4gIG1heC1oZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcblxcbi5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICBoZWlnaHQ6IDI2NXB4O1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICB3aWR0aDogMjAwcHg7IH1cXG5cXG4uYWctbWVudS1saXN0IHtcXG4gIGRpc3BsYXk6IHRhYmxlOyB9XFxuXFxuLmFnLW1lbnUtb3B0aW9uLCAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgZGlzcGxheTogdGFibGUtcm93OyB9XFxuICAuYWctbWVudS1vcHRpb24gPiBzcGFuLCAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcblxcbi5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBSaWNoIFNlbGVjdFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcmljaC1zZWxlY3Qge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgb3V0bGluZTogbm9uZTsgfVxcbiAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlID4gc3BhbiB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSAuYWctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogMTtcXG4gICAgICBvcmRlcjogMTsgfVxcbiAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogUGFnaW5hdGlvblxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcGFnaW5nLXBhbmVsIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxcblxcbi5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctZGlzYWJsZWQge1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbCBQYW5lbFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB3aWR0aDogMjAwcHg7IH1cXG4gIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4uYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cXG5cXG4uYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiA1cHg7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7IH1cXG5cXG4uYWctbHRyIC5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XFxuXFxuLmxvYWRpbmctZmlsdGVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwYWRkaW5nOiA1cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM0cHg7XFxuICB3aWR0aDogMTAwJTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctZGV0YWlscy1yb3cge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZGV0YWlscy1ncmlkIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctbnVtZXJpYy1oZWFkZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBHcm91cCBDb21wb25lbnRcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqL1xcbi5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAtMTBweDsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU2lkZSBCYXJcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXNpZGUtYmFyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcbiAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgZGl2IGJ1dHRvbiB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgZGl2IGJ1dHRvbiBzcGFuOm5vdCguYWctaWNvbikge1xcbiAgICAgIC13ZWJraXQtd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICAtbXMtd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICB3cml0aW5nLW1vZGU6IHRiO1xcbiAgICAgIC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcXG4gICAgICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1scjtcXG4gICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyB9XFxuICAuYWctc2lkZS1iYXIgLnBhbmVsLWNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAxODBweDsgfVxcbiAgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLnBhbmVsLWNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAyMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgYnV0dG9uIHNwYW46bm90KC5hZy1pY29uKSB7XFxuICAtd2Via2l0LXdyaXRpbmctbW9kZTogdGItcmw7XFxuICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIHdyaXRpbmctbW9kZTogdGItcmw7XFxuICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XFxuICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFN0YXR1cyBCYXJcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXN0YXR1cy1iYXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1zdGF0dXMtYmFyIC5hZy1zdGF0dXMtcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctc3RhdHVzLWJhci1sZWZ0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItcmlnaHQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgcGFkZGluZy1sZWZ0OiA3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgcGFkZGluZy1sZWZ0OiA3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgcGFkZGluZy1sZWZ0OiA5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgcGFkZGluZy1sZWZ0OiA5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgcGFkZGluZy1yaWdodDogMTEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctbGVmdDogMTEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gIHBhZGRpbmctbGVmdDogMTMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1yaWdodDogMTUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgcGFkZGluZy1sZWZ0OiAxNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgcGFkZGluZy1yaWdodDogMTcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctbGVmdDogMTcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gIHBhZGRpbmctbGVmdDogMTkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgcGFkZGluZy1sZWZ0OiAyMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgcGFkZGluZy1yaWdodDogMjAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDIxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gIHBhZGRpbmctbGVmdDogMjIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDIyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgcGFkZGluZy1sZWZ0OiAyMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgcGFkZGluZy1yaWdodDogMjMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctbGVmdDogMjMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gIHBhZGRpbmctbGVmdDogMjUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgcGFkZGluZy1sZWZ0OiAyNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgcGFkZGluZy1yaWdodDogMjYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDI3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1sZWZ0OiAyNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1yaWdodDogMjcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgcGFkZGluZy1sZWZ0OiAyOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgcGFkZGluZy1yaWdodDogMjkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctbGVmdDogMjkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gIHBhZGRpbmctbGVmdDogMzEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDMxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDMzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1yaWdodDogMzMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gIHBhZGRpbmctbGVmdDogMzQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgcGFkZGluZy1sZWZ0OiAzNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgcGFkZGluZy1yaWdodDogMzUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctbGVmdDogMzUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gIHBhZGRpbmctbGVmdDogMzcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDM3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgcGFkZGluZy1sZWZ0OiAzODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgcGFkZGluZy1yaWdodDogMzgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDM5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgcGFkZGluZy1sZWZ0OiA0MTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgcGFkZGluZy1yaWdodDogNDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctbGVmdDogNDEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gIHBhZGRpbmctbGVmdDogNDMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgcGFkZGluZy1sZWZ0OiA0NDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgcGFkZGluZy1yaWdodDogNDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1sZWZ0OiA0NTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1yaWdodDogNDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gIHBhZGRpbmctbGVmdDogNDYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgcGFkZGluZy1sZWZ0OiA0NzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgcGFkZGluZy1yaWdodDogNDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctbGVmdDogNDcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gIHBhZGRpbmctbGVmdDogNDkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0OTBweDsgfVxcblxcbi5hZy1sdHIge1xcbiAgZGlyZWN0aW9uOiBsdHI7IH1cXG4gIC5hZy1sdHIgLmFnLWJvZHksIC5hZy1sdHIgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLWx0ciAuYWctZmxvYXRpbmctYm90dG9tLCAuYWctbHRyIC5hZy1oZWFkZXIsIC5hZy1sdHIgLmFnLWJvZHktdmlld3BvcnQsIC5hZy1sdHIgLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbiAgLmFnLWx0ciAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgcmlnaHQ6IC00cHg7IH1cXG4gIC5hZy1sdHIgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGxlZnQ6IC00cHg7IH1cXG5cXG4uYWctcnRsIHtcXG4gIGRpcmVjdGlvbjogcnRsOyB9XFxuICAuYWctcnRsIC5hZy1ib2R5LCAuYWctcnRsIC5hZy1mbG9hdGluZy10b3AsIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWJvdHRvbSwgLmFnLXJ0bCAuYWctaGVhZGVyLCAuYWctcnRsIC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctcnRsIC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcbiAgLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgbGVmdDogLTRweDsgfVxcbiAgLmFnLXJ0bCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICByaWdodDogLTRweDsgfVxcblxcbkBtZWRpYSBwcmludCB7XFxuICAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuICAuYWctcm93IHtcXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9IH1cXG5cXG4uYWctYm9keSAuYWctcGlubmVkLWxlZnQtY29scy12aWV3cG9ydCwgLmFnLWJvZHkgLmFnLWJvZHktdmlld3BvcnQsIC5hZy1ib2R5IC5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCB7XFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cXG5cXG4uYWctY2hhcnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIgY2FudmFzIHtcXG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxcbiAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDEwcHg7XFxuICAgIHJpZ2h0OiAyMHB4O1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgPiBkaXYge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1oZWFkZXIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgZmxleDogbm9uZTsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctdGFiLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5ID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3Mge1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgICAgICAgIG9wYWNpdHk6IDAuMjsgfVxcbiAgICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLXByZXYtYnRuLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biB7XFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xcbiAgICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctY2hhcnQtc2V0dGluZ3MtcHJldi1idG4gYnV0dG9uLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biBidXR0b24ge1xcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICAgIHRvcDogMDtcXG4gICAgICAgICAgbGVmdDogMDtcXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciB7XFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZywgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZyB7XFxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cXG4gICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCBjYW52YXMge1xcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZGF0YS13cmFwcGVyIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XFxuXFxuLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gIG9wYWNpdHk6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3BhbiB7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XFxuICAgIGZvbnQtc2l6ZTogMjRweDtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgbWFyZ2luOiAycHggMDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcblxcbi5hZy1jaGFydDpob3ZlciAuYWctY2hhcnQtbWVudTpub3QoLmFnLWhhcy1wb3B1cCkge1xcbiAgb3BhY2l0eTogMTtcXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG4gIC5hZy1jaGFydDpob3ZlciAuYWctY2hhcnQtbWVudTpub3QoLmFnLWhhcy1wb3B1cCk6aG92ZXIgPiBzcGFuIHtcXG4gICAgb3BhY2l0eTogMTsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctdGFiLWJvZHkge1xcbiAgcGFkZGluZzogMDsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICBtYXJnaW46IDVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgcGFkZGluZzogMCAxMHB4O1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cXG4gICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcblxcbi8qIHRhcmdldHMgSUUxMSBvbmx5ICovXFxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVaZzcvR0pBQUFBRjRBQUFiQkdobFlXUVZNeVFIQUFBY2ZBQUFBRFpvYUdWaEI4SUQrQUFBSExRQUFBQWthRzEwZU5JQUlnTUFBQnpZQUFBQTNHeHZZMkc3cE1JZUFBQWR0QUFBQUhCdFlYaHdBRVFBbFFBQUhpUUFBQUFnYm1GdFpkQ0ZLR0lBQUI1RUFBQUJ3bkJ2YzNRQUF3QUFBQUFnQ0FBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBSEFBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRWNBUlVlQVJjV0JnY09BUlVoTlRNVklUUTJOejRCSnk0Qkp6VWhBeVErWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDFkQWdFQkFRRUNYRDVKU1VtU1NVbitCU1U2QVFFQkFRRUJBd0kxSkVsSlNwSktTVWtrTlFJREFRRUJBUU1DTlNSSlNFbVJTVWhKQWVCQS93QUJkUmtRQ2hnblZnRUFRUDZBQmhzdFpDQXVZZ0lCZ0FPQUFsdytTVWxKa2tsSlNUNWNBZ0VCQVFFQ1hENUpTVW1TU1VsSlBsd0NBUUVCUVRnbVNFbEpra2xKU1NRMUFnTUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCL3dCQUFRRUJJRUlySEVRWElqMGFRSUFtVEJnblJ4OHBSelJGQUFFQVV3QVRBNjBEYlFBbkFBQVRGd2NuTng0QkZ3Y2hFUWNuTng0QkZ3Y25FU0VuTng0QkZ3Y25OeUVSTng0QkZ3Y25OeGNSelVvdWxwWU1GZ3hLQVJOSkxwY21TeVl1U1FFVFNpNGxUQ1dXTGtyKzdVa01GZ3lYbHk1SkFhQkpMcGVYREJZTVNRRVRTaTZXSlV3bExrcis3VWt1SmtzbWx5NUovdTFLREJZTWxwWXVTZ0VUQUFBQkFTa0FtUUxYQXVjQUNnQUFBUWNuTng0QkZ3Y25FU01CNElrdTF6WnJOaTZKUUFKc2lTM1hObXMyTFluK0xRQURBSUFBUUFPQUEwQUFHd0EzQUVZQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJFemNlQVJjSEZ3Y25CeWMzSnpjWEFnQlBSa1pwSGg0ZUhtbEdSazlQUmtacEhoNGVIbWxHUms5Q096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPMEtwREJZTXFxb3VxYWt1cXFvdXFRTkFIaDVwUmtaUFQwWkdhUjRlSGg1cFJrWlBUMFpHYVI0ZVFCa1pWem83UWtJN09sY1pHUmtaVnpvN1FrSTdPbGNaR2Y3dHFnd1dES21wTHFxcUxxbXBMcW9BQXdEVkFKVURLd0xyQUFRQUNRQU5BQUFUTXhFakVUY3pFU01SRXpNUkk5V0FnTzk0ZU85NGVBSTMvbDRCb3JUOXFnSlcvcXIvQUFBREFBRC93QVFBQThBQUVBQWhBQ2tBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlqRXlFaUJoVVJGQll6SVRJMk5SRTBKaU1IQVNjM0Z3RWVBUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMZ3orVk5Bem5RRjVEUnBBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgzL2xQUk5KMEJlQTBhQUFBQUF3QUEvOEFFQUFQQUFCQUFJUUFsQUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hNQXYxdExVRkJMUUtUTFVGQUxpWDl0Z0pLUUd4TUFwQk1iR3hNL1hCTWJBTzVRUzM5YlM1QVFDNENreTFCL2lKS0FBQUFBZ0FBLzhBRUFBUEFBQkFBSVFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtSXdOSVRHeHNUUDF3VEd4c1RBS1FBdjF0TFVGQkxRS1RMVUZBTGdQQWJFejljRXhzYkV3Q2tFeHNSMEV0L1cwdVFFQXVBcE10UVFBQ0FNQUFvQUhBQXVBQUNRQVBBQUFsSVJFaEZCVWNBUlVVQXhFekVTb0JBY0QvQUFFQXdJQWdRS0FDUUVoSVNKQklTQUc0L2tBQndBQUFBQUFFQU1BQW9BTkFBdUFBQXdBSEFBc0FEd0FBSlNNUk14TWpFVE1USXhFekFTTVJNd0hBUUVEQVFFREFRRUQ5d0VCQW9BSkEvY0FDUVAzQUFrRDl3QUpBQUFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUF3Q2dBRUFEWUFOQUFCQUFJQUF6QUFBbEl5SW1OUkUwTmpzQk1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lCSXp3Qk5SRTBOak1oT2dFekZTRWlCaFVSQXI3N1EyQmdRL3REWDE5REJmNzlKemMzSndFREp6YzMvZmRCWDBNQm1nRUNBZjVkSmpaQVgwUUJPa05nWUVQK3hrUmZBa0E0SnY2N0p6YzNKd0ZGSmpqK0FBRUVBZ0lYUTE5QU5pYjkzQUFBQUFBQkFTa0E2UUxYQXBjQURnQUFBVGNlQVJjSEZ3Y25CeWMzSnpjWEFnQ3BEQllNcXFvdXFha3VxcW91cVFIdHFnd1dES21wTHFxcUxxbXBMcW9BQUFBQUJRQkFBQUFEd0FPQUFDVUFNZ0EvQUVzQVVRQUFBVDRCTlRRbUl5SUdGUlFXTXpJMk54Y0hMZ0VqSWdZVkZCWXpNalkxTkNZbk53RXpOUUVISWlZMU5EWXpNaFlWRkFZakVTSW1OVFEyTXpJV0ZSUUdJd0VpSmpVME5qTXlGaFVVQmdrQkZ3RTFJd0dXQ0FocFNrcHBhVW9VSlJGcGFSRWxGRXBwYVVwS2FRZ0lhZ0U2aHYzV295VTBOQ1VsTlRVbEpUUTBKU1UxTlNVQkRRa05EUWtKRFEwQk1mN3pXUUU2aGdLREVTVVVTbWxwU2twcENBaHFhZ2dJYVVwS2FXbEtGQ1VSYWY3SExRSXBFRFVsSlRRMEpTVTEvZWMwSlNVMU5TVWxOQUZRRFFrSkRRMEpDUTBCcWY3eldRRTVMUUFBQndDR0FGWURlZ01xQUFzQUR3QWJBQ2dBTEFBNEFEd0FBRGNpQmhVVUZqTXlOalUwSmdVMUlSVURJZ1lWRkJZek1qWTFOQ1lITWhZVkZBWWpJaVkxTkRZekJTRTFJUUV5RmhVVUJpTWlKalUwTmdVaE5TSEdHaVltR2hzbEpRS1ovZWFhR2lZbUdoc2xKUnNTR1JrU0VSa1pFUUlKL3BFQmIvMzNHeVVsR3hvbUpnTE8vZVlDR3RZbUdoc2xKUnNhSm10VlZRR1ZKaG9hSmlZYUdpWVZHUklTR1JrU0VobFdWZ0UvSlJzYUppWWFHeVZxVlFBQUFBRUJLUUNaQXRjQzV3QUtBQUFCTng0QkZ3Y25OeGNSTXdJZ2lRd1dETmZYTG9sQUFSU0pDeGNMMTljdGlRSFRBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBVUFRd0J6QTcwRERRQXNBRW9BYUFCekFIMEFBQUUrQVRjNkFUTVdGeDRCRnhZWE1BWUhEZ0VIRndjbkJnY0dKaWNtSnk0Qkp5NEJKekEyTno0Qk55YzNGd2NPQVE4QkZoY2VBUmNXTno0Qk55Y09BU01pSnk0Qkp5WTFORFkzSndFK0FUOEJKaWN1QVNjbUJ3NEJCeGMrQVRNeUZ4NEJGeFlWRkFZSEZ3RU9BUlVVRmpNeU5qY25CVDRCTlRRbUl5SUdCd0VxTDJnMkJ3UUhTRU5DY2kwdEd6a3VFQ1FUUGkxTE9VQkFnRDQ5TlNsRUdRb1BDaVViRnpjZ1BpMUtDakZPR0FFZE56ZUpURXhJQ3hZS0hSeEVKaThvS1QwU0VSY1ZNQUhCTVUwWUFSZ25LR1U3T3o0cFVDVWtIRVFtTGlrcFBSRVNHQlVxL3AwTURsNUNHQzBUM2dFTERRNWVRaGtzRXdMRUZ4c0NBaGdYVWprNFJIWXdFUjROUGkxTEhBME1DQlVWSmg1S0xCRWlHRk1rSHpZV1BpMUpVU0ZaTndKRk5UVS9Cd2NYQkFnRkhSVVlFaEk4S1NrdUprUWNNZjZaSVZvM0FqZ3VMa0VTRWdFQkV4RWpGUmNSRWowcEtDOGxSUndxQVFnVExCbENYZzROM2JBVExSaERYUTRNQUFRQVF3Q1pBNzBDOWdBa0FFTUFZQUJ6QUFBQkZoY2VBUmNXRnpBR0J3WUhEZ0VuSmljdUFTY3VBU2N3TmpjMk56NEJOelkzT2dFekJ3WUhEZ0VIQmc4QkZoY2VBUmNXTnpZM1BnRTNOajhCSmljdUFTY21JeGN5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RnpBME1UUW1JeUlHSFFFVUZqTXlOalV3TkFJSlNFTkNjaTB0R3prdU9rNU9xRk5VUlNsRUdRb1BDaVViSUNrcVlEVTFOd2NFQnhFN09EZGdKeVlZQVIwM040bE1URWdxSlNaQUdob1NBUmduS0dVN096NElMU2duT3hFU0VoRTdKeWd0TFNnbk94RVNFaEU3SnlndG9GNUNRbDVlUWtKZUF2WUNHQmRTT1RoRWRqQTlJeVFRRlJReUhrb3NFU0lZVXlRckl5TXlEZzRDUUFJU0UwQXRMRFlDUlRVMVB3Y0hGdzBXRmpzakl5Z0RPQzR0UWhJUkh4RVJPeWNvTFMwb0p6c1NFUkVTT3ljb0xTMG9KenNSRWRnQlFsNWVRZ0pDWGw1Q0FRQUFBQUFDQU1BQW9BTkFBd0FBSFFBN0FBQUJCZ2NPQVFjR0J3NEJIUUVITkRZbk5DWW5KaWN1QVNjbUp6VWhIQUVGRkJZWEZoY2VBUmNXRnhVM05UWTNQZ0UzTmpjK0FUVWlJeW9CSXlJRFFBRVdGVUVsSmlBRUJNQUNBZ1VESVNVbVFCWVZBUUtBL2NBRUJDRWxKa0FXRlFGQUFSWVZRU1VtSUFRRVFFQkFnRUJBQXJvZ0h4OC9JQ0FpQlFzR2RaQkNnMElHQ2dRaUlTSkFIaDhkUmhFakRBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBVUFEd0FBQVNFMUlSd0JKUlVoTlNJaktnRWpJZ09BL1FBREFQMUFBb0JRVUZDZ1VGQUJZTUF3WUZCQVFBQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQ0FFQUFvQVBBQXVBQUNnQVdBQUFCTng0QkZ3Y25OeGNSTXdFakVRY25OeDRCRndjbkVRRkJrQXdYRE9EZ0w1QkNBY0JDa0MvZ09IQTRMNUFCR0lZTEZndlMwaXlHQWNqOXdBSEloaXpTTkdrMUxJYitPQUFBQmdCMkFFQURpd05MQUJ3QU1nQkJBRk1BWWdCdUFBQUJGaGNlQVJjV0J3WUhEZ0VuSmljbUp5NEJOelkzTmpjK0FUYzJGd2NHQnc0QkJ3WVhGaGNlQVRjMk56WW5MZ0VuSmdjWEZnY09BUWNHSnk0Qkx3RUJIZ0VCRmpjK0FUYzJOelltSndZSERnRUhCZ2NUTWhZZkFRRW1KeVkyTnpZM09nRUhCZ2NPQVFjR0Z3RXVBUWNDQm1KVlZXc09EUzBuVGsyM1hWNUhMeDRlRndnSUhCa25KbDgzTnprS1UwZElXZ29MSnloVFU3bFZWUzBsQ2dsWVNVbGM4eU1JQ0UxQVFVNGNOQmdvQVlNR0MvN1lLQ2txU1J3YkRBZ0JDU0VnSVVFaElDRkRJVUFkS2Y1OUpRVUdNamc0V0FRS0JqQXFLamNLQ2c0QkJoRWlFZ05MQWpVMXBHVmtZRlEzTnlVVkZFTXJPVHArUUVBNk1pb3BPaEFRQVVBQkxTMk1WVlJSVXkwdEJDb3JYRXhWVlk4dkxnSE5RRXBKZXlVbUNBSVJEUllCZ3dvVS9xME1CUVVuSUI4cEhqMGRJQ0VoUVNFZ0lRSFdFUkFXL254QlMweUNMaTBHUUFJWkdVMHdMeTRCQlFVRkFRQUFBQUFEQUlBQU1BT0FBMUFBR2dBbUFEb0FBQUUwSmlNaUJoVXFBU01pQmhVUkZCWXpJVEkyTlJFMEppTXFBUWN5RmhVVUJpTWlKalUwTmdFaElpWTFFVFEyT3dFVklUVXpNaFlWRVJRR0FvQTRTRWc0SUVBZ05VdExOUUlBTlV0TE5TQkFvQklaR1JJU0dSa0JFdjRBR2lZbUdrQUJnRUFhSmlZQzhCaElTQmhMTmY1QU5VdExOUUhBTlVzUkdCRVJHQmdSRVJqOWtTWWFBY0FhSm9DQUpocitRQm9tQUFJQWNBQXdBNUFEVUFBb0FFQUFBQUVuTURZM1BnRVhOeVkzUGdFM05qRVdGeDRCRnhZWERnRUhEZ0VuQng0QkZ4WUdEd0VuQnljM0FRNEJId0VISmdZSEFUNEJOelltSnpjd0ZqY25NQVl4QVZtVkJnOGhjVEJsQ1JBUUxCUVVKU1FsU1NVbEpBVUxCUnBGS21vQkFRSURLQzhZbXVrdDZRRUlFUm9LRUtBd1loTUJJUUlFQWg0SEI1bzZKTm9CQVVlVkp4VXREd2xqSEIwZExnOFBKU1VrU2lVa0pRY09CeU12QjJjSkFSc3pZQmdNbXVvdTZRRzJEaVlQRjU4TUFoNyszd0lEQWhwV0xKb1JLdGtCQUFBS0FELy8vd1BCQTRFQUp3QTdBRWNBWVFCbkFHNEFld0NHQUl3QWtnQUFBUjRCRnhZVkZoUUhGQWNPQVFjR0l3WWlKeUluTGdFbkpqVW1ORGMwTno0Qk56WXpOaklYTWhNaEVSWXpGalkzTmpjK0FUYzJOejRCSnpRbkFSUVdGUjRCRnpJV016VWpBUWNuTng0QkZ3Y25GUTRCQnlNWEJ5YzNIZ0VYQnhZMk56VUZGQllWTXpVbkJoUUhNelVqTnlvQkl5SUdCeFFHRlRNMU15VVZNelFtTlM0Qkp5SW1KUVlpQnhVek55WWlJeFV6QXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW1vL2JvOVBUMTZQVDA5SkRVQ0FnSUJBUUVDL1B3QkFqVWtDQkFJZkFKQkNTNVhGaXNXTGdrQlhEOTNDaTVXVmd3V0RBdFJnZ0g5dkFGK2ZRRUJmMzIvR0M0WEpUb0JBWHhDQWNkOUFRSTFKQWdRL3ZNaFFTQ0N3eUJCSVlJRGdBSmNQa2xKU1pKSlNVaytYQUlCQVFFQkFsdytTVWxKa2tsSlNUNWNBZ0VCQWY4QS9id0NBUUVCQWdJQ05TUTlQVHg2UFQwOC9qd0pFUWdrTlFJQmZnRVdDaTVXRlN3VkxncHpQMThDQ1M1WFZ3d1dEQW9CSFVWelZDRkFJSUhDSVVBaGd2ODRKaGd3R1VGL2Z3a1JDU1ExQWdFQ0FRRi9nQUdCQUFBQ0FLQUFZQU5nQXlBQURRQWJBQUFCSVJVaEVTTVJJVFVoRVRNY0FTY1JJUlVoRVRNUklUVWhFU29CQW1BQkFQOEF3UDhBQVFEQWdQOEFBUUJBQVFEL0FCQWdBaURBL3dBQkFNQUJBRUNBZ1A4QVFQOEFBUUJBQVFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUFnQUEvOEFFQUFQQUFCc0FOd0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZQ0FHcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYWwxUlVub2pJeU1qZWxKUlhWMVJVbm9qSXlNamVsSlJBOEFvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BxWFYyTEtTaEFJeU42VWxGZFhWRlNlaU1qSXlONlVsRmRYVkZTZWlNakFBTUFBUC9BQkFBRHdBQWJBRGNBVXdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dBZ0JxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcGRVVko2SXlNakkzcFNVVjFkVVZKNkl5TWpJM3BTVVFHZEdSbFhPanRDUWpzNlZ4a1pHUmxYT2p0Q1FqczZWeGtaQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWova0JDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtaR1ZjNk93QUFBQUFDQUhrQWt3T0hBdTBBRGdBWkFBQUpBU2MzSVRVaEp6Y1dGeDRCRnhZbEZ5RVZJUWNYTnljT0FRT0gvdEtOUVA1dEFaTkFqU1ltSlV3bEp2N0dnUDRTQWU2QU10UFREQm9Cd1A3VGpVREFRSTBsSmlaTEppVjZnRUNBTTlQVERSa0FBQUFBQWdDQUFFQURnQU5BQUE0QUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFakJUY1hCeWMzRnhFekVRTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBQUVBNlFFZUF4Y0NZZ0FIQUFBSkFqY1hOeDRCQXhmKzZmN3BMdW5wREJZQ05mN3BBUmN0NmVrTEZ3QUFBUUZlQUtrQ29nTFhBQWNBQUFFSEZ3Y0pBUjRCQXFMcDZTMys2UUVYQ3hjQ3FlbnBMZ0VYQVJjTUZnQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQkFPa0JIZ01YQW1JQUN3QUFBUWNuQnljQkZoY2VBUmNXQXhjdTZla3VBUmNqSXlKR0l5TUJTeTNwNlMwQkZ5TWpJMFVqSXdBQUFBRUE2UUR1QXhjQ2tnQUhBQUFKQVNjM0Z3RWVBUU1YL29tM0xva0JTUXdXQW1YK2liY3RpUUZKQ3hjQUFRRmVBS2tDb2dMWEFBd0FBQWtCSnpjbk54WVhIZ0VYRmhjQ292N3BMZW5wTFNNakkwVWpJeU1Cd1A3cEx1bnBMaU1qSTBZaUl5TUFBQUFBQVFEQUFhQURRQUhnQUFNQUFCTWhGU0hBQW9EOWdBSGdRQUFBQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFBQUFBRUFBTnlZOTlOZkR6ejFBQXNFQUFBQUFBRFpDZS9GQUFBQUFOa0o3OFVBQVAvQUJBQUR3QUFBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFFQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBTndRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFBL0JBQUFVd1FBQVNrRUFBQ0FCQUFBMVFRQUFBQUVBQUFBQkFBQUFBUUFBTUFFQUFEQUJBQUJYZ1FBQUtBRUFBRXBCQUFBUUFRQUFJWUVBQUVwQkFBQlhnUUFBRU1FQUFCREJBQUF3QVFBQVBVRUFBREFCQUFBUHdRQUFFTUVBQUQxQkFBQWVRUUFBR0FFQUFEeEJBQUF3QVFBQU1zRUFBQ0FCQUFCWGdRQUFFQUVBQUIyQkFBQWdBUUFBSEFFQUFBL0JBQUFvQVFBQVY0RUFBQUFCQUFBQUFRQUFIa0VBQUNBQkFBQTZRUUFBVjRFQUFGZUJBQUE2UVFBQU9rRUFBRmVCQUFBd0FRQUFPa0FBQUFBQUFvQUZBQWVBTVFCQ0FFZ0FZNEJxZ0h1QWlvQ1hnSjhBcDRDdEFNQUF5QURtQVAwQkF3RUtnVHFCWlFGOEFZT0JsZ0crZ2VrQjhnSDlnaEFDR0FJZWdpY0NMZ0kxZ2tDQ2JvS0RBcDBDMHdMZWd1UUMrWU1aZ3lZRE1RTTJnendEUTROS2cxQURWNE5iQTJDQUFFQUFBQTNBSk1BREFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBTUFBQUFBUUFBQUFBQUFnQUhBSTBBQVFBQUFBQUFBd0FNQUVVQUFRQUFBQUFBQkFBTUFLSUFBUUFBQUFBQUJRQUxBQ1FBQVFBQUFBQUFCZ0FNQUdrQUFRQUFBQUFBQ2dBYUFNWUFBd0FCQkFrQUFRQVlBQXdBQXdBQkJBa0FBZ0FPQUpRQUF3QUJCQWtBQXdBWUFGRUFBd0FCQkFrQUJBQVlBSzRBQXdBQkJBa0FCUUFXQUM4QUF3QUJCQWtBQmdBWUFIVUFBd0FCQkFrQUNnQTBBT0JoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFXWlhKemFXOXVJREV1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQmhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMWhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMVNaV2QxYkdGeUFGSUFaUUJuQUhVQWJBQmhBSEpoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYmFsaGFtLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgY29sb3I6ICNGNUY1RjU7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwQjBGRjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZDM0MzY7XFxuICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICogKjpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogIzQzYTA0NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiAjZTUzOTM1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSk7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzNiwgMjQwLCAyNDEsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzYsIDI0MCwgMjQxLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyYzJlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMEIwRkY7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDc0OTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjM0MjQyNDInJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjRweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWMxZjIwO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC42NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTZweDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTg4MDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDUsIDE2NiwgMjU1LCAwLjUpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMTc3LCA3NCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgICB3aWR0aDogMjAwcHg7XFxuICAgICAgaGVpZ2h0OiAxODJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ODgwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNjQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzIzOTNjO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAwLjY0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSkgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICNGNUY1RjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwNTA1OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMzNDM5M2I7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxOTFhOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjRjVGNUY1O1xcbiAgICBmb250LXNpemU6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcbiAgICBjb2xvcjogI2VjZjBmMTtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRiAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDgwJTtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBjb250ZW50OiBcXFwiIFxcXCI7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgbWFyZ2luLXRvcDogOHB4O1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRleHQtaW5kZW50OiAtMjAwMHB4O1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzVjNWM1YzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBib3JkZXItY29sb3I6ICMwMDU4ODA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1pbi1oZWlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBoZWlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1pY29uLWV4cGFuZGVkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWljb24tY29udHJhY3RlZCB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGV0YWlscy1yb3cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgcGFkZGluZzogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGlucHV0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIHNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjJjMmU7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVaZzcvR0pBQUFBRjRBQUFiQkdobFlXUVZNeVFIQUFBY2ZBQUFBRFpvYUdWaEI4SUQrQUFBSExRQUFBQWthRzEwZU5JQUlnTUFBQnpZQUFBQTNHeHZZMkc3cE1JZUFBQWR0QUFBQUhCdFlYaHdBRVFBbFFBQUhpUUFBQUFnYm1GdFpkQ0ZLR0lBQUI1RUFBQUJ3bkJ2YzNRQUF3QUFBQUFnQ0FBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBSEFBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRWNBUlVlQVJjV0JnY09BUlVoTlRNVklUUTJOejRCSnk0Qkp6VWhBeVErWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDFkQWdFQkFRRUNYRDVKU1VtU1NVbitCU1U2QVFFQkFRRUJBd0kxSkVsSlNwSktTVWtrTlFJREFRRUJBUU1DTlNSSlNFbVJTVWhKQWVCQS93QUJkUmtRQ2hnblZnRUFRUDZBQmhzdFpDQXVZZ0lCZ0FPQUFsdytTVWxKa2tsSlNUNWNBZ0VCQVFFQ1hENUpTVW1TU1VsSlBsd0NBUUVCUVRnbVNFbEpra2xKU1NRMUFnTUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCL3dCQUFRRUJJRUlySEVRWElqMGFRSUFtVEJnblJ4OHBSelJGQUFFQVV3QVRBNjBEYlFBbkFBQVRGd2NuTng0QkZ3Y2hFUWNuTng0QkZ3Y25FU0VuTng0QkZ3Y25OeUVSTng0QkZ3Y25OeGNSelVvdWxwWU1GZ3hLQVJOSkxwY21TeVl1U1FFVFNpNGxUQ1dXTGtyKzdVa01GZ3lYbHk1SkFhQkpMcGVYREJZTVNRRVRTaTZXSlV3bExrcis3VWt1SmtzbWx5NUovdTFLREJZTWxwWXVTZ0VUQUFBQkFTa0FtUUxYQXVjQUNnQUFBUWNuTng0QkZ3Y25FU01CNElrdTF6WnJOaTZKUUFKc2lTM1hObXMyTFluK0xRQURBSUFBUUFPQUEwQUFHd0EzQUVZQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJFemNlQVJjSEZ3Y25CeWMzSnpjWEFnQlBSa1pwSGg0ZUhtbEdSazlQUmtacEhoNGVIbWxHUms5Q096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPMEtwREJZTXFxb3VxYWt1cXFvdXFRTkFIaDVwUmtaUFQwWkdhUjRlSGg1cFJrWlBUMFpHYVI0ZVFCa1pWem83UWtJN09sY1pHUmtaVnpvN1FrSTdPbGNaR2Y3dHFnd1dES21wTHFxcUxxbXBMcW9BQXdEVkFKVURLd0xyQUFRQUNRQU5BQUFUTXhFakVUY3pFU01SRXpNUkk5V0FnTzk0ZU85NGVBSTMvbDRCb3JUOXFnSlcvcXIvQUFBREFBRC93QVFBQThBQUVBQWhBQ2tBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlqRXlFaUJoVVJGQll6SVRJMk5SRTBKaU1IQVNjM0Z3RWVBUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMZ3orVk5Bem5RRjVEUnBBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgzL2xQUk5KMEJlQTBhQUFBQUF3QUEvOEFFQUFQQUFCQUFJUUFsQUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hNQXYxdExVRkJMUUtUTFVGQUxpWDl0Z0pLUUd4TUFwQk1iR3hNL1hCTWJBTzVRUzM5YlM1QVFDNENreTFCL2lKS0FBQUFBZ0FBLzhBRUFBUEFBQkFBSVFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtSXdOSVRHeHNUUDF3VEd4c1RBS1FBdjF0TFVGQkxRS1RMVUZBTGdQQWJFejljRXhzYkV3Q2tFeHNSMEV0L1cwdVFFQXVBcE10UVFBQ0FNQUFvQUhBQXVBQUNRQVBBQUFsSVJFaEZCVWNBUlVVQXhFekVTb0JBY0QvQUFFQXdJQWdRS0FDUUVoSVNKQklTQUc0L2tBQndBQUFBQUFFQU1BQW9BTkFBdUFBQXdBSEFBc0FEd0FBSlNNUk14TWpFVE1USXhFekFTTVJNd0hBUUVEQVFFREFRRUQ5d0VCQW9BSkEvY0FDUVAzQUFrRDl3QUpBQUFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUF3Q2dBRUFEWUFOQUFCQUFJQUF6QUFBbEl5SW1OUkUwTmpzQk1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lCSXp3Qk5SRTBOak1oT2dFekZTRWlCaFVSQXI3N1EyQmdRL3REWDE5REJmNzlKemMzSndFREp6YzMvZmRCWDBNQm1nRUNBZjVkSmpaQVgwUUJPa05nWUVQK3hrUmZBa0E0SnY2N0p6YzNKd0ZGSmpqK0FBRUVBZ0lYUTE5QU5pYjkzQUFBQUFBQkFTa0E2UUxYQXBjQURnQUFBVGNlQVJjSEZ3Y25CeWMzSnpjWEFnQ3BEQllNcXFvdXFha3VxcW91cVFIdHFnd1dES21wTHFxcUxxbXBMcW9BQUFBQUJRQkFBQUFEd0FPQUFDVUFNZ0EvQUVzQVVRQUFBVDRCTlRRbUl5SUdGUlFXTXpJMk54Y0hMZ0VqSWdZVkZCWXpNalkxTkNZbk53RXpOUUVISWlZMU5EWXpNaFlWRkFZakVTSW1OVFEyTXpJV0ZSUUdJd0VpSmpVME5qTXlGaFVVQmdrQkZ3RTFJd0dXQ0FocFNrcHBhVW9VSlJGcGFSRWxGRXBwYVVwS2FRZ0lhZ0U2aHYzV295VTBOQ1VsTlRVbEpUUTBKU1UxTlNVQkRRa05EUWtKRFEwQk1mN3pXUUU2aGdLREVTVVVTbWxwU2twcENBaHFhZ2dJYVVwS2FXbEtGQ1VSYWY3SExRSXBFRFVsSlRRMEpTVTEvZWMwSlNVMU5TVWxOQUZRRFFrSkRRMEpDUTBCcWY3eldRRTVMUUFBQndDR0FGWURlZ01xQUFzQUR3QWJBQ2dBTEFBNEFEd0FBRGNpQmhVVUZqTXlOalUwSmdVMUlSVURJZ1lWRkJZek1qWTFOQ1lITWhZVkZBWWpJaVkxTkRZekJTRTFJUUV5RmhVVUJpTWlKalUwTmdVaE5TSEdHaVltR2hzbEpRS1ovZWFhR2lZbUdoc2xKUnNTR1JrU0VSa1pFUUlKL3BFQmIvMzNHeVVsR3hvbUpnTE8vZVlDR3RZbUdoc2xKUnNhSm10VlZRR1ZKaG9hSmlZYUdpWVZHUklTR1JrU0VobFdWZ0UvSlJzYUppWWFHeVZxVlFBQUFBRUJLUUNaQXRjQzV3QUtBQUFCTng0QkZ3Y25OeGNSTXdJZ2lRd1dETmZYTG9sQUFSU0pDeGNMMTljdGlRSFRBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBVUFRd0J6QTcwRERRQXNBRW9BYUFCekFIMEFBQUUrQVRjNkFUTVdGeDRCRnhZWE1BWUhEZ0VIRndjbkJnY0dKaWNtSnk0Qkp5NEJKekEyTno0Qk55YzNGd2NPQVE4QkZoY2VBUmNXTno0Qk55Y09BU01pSnk0Qkp5WTFORFkzSndFK0FUOEJKaWN1QVNjbUJ3NEJCeGMrQVRNeUZ4NEJGeFlWRkFZSEZ3RU9BUlVVRmpNeU5qY25CVDRCTlRRbUl5SUdCd0VxTDJnMkJ3UUhTRU5DY2kwdEd6a3VFQ1FUUGkxTE9VQkFnRDQ5TlNsRUdRb1BDaVViRnpjZ1BpMUtDakZPR0FFZE56ZUpURXhJQ3hZS0hSeEVKaThvS1QwU0VSY1ZNQUhCTVUwWUFSZ25LR1U3T3o0cFVDVWtIRVFtTGlrcFBSRVNHQlVxL3AwTURsNUNHQzBUM2dFTERRNWVRaGtzRXdMRUZ4c0NBaGdYVWprNFJIWXdFUjROUGkxTEhBME1DQlVWSmg1S0xCRWlHRk1rSHpZV1BpMUpVU0ZaTndKRk5UVS9Cd2NYQkFnRkhSVVlFaEk4S1NrdUprUWNNZjZaSVZvM0FqZ3VMa0VTRWdFQkV4RWpGUmNSRWowcEtDOGxSUndxQVFnVExCbENYZzROM2JBVExSaERYUTRNQUFRQVF3Q1pBNzBDOWdBa0FFTUFZQUJ6QUFBQkZoY2VBUmNXRnpBR0J3WUhEZ0VuSmljdUFTY3VBU2N3TmpjMk56NEJOelkzT2dFekJ3WUhEZ0VIQmc4QkZoY2VBUmNXTnpZM1BnRTNOajhCSmljdUFTY21JeGN5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RnpBME1UUW1JeUlHSFFFVUZqTXlOalV3TkFJSlNFTkNjaTB0R3prdU9rNU9xRk5VUlNsRUdRb1BDaVViSUNrcVlEVTFOd2NFQnhFN09EZGdKeVlZQVIwM040bE1URWdxSlNaQUdob1NBUmduS0dVN096NElMU2duT3hFU0VoRTdKeWd0TFNnbk94RVNFaEU3SnlndG9GNUNRbDVlUWtKZUF2WUNHQmRTT1RoRWRqQTlJeVFRRlJReUhrb3NFU0lZVXlRckl5TXlEZzRDUUFJU0UwQXRMRFlDUlRVMVB3Y0hGdzBXRmpzakl5Z0RPQzR0UWhJUkh4RVJPeWNvTFMwb0p6c1NFUkVTT3ljb0xTMG9KenNSRWRnQlFsNWVRZ0pDWGw1Q0FRQUFBQUFDQU1BQW9BTkFBd0FBSFFBN0FBQUJCZ2NPQVFjR0J3NEJIUUVITkRZbk5DWW5KaWN1QVNjbUp6VWhIQUVGRkJZWEZoY2VBUmNXRnhVM05UWTNQZ0UzTmpjK0FUVWlJeW9CSXlJRFFBRVdGVUVsSmlBRUJNQUNBZ1VESVNVbVFCWVZBUUtBL2NBRUJDRWxKa0FXRlFGQUFSWVZRU1VtSUFRRVFFQkFnRUJBQXJvZ0h4OC9JQ0FpQlFzR2RaQkNnMElHQ2dRaUlTSkFIaDhkUmhFakRBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBVUFEd0FBQVNFMUlSd0JKUlVoTlNJaktnRWpJZ09BL1FBREFQMUFBb0JRVUZDZ1VGQUJZTUF3WUZCQVFBQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQ0FFQUFvQVBBQXVBQUNnQVdBQUFCTng0QkZ3Y25OeGNSTXdFakVRY25OeDRCRndjbkVRRkJrQXdYRE9EZ0w1QkNBY0JDa0MvZ09IQTRMNUFCR0lZTEZndlMwaXlHQWNqOXdBSEloaXpTTkdrMUxJYitPQUFBQmdCMkFFQURpd05MQUJ3QU1nQkJBRk1BWWdCdUFBQUJGaGNlQVJjV0J3WUhEZ0VuSmljbUp5NEJOelkzTmpjK0FUYzJGd2NHQnc0QkJ3WVhGaGNlQVRjMk56WW5MZ0VuSmdjWEZnY09BUWNHSnk0Qkx3RUJIZ0VCRmpjK0FUYzJOelltSndZSERnRUhCZ2NUTWhZZkFRRW1KeVkyTnpZM09nRUhCZ2NPQVFjR0Z3RXVBUWNDQm1KVlZXc09EUzBuVGsyM1hWNUhMeDRlRndnSUhCa25KbDgzTnprS1UwZElXZ29MSnloVFU3bFZWUzBsQ2dsWVNVbGM4eU1JQ0UxQVFVNGNOQmdvQVlNR0MvN1lLQ2txU1J3YkRBZ0JDU0VnSVVFaElDRkRJVUFkS2Y1OUpRVUdNamc0V0FRS0JqQXFLamNLQ2c0QkJoRWlFZ05MQWpVMXBHVmtZRlEzTnlVVkZFTXJPVHArUUVBNk1pb3BPaEFRQVVBQkxTMk1WVlJSVXkwdEJDb3JYRXhWVlk4dkxnSE5RRXBKZXlVbUNBSVJEUllCZ3dvVS9xME1CUVVuSUI4cEhqMGRJQ0VoUVNFZ0lRSFdFUkFXL254QlMweUNMaTBHUUFJWkdVMHdMeTRCQlFVRkFRQUFBQUFEQUlBQU1BT0FBMUFBR2dBbUFEb0FBQUUwSmlNaUJoVXFBU01pQmhVUkZCWXpJVEkyTlJFMEppTXFBUWN5RmhVVUJpTWlKalUwTmdFaElpWTFFVFEyT3dFVklUVXpNaFlWRVJRR0FvQTRTRWc0SUVBZ05VdExOUUlBTlV0TE5TQkFvQklaR1JJU0dSa0JFdjRBR2lZbUdrQUJnRUFhSmlZQzhCaElTQmhMTmY1QU5VdExOUUhBTlVzUkdCRVJHQmdSRVJqOWtTWWFBY0FhSm9DQUpocitRQm9tQUFJQWNBQXdBNUFEVUFBb0FFQUFBQUVuTURZM1BnRVhOeVkzUGdFM05qRVdGeDRCRnhZWERnRUhEZ0VuQng0QkZ4WUdEd0VuQnljM0FRNEJId0VISmdZSEFUNEJOelltSnpjd0ZqY25NQVl4QVZtVkJnOGhjVEJsQ1JBUUxCUVVKU1FsU1NVbEpBVUxCUnBGS21vQkFRSURLQzhZbXVrdDZRRUlFUm9LRUtBd1loTUJJUUlFQWg0SEI1bzZKTm9CQVVlVkp4VXREd2xqSEIwZExnOFBKU1VrU2lVa0pRY09CeU12QjJjSkFSc3pZQmdNbXVvdTZRRzJEaVlQRjU4TUFoNyszd0lEQWhwV0xKb1JLdGtCQUFBS0FELy8vd1BCQTRFQUp3QTdBRWNBWVFCbkFHNEFld0NHQUl3QWtnQUFBUjRCRnhZVkZoUUhGQWNPQVFjR0l3WWlKeUluTGdFbkpqVW1ORGMwTno0Qk56WXpOaklYTWhNaEVSWXpGalkzTmpjK0FUYzJOejRCSnpRbkFSUVdGUjRCRnpJV016VWpBUWNuTng0QkZ3Y25GUTRCQnlNWEJ5YzNIZ0VYQnhZMk56VUZGQllWTXpVbkJoUUhNelVqTnlvQkl5SUdCeFFHRlRNMU15VVZNelFtTlM0Qkp5SW1KUVlpQnhVek55WWlJeFV6QXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW1vL2JvOVBUMTZQVDA5SkRVQ0FnSUJBUUVDL1B3QkFqVWtDQkFJZkFKQkNTNVhGaXNXTGdrQlhEOTNDaTVXVmd3V0RBdFJnZ0g5dkFGK2ZRRUJmMzIvR0M0WEpUb0JBWHhDQWNkOUFRSTFKQWdRL3ZNaFFTQ0N3eUJCSVlJRGdBSmNQa2xKU1pKSlNVaytYQUlCQVFFQkFsdytTVWxKa2tsSlNUNWNBZ0VCQWY4QS9id0NBUUVCQWdJQ05TUTlQVHg2UFQwOC9qd0pFUWdrTlFJQmZnRVdDaTVXRlN3VkxncHpQMThDQ1M1WFZ3d1dEQW9CSFVWelZDRkFJSUhDSVVBaGd2ODRKaGd3R1VGL2Z3a1JDU1ExQWdFQ0FRRi9nQUdCQUFBQ0FLQUFZQU5nQXlBQURRQWJBQUFCSVJVaEVTTVJJVFVoRVRNY0FTY1JJUlVoRVRNUklUVWhFU29CQW1BQkFQOEF3UDhBQVFEQWdQOEFBUUJBQVFEL0FCQWdBaURBL3dBQkFNQUJBRUNBZ1A4QVFQOEFBUUJBQVFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUFnQUEvOEFFQUFQQUFCc0FOd0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZQ0FHcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYWwxUlVub2pJeU1qZWxKUlhWMVJVbm9qSXlNamVsSlJBOEFvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BxWFYyTEtTaEFJeU42VWxGZFhWRlNlaU1qSXlONlVsRmRYVkZTZWlNakFBTUFBUC9BQkFBRHdBQWJBRGNBVXdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dBZ0JxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcGRVVko2SXlNakkzcFNVVjFkVVZKNkl5TWpJM3BTVVFHZEdSbFhPanRDUWpzNlZ4a1pHUmxYT2p0Q1FqczZWeGtaQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWova0JDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtaR1ZjNk93QUFBQUFDQUhrQWt3T0hBdTBBRGdBWkFBQUpBU2MzSVRVaEp6Y1dGeDRCRnhZbEZ5RVZJUWNYTnljT0FRT0gvdEtOUVA1dEFaTkFqU1ltSlV3bEp2N0dnUDRTQWU2QU10UFREQm9Cd1A3VGpVREFRSTBsSmlaTEppVjZnRUNBTTlQVERSa0FBQUFBQWdDQUFFQURnQU5BQUE0QUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFakJUY1hCeWMzRnhFekVRTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBQUVBNlFFZUF4Y0NZZ0FIQUFBSkFqY1hOeDRCQXhmKzZmN3BMdW5wREJZQ05mN3BBUmN0NmVrTEZ3QUFBUUZlQUtrQ29nTFhBQWNBQUFFSEZ3Y0pBUjRCQXFMcDZTMys2UUVYQ3hjQ3FlbnBMZ0VYQVJjTUZnQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQkFPa0JIZ01YQW1JQUN3QUFBUWNuQnljQkZoY2VBUmNXQXhjdTZla3VBUmNqSXlKR0l5TUJTeTNwNlMwQkZ5TWpJMFVqSXdBQUFBRUE2UUR1QXhjQ2tnQUhBQUFKQVNjM0Z3RWVBUU1YL29tM0xva0JTUXdXQW1YK2liY3RpUUZKQ3hjQUFRRmVBS2tDb2dMWEFBd0FBQWtCSnpjbk54WVhIZ0VYRmhjQ292N3BMZW5wTFNNakkwVWpJeU1Cd1A3cEx1bnBMaU1qSTBZaUl5TUFBQUFBQVFEQUFhQURRQUhnQUFNQUFCTWhGU0hBQW9EOWdBSGdRQUFBQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFBQUFBRUFBTnlZOTlOZkR6ejFBQXNFQUFBQUFBRFpDZS9GQUFBQUFOa0o3OFVBQVAvQUJBQUR3QUFBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFFQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBTndRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFBL0JBQUFVd1FBQVNrRUFBQ0FCQUFBMVFRQUFBQUVBQUFBQkFBQUFBUUFBTUFFQUFEQUJBQUJYZ1FBQUtBRUFBRXBCQUFBUUFRQUFJWUVBQUVwQkFBQlhnUUFBRU1FQUFCREJBQUF3QVFBQVBVRUFBREFCQUFBUHdRQUFFTUVBQUQxQkFBQWVRUUFBR0FFQUFEeEJBQUF3QVFBQU1zRUFBQ0FCQUFCWGdRQUFFQUVBQUIyQkFBQWdBUUFBSEFFQUFBL0JBQUFvQVFBQVY0RUFBQUFCQUFBQUFRQUFIa0VBQUNBQkFBQTZRUUFBVjRFQUFGZUJBQUE2UVFBQU9rRUFBRmVCQUFBd0FRQUFPa0FBQUFBQUFvQUZBQWVBTVFCQ0FFZ0FZNEJxZ0h1QWlvQ1hnSjhBcDRDdEFNQUF5QURtQVAwQkF3RUtnVHFCWlFGOEFZT0JsZ0crZ2VrQjhnSDlnaEFDR0FJZWdpY0NMZ0kxZ2tDQ2JvS0RBcDBDMHdMZWd1UUMrWU1aZ3lZRE1RTTJnendEUTROS2cxQURWNE5iQTJDQUFFQUFBQTNBSk1BREFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBTUFBQUFBUUFBQUFBQUFnQUhBSTBBQVFBQUFBQUFBd0FNQUVVQUFRQUFBQUFBQkFBTUFLSUFBUUFBQUFBQUJRQUxBQ1FBQVFBQUFBQUFCZ0FNQUdrQUFRQUFBQUFBQ2dBYUFNWUFBd0FCQkFrQUFRQVlBQXdBQXdBQkJBa0FBZ0FPQUpRQUF3QUJCQWtBQXdBWUFGRUFBd0FCQkFrQUJBQVlBSzRBQXdBQkJBa0FCUUFXQUM4QUF3QUJCQWtBQmdBWUFIVUFBd0FCQkFrQUNnQTBBT0JoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFXWlhKemFXOXVJREV1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQmhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMWhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMVNaV2QxYkdGeUFGSUFaUUJuQUhVQWJBQmhBSEpoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYmFsaGFtIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogIzAwMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51LCAuYWctdGhlbWUtYmFsaGFtIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOTFFQTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHdoaXRlO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtICo6Zm9jdXMsIC5hZy10aGVtZS1iYWxoYW0gKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogODEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogIzQzYTA0NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSk7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOTVBNUE2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ5LCAxNjUsIDE2NiwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5NUE1QTY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNDksIDE2NSwgMTY2LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNztcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZkZmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjQkRDM0M3O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA5MUVBO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNCREMzQzcnJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y1ZjdmNztcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGhlaWdodDogMzJweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxNnB4O1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24gYnV0dG9uIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgODgsIDI1NSwgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMTMyLCAwLjEpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM4NjkxOTg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgICAgd2lkdGg6IDIwMHB4O1xcbiAgICAgIGhlaWdodDogMTgycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGU0ZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSkgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogIzAwMDtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgxODksIDE5NSwgMTk5LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEwcHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZTBlMjsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmQwZDM7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2NiZDBkMztcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBmb250LXNpemU6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZEJhbGhhbVxcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDE2cHg7XFxuICAgIGNvbG9yOiAjN0Y4QzhEO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yaWdodDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUEgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogODAlO1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTg5LCAxOTUsIDE5OSwgMC41KTtcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0ZXh0LWluZGVudDogLTIwMDBweDtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDo6YWZ0ZXIge1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcC5hZy13aWR0aC1oYWxmOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogI2Q5ZGNkZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWluLWhlaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zaWRlLWJhcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1leHBhbmRlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1jb250cmFjdGVkIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgY29sb3I6ICMwMDA7XFxuICAgIHBhZGRpbmc6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpuYjkwdTRBQUFGNEFBQVVxR2hsWVdRVk15UGRBQUFXSUFBQUFEWm9hR1ZoQjhJRCtBQUFGbGdBQUFBa2FHMTBlTklBRitZQUFCWjhBQUFBM0d4dlkyR1NJcGNrQUFBWFdBQUFBSEJ0WVhod0FFUUFXd0FBRjhnQUFBQWdibUZ0WlNqRzlVc0FBQmZvQUFBQnpuQnZjM1FBQXdBQUFBQVp1QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBREFBQUFTRVhCeUVWSVJNRElSd0JGUU5LL3BONWVRRnQvV3pjM0FLVUFwWFYxYXNCZ0FHQUsxVXJBQUFBQUFFQUFQL0FCQUFEd0FBZ0FBQUJOUWNuTnhjSEp4RWhKemNYQnljM0lSRTNGd2NuTnhjUklSY0hKemNYQnlFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBQUFBQVFDV0FCNERhZ05pQUE4QUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFQnJyRm5BV290TGkxYUxpMHRaN0NsQWtLeFp3RnFMaTB0V3kwdExXZXcvZDBDSkFBQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FrQUNnQUxRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpFUVV6RlNNRE14RWpFUU4vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajltbFZWQVZWVlZhdFdWa0pMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDZyL3RZQktvQ3FBYXIrVmdHcUFBQUFBQU1BQWYrK0EvOER3UUFJQUJrQUtRQUFDUUVuTnhjVEhnRVhFeklXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF5WCs2UDAxcnVnU0poSmFOVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWUFxejkvc3BEaXdHb0NoUUtBUlZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQUFEQUFIL3ZnUC9BOEVBQXdBVUFDUUFBQUVoRlNFQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lCVlFGVy9xb0NLalZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBSVZxZ0pXU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFBQ0FBSC92Z1AvQThFQUVBQWdBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUlBVlFBVkFhc0Rhd0FFQUFnQUFBRVJJUkVoRVJVaE5RR3IvcW9CVnY2cUFtdjlxZ0pXQVFDcnF3QUFCZ0JWQUJVRHF3TnJBQU1BQ0FBTUFCRUFGUUFhQUFBbEZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQnEvNnFBMWIrcWdGVy9nRCtxZ05XL3FvQlZ2NEEvcW9EVnY2cUFWYkFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBQU1BQWYrK0EvOER3UUFRQUNBQUpBQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF4VWhOUU4vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBd0NyQUdzRFZRTVZBQWNBQ3dBUkFBQUJNeEVoTlNNUklSTWhFU0VETlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBYXRWL3FzQkFBQUFBUUJ1QUM0RGtnTlNBQTRBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBUUlBQVJrZVBSNys1d0VaZWY3bi91ZDVBUm4rNTNrQkdRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWG4rNXdBQUFBQURBSGdBMVFPZkF1RUFPQUJHQUZnQUFBRTJOejRCTnpZWEhnRWZBUVlIRGdFSEJnY1dGeDRCRnhZWERnRW5MZ0VuRGdFSEJpY3VBU2NtTno0Qk55NEJOejRCRng0QkZ4NEJGd2NHQnc0QkJ3WTNQZ0UzTURZSEp5SUdCdzRCQndZWEhnRVhGaGMzTGdFakFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFjQU1nQW5BODREV1FBTEFBOEFIQUFnQUMwQU1RQStBQUEzSWdZVkZCWXpNalkxTkNZcEFSVWhBU0lHRlJRV016STJOVFFtSXlFVklUVUhNaFlWRkFZaklpWTFORFl6QVJVaE5TTXlGaFVVQmlNaUpqVTBOak9kTFQ0K0xTdytQZ01GL1ZVQ3EvelBMVDQrTFN3K1Bpd0RNZjFWaGg0c0xCNGZMQ3dmQXpIOVZZWXNQajRzTFQ0K0xmdytMQzArUGkwc1B0VUNCRDhzTEQ4L0xDdy8xdFlnTEI4ZkxDd2ZIeXdCVHRYVlBpMHNQajRzTFQ0QUFBQUJBSllBSXdOcUExMEFDd0FBQVJFNkFUTVJOeGNKQVRjWEFhOHBVaW13Wi82Vy9wWm5zZ0ZEQWhyOTU3Qm4vcFlCYW1leEFBQUFBQU1BQWYrK0EvOER3UUFRQUNBQUxRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUFUVXpGVE1WSXhVak5TTTFNd04vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1kvaHFxcTZ1cXE2c0R3VXMxL1AwMVMwczFBd00xUzFjWUVmei9FUmtaRVFNQkVSaitxNnVycXF1cnFnQUFBQUFEQUNJQWRnUGVBd29BSWdCSEFGRUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOd0UrQVRjd0ppY09BUWNCS0RVbklFSWpTRUpDZHpRekt5cHZRRGRESVE3K3pCNC9IZ29VQ3dFTE5Xc3lVRExyS2lVbE9oUVVCeU0rR2lZeE1uTS9QejgwTGk4dlh5OHZMaUllSHpZWkdCY3JhajhCNHk1TUlEODVDejRzQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHNBQUFBREFDSUFtUVBlQXVnQUhBQTdBRWtBQUFFV0Z4NEJGeFlYQmdjT0FTY21KeVluTGdFbkppYzJOejRCTnpZWEJRNEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KeVVtTkRVakRnRUhGejRCTnpvQkFnbElRa0ozTkRNck8xVlZ4V2xwWXlJZUh6WVpHQmNxTlRSN1JrVk8vdnNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUM2QUlYRjA4Mk5rQlhSVVZJQlFROEZCb2FPaUVnSVQ4M04xRVhGd0d1R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBSUFWUUJBQTZzRFFBQUdBQXNBQUJNaEFSRW5FUUVCRlRNMUkxVURWdjZxcXY2cUFWYXFxZ05BL3F2K1Zhc0JBQUZWL3F0V1ZnQUFBZ0R5QU1BRERnTEFBQU1BQ1FBQUFSRWpFUUVuTnljSkFRRkhWUUljeDhjNS93QUJBQUxBL2dBQ0FQNDV4OGM1L3dEL0FBQUFBQUFNQUt2LzZ3TlZBNVVBQXdBSUFBd0FFQUFWQUJrQUhRQWlBQ1lBS2dBdkFETUFBRGN6RlNNbE14VWpOU0V6RlNNQk14VWpKVE1WSXpVaE14VWpBVE1WSXlVekZTTTFJVE1WSXdFekZTTWxNeFVqTlFVak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFxcW9BQUFVQVZmL3JBNnNEbFFBZUFDSUFKd0FyQUM4QUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlVCSXhVekVTTVZNelVSSXhVekpTTVZNd0dycWdGVy9xcXFxd0ZWQVZiK3F2NnJBVlVCVnY2cS9sWldBVllCcXFxcXFxcXFxdjRBcXFvRFFGWC9BRlpXcWxYL0FGWC9BRmIvQUZVQ1ZRRUFWZjFWVlFHclZsWUJWVlZWVlFBQUFBQURBQmtCRVFQbkFwTUFGZ0FzQURzQUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp3Y21ORFVqRGdFSEZ6NEJOell5TXdJSVBqdzhjak0wTENSZWVubi9mSHRqSkRFNk9YNUVRd0V0SElGU1VvRWNJVDBjQTBwZVhzVmZYMHdESEQ4aW1RRUxSSWM4SlM1bU1Rb1VDd0tUQVF3TUxTRWdLeVJkTlRVUEtpbGZKREluS0RjUEQ0aEhYRnhIRGlZWEF6OGdJUUVnSDBBQ0dDZ09JeFVyRlFFUUhrd1dEUUlCQUFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FiQUNVQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTURNemMxSnlNSEZSNEJBbFdjZVp6ZDNTZE9KM21jcXB4NW5OM2RuSGtuVGllcW5JNWtaSTVrR1RJQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZjJxWkk1a1pJNFpNZ0FBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F1QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0VITnhjM0Z3Y1hBVGNIRndjWE53Ti8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOTRPTklNcDg1bnpBQnQwcmxNYUE1b0VKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nQUFBQUFBTUFWUUFWQTZzRGF3QURBQWNBQ3dBQUpSVWhOUUVWSVRVQkZTRTFBNnY4cWdOVy9Lb0RWdnlxd0t1ckFWV3FxZ0ZXcTZzQUFBQUFCQUFCLzc0RC93UEJBQThBSHdBbkFDNEFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWURJU0lHRlJFVUZqTWhNalkxRVRRbUFUY0hKd2NuTnljQkJ6Y25OeWNIQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDFzNUVreW56bWZNQUZzU2VReG56bWZRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQUFBQUFBQVFDckFXc0RWUUlWQUFRQUFCTWhGU0UxcXdLcS9WWUNGYXFxQUFFQlpBREFBcHdDd0FBR0FBQWxOeWMzQ1FFbkFXVEh4emdCQVA4QU9Qbkh4em4vQVA4QU9RQUJBTkwvMWdNdUE2b0FGQUFBQVFjbkFSWVhIZ0VYRmhjSEp4RTNGd2tCTnhjUkFhVnNad0V1SmlVbVRDVW1KbWRzYkdmKzB2N1NaMndDZ1d4bkFTNG1KU1pNSlNZbVoyeitmbXhuL3RJQkxtZHNBWUlBQUFBQUF3QUIvNzhFQUFQQ0FCc0FLZ0E1QUFBQk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkJRRWVBVE15Tno0Qk56WTFOQ1luSnk0Qkl5SUhEZ0VIQmhVVUZoY0JBZ0JxWFYyTEtDa3BLSXRkWFdwcVhWMkxLQ2dvS0l0ZFhRRzcvYWsyaGtwWVRrNTBJU0l3S2tvM2hrcFlUazV6SWlFdkt3SlhBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTajcvYWtxTUNJaGRFNU5XVXFGTjBvcU1DRWlkRTFPV0V1R05nSlhBQUlBcXdCQUExVURRQUFOQUNBQUFBRWhGQlVjQVJVVUZTRVJJVFV6RnlNd01qRVZJVFV6TUNNcUFTTWlNUkVoRVFKVkFRRDlWZ0VBcXF1clZ2NnFWaHNiUUJvYkFnQUM2MVpWVmF0VlZsVUNxMVdycXFyK0FBSUFBQUFBQVFDckFCVURWUU1WQUE4QUFBRWpFUmNoQ3dFaE56VXpFU00xSVJVREFGV3Evd0JWVmY4QXFsYXJBZ0FDd1A2clZ2OEFBUUJXVlFFQVZWVUFCUUFCLzc0RC93UEJBQThBSGdBbEFEb0FRUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ0UxSXlJR0ZSRVVGanNCRVNNMU13VWhFU0V5TmpVREJ5YzNIZ0VYQnljVkl4Y0hKemNlQVJjSE16VVRJUlVoTlRRbUEzLzlBalZMU3pVQy9qVkxTLzFNZ2hFWUdCR0NxNnNDcWYyc0Fpc1JHUDROUEhNZE9oMDlETVFOUFhOekVCNFBEVy9WL2RVQ1ZCaENTelVEQXpWTFN6WDgvVFZMQXdLcUdCSDgveEVaQWxWVlZmMnJHUkVCUkEwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFCQUtzQWF3TlZBeFVBREFBQUV5RVJNeEVoRlNFUkl4RWhOYXNCQUtvQkFQOEFxdjhBQWhVQkFQOEFxdjhBQVFDcUFBQUFBUUZrQU1BQ25BTEFBQVVBQUNVbk55Y0pBUUtjeDhjNC93QUJBUG5IeHpuL0FQOEFBQUFBQUFJQUFmKy9CQUFEd2dBYkFEY0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQWdCcVhWMkxLQ2dvS0l0ZFhXcHFYVjJMS0NrcEtJdGRYV3BZVGs1MElTSWlJWFJPVGxoWVRrNXpJaUVoSW5OT1RnUENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBREFBSC92d1FBQThJQUhBQTRBRlFBQUFFVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTXlGeDRCRnhZVkFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WURBQlFVUlM4dk5UVXZMa1lVRkJRVVJpNHZOVFV2TDBVVUZQOEFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazRCd1RVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUlCS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQUFBUUJMQUZZRHRRTXFBQThBQUFFbk54WVhIZ0VYRmhjQkp6Y2hOU0VDa3E1bkxTMHRXeTB0THY2V1o2Mzl1Z0pIQWhXdVp5MHRMbG90TGkzK2xtZXRxd0FBQUFBQ0FJQUFRQU9BQTBBQURnQVlBQUFCRVNFUkl4RVVGak1oTWpZMUVTTUZOeGNISnpjWEVUTVJBeXY5cWxVeUl3SldJekpWL3dCdVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQVFDckFSVURWUUpyQUFNQUFCTWhDUUdyQXFyK3EvNnJBbXYrcWdGV0FBQUJBVlVBYXdLckF4VUFBd0FBQ1FFUkFRRlZBVmIrcWdIQUFWWDlWZ0ZWQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVJVRFZRSnJBQU1BQUJNSkFTR3JBVlVCVmYxV0FSVUJWdjZxQUFBQkFFUUFaZ084QXhzQUNBQUFDUUkzRndFZUFSY0R2UDNFL3NSNHhBSEVIandlQXFMOXhBRThlTU1Cd3g0OEhnQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RnJBMVVDRlFBRUFBQVRJUlVoTmFzQ3F2MVdBaFdxcWdBQkFLc0JGUU5WQW1zQUF3QUFFeUVKQWFzQ3F2NnIvcXNDYS82cUFWWUFBQUVBQUFBQkFBQ3ZISWNEWHc4ODlRQUxCQUFBQUFBQTJRbnZzQUFBQUFEWkNlK3dBQUQvdmdRQUE4SUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFCQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBRGNFQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFBdGdRQUFBQUVBQUNXQkFBQkFBUUFBQUVFQUFBQkJBQUFBUVFBQUFFRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTZBSFFBbGdDd0FQb0JQZ0Y2QWE0QnhBSDJBakFDVkFKOEF3b0RaZ09DQThZRVNnVEFCTndFK0FWS0JaUUY5Z1lTQmk0R2FnYTRCdFFISWdjd0IwUUhjQWZNQi9vSUdBaDhDSllJcWdrQUNZQUpvZ25PQ2Q0SjdnbitDZzRLSmdvMkNrUUtWQUFCQUFBQU53QlpBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBRFFBQUFBRUFBQUFBQUFJQUJ3Q1dBQUVBQUFBQUFBTUFEUUJJQUFFQUFBQUFBQVFBRFFDckFBRUFBQUFBQUFVQUN3QW5BQUVBQUFBQUFBWUFEUUJ2QUFFQUFBQUFBQW9BR2dEU0FBTUFBUVFKQUFFQUdnQU5BQU1BQVFRSkFBSUFEZ0NkQUFNQUFRUUpBQU1BR2dCVkFBTUFBUVFKQUFRQUdnQzRBQU1BQVFRSkFBVUFGZ0F5QUFNQUFRUUpBQVlBR2dCOEFBTUFBUVFKQUFvQU5BRHNZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVm1WeWMybHZiaUF4TGpBQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqUm05dWRDQm5aVzVsY21GMFpXUWdZbmtnU1dOdlRXOXZiaTRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWJsdWUge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiAjMjIyMjIyO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUsIC5hZy10aGVtZS1ibHVlIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlICo6Zm9jdXMsIC5hZy10aGVtZS1ibHVlICogKjpiZWZvcmUsIC5hZy10aGVtZS1ibHVlICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ibHVlIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogd2hpdGU7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlYmY3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzOUJDMkU2JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgY29sb3I6ICMyMjIyMjI7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEzNSwgMTYwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTYwLCAxMDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM0OTkwZDI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZGRlYmY3O1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjMjIyMjIyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICMyMjIyMjI7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTU1LCAxOTQsIDIzMCwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZS5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTljZDM7XFxuICAgICAgY29sb3I6IHdoaXRlO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uLmFnLWhhcy1wb3B1cCB7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzgzYzc7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXNpemU6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjMzMzO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCI3MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI0cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMTJweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGViZjc7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIGlucHV0LFxcbiAgLmFnLXRoZW1lLWJsdWUgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgY29sb3I6ICMyMjIyMjI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3cge1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1ib290c3RyYXAge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiBibGFjaztcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNmY2ZjYgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgKjpmb2N1cywgLmFnLXRoZW1lLWJvb3RzdHJhcCAqICo6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgwLCA4MCwgODAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiAzN3B4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiBibGFjaztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgY29sb3I6ICMzMzMzMzM7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmFkZWQge1xcbiAgICBvcGFjaXR5OiAwLjM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBtaW4taGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpuYjkwdTRBQUFGNEFBQVVxR2hsWVdRVk15UGRBQUFXSUFBQUFEWm9hR1ZoQjhJRCtBQUFGbGdBQUFBa2FHMTBlTklBRitZQUFCWjhBQUFBM0d4dlkyR1NJcGNrQUFBWFdBQUFBSEJ0WVhod0FFUUFXd0FBRjhnQUFBQWdibUZ0WlNqRzlVc0FBQmZvQUFBQnpuQnZjM1FBQXdBQUFBQVp1QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBREFBQUFTRVhCeUVWSVJNRElSd0JGUU5LL3BONWVRRnQvV3pjM0FLVUFwWFYxYXNCZ0FHQUsxVXJBQUFBQUFFQUFQL0FCQUFEd0FBZ0FBQUJOUWNuTnhjSEp4RWhKemNYQnljM0lSRTNGd2NuTnhjUklSY0hKemNYQnlFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBQUFBQVFDV0FCNERhZ05pQUE4QUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFQnJyRm5BV290TGkxYUxpMHRaN0NsQWtLeFp3RnFMaTB0V3kwdExXZXcvZDBDSkFBQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FrQUNnQUxRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpFUVV6RlNNRE14RWpFUU4vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajltbFZWQVZWVlZhdFdWa0pMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDZyL3RZQktvQ3FBYXIrVmdHcUFBQUFBQU1BQWYrK0EvOER3UUFJQUJrQUtRQUFDUUVuTnhjVEhnRVhFeklXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF5WCs2UDAxcnVnU0poSmFOVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWUFxejkvc3BEaXdHb0NoUUtBUlZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQUFEQUFIL3ZnUC9BOEVBQXdBVUFDUUFBQUVoRlNFQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lCVlFGVy9xb0NLalZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBSVZxZ0pXU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFBQ0FBSC92Z1AvQThFQUVBQWdBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUlBVlFBVkFhc0Rhd0FFQUFnQUFBRVJJUkVoRVJVaE5RR3IvcW9CVnY2cUFtdjlxZ0pXQVFDcnF3QUFCZ0JWQUJVRHF3TnJBQU1BQ0FBTUFCRUFGUUFhQUFBbEZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQnEvNnFBMWIrcWdGVy9nRCtxZ05XL3FvQlZ2NEEvcW9EVnY2cUFWYkFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBQU1BQWYrK0EvOER3UUFRQUNBQUpBQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF4VWhOUU4vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBd0NyQUdzRFZRTVZBQWNBQ3dBUkFBQUJNeEVoTlNNUklSTWhFU0VETlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBYXRWL3FzQkFBQUFBUUJ1QUM0RGtnTlNBQTRBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBUUlBQVJrZVBSNys1d0VaZWY3bi91ZDVBUm4rNTNrQkdRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWG4rNXdBQUFBQURBSGdBMVFPZkF1RUFPQUJHQUZnQUFBRTJOejRCTnpZWEhnRWZBUVlIRGdFSEJnY1dGeDRCRnhZWERnRW5MZ0VuRGdFSEJpY3VBU2NtTno0Qk55NEJOejRCRng0QkZ4NEJGd2NHQnc0QkJ3WTNQZ0UzTURZSEp5SUdCdzRCQndZWEhnRVhGaGMzTGdFakFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFjQU1nQW5BODREV1FBTEFBOEFIQUFnQUMwQU1RQStBQUEzSWdZVkZCWXpNalkxTkNZcEFSVWhBU0lHRlJRV016STJOVFFtSXlFVklUVUhNaFlWRkFZaklpWTFORFl6QVJVaE5TTXlGaFVVQmlNaUpqVTBOak9kTFQ0K0xTdytQZ01GL1ZVQ3EvelBMVDQrTFN3K1Bpd0RNZjFWaGg0c0xCNGZMQ3dmQXpIOVZZWXNQajRzTFQ0K0xmdytMQzArUGkwc1B0VUNCRDhzTEQ4L0xDdy8xdFlnTEI4ZkxDd2ZIeXdCVHRYVlBpMHNQajRzTFQ0QUFBQUJBSllBSXdOcUExMEFDd0FBQVJFNkFUTVJOeGNKQVRjWEFhOHBVaW13Wi82Vy9wWm5zZ0ZEQWhyOTU3Qm4vcFlCYW1leEFBQUFBQU1BQWYrK0EvOER3UUFRQUNBQUxRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUFUVXpGVE1WSXhVak5TTTFNd04vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1kvaHFxcTZ1cXE2c0R3VXMxL1AwMVMwczFBd00xUzFjWUVmei9FUmtaRVFNQkVSaitxNnVycXF1cnFnQUFBQUFEQUNJQWRnUGVBd29BSWdCSEFGRUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOd0UrQVRjd0ppY09BUWNCS0RVbklFSWpTRUpDZHpRekt5cHZRRGRESVE3K3pCNC9IZ29VQ3dFTE5Xc3lVRExyS2lVbE9oUVVCeU0rR2lZeE1uTS9QejgwTGk4dlh5OHZMaUllSHpZWkdCY3JhajhCNHk1TUlEODVDejRzQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHNBQUFBREFDSUFtUVBlQXVnQUhBQTdBRWtBQUFFV0Z4NEJGeFlYQmdjT0FTY21KeVluTGdFbkppYzJOejRCTnpZWEJRNEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KeVVtTkRVakRnRUhGejRCTnpvQkFnbElRa0ozTkRNck8xVlZ4V2xwWXlJZUh6WVpHQmNxTlRSN1JrVk8vdnNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUM2QUlYRjA4Mk5rQlhSVVZJQlFROEZCb2FPaUVnSVQ4M04xRVhGd0d1R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBSUFWUUJBQTZzRFFBQUdBQXNBQUJNaEFSRW5FUUVCRlRNMUkxVURWdjZxcXY2cUFWYXFxZ05BL3F2K1Zhc0JBQUZWL3F0V1ZnQUFBZ0R5QU1BRERnTEFBQU1BQ1FBQUFSRWpFUUVuTnljSkFRRkhWUUljeDhjNS93QUJBQUxBL2dBQ0FQNDV4OGM1L3dEL0FBQUFBQUFNQUt2LzZ3TlZBNVVBQXdBSUFBd0FFQUFWQUJrQUhRQWlBQ1lBS2dBdkFETUFBRGN6RlNNbE14VWpOU0V6RlNNQk14VWpKVE1WSXpVaE14VWpBVE1WSXlVekZTTTFJVE1WSXdFekZTTWxNeFVqTlFVak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFxcW9BQUFVQVZmL3JBNnNEbFFBZUFDSUFKd0FyQUM4QUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlVCSXhVekVTTVZNelVSSXhVekpTTVZNd0dycWdGVy9xcXFxd0ZWQVZiK3F2NnJBVlVCVnY2cS9sWldBVllCcXFxcXFxcXFxdjRBcXFvRFFGWC9BRlpXcWxYL0FGWC9BRmIvQUZVQ1ZRRUFWZjFWVlFHclZsWUJWVlZWVlFBQUFBQURBQmtCRVFQbkFwTUFGZ0FzQURzQUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp3Y21ORFVqRGdFSEZ6NEJOell5TXdJSVBqdzhjak0wTENSZWVubi9mSHRqSkRFNk9YNUVRd0V0SElGU1VvRWNJVDBjQTBwZVhzVmZYMHdESEQ4aW1RRUxSSWM4SlM1bU1Rb1VDd0tUQVF3TUxTRWdLeVJkTlRVUEtpbGZKREluS0RjUEQ0aEhYRnhIRGlZWEF6OGdJUUVnSDBBQ0dDZ09JeFVyRlFFUUhrd1dEUUlCQUFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FiQUNVQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTURNemMxSnlNSEZSNEJBbFdjZVp6ZDNTZE9KM21jcXB4NW5OM2RuSGtuVGllcW5JNWtaSTVrR1RJQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZjJxWkk1a1pJNFpNZ0FBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F1QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0VITnhjM0Z3Y1hBVGNIRndjWE53Ti8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOTRPTklNcDg1bnpBQnQwcmxNYUE1b0VKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nQUFBQUFBTUFWUUFWQTZzRGF3QURBQWNBQ3dBQUpSVWhOUUVWSVRVQkZTRTFBNnY4cWdOVy9Lb0RWdnlxd0t1ckFWV3FxZ0ZXcTZzQUFBQUFCQUFCLzc0RC93UEJBQThBSHdBbkFDNEFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWURJU0lHRlJFVUZqTWhNalkxRVRRbUFUY0hKd2NuTnljQkJ6Y25OeWNIQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDFzNUVreW56bWZNQUZzU2VReG56bWZRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQUFBQUFBQVFDckFXc0RWUUlWQUFRQUFCTWhGU0UxcXdLcS9WWUNGYXFxQUFFQlpBREFBcHdDd0FBR0FBQWxOeWMzQ1FFbkFXVEh4emdCQVA4QU9Qbkh4em4vQVA4QU9RQUJBTkwvMWdNdUE2b0FGQUFBQVFjbkFSWVhIZ0VYRmhjSEp4RTNGd2tCTnhjUkFhVnNad0V1SmlVbVRDVW1KbWRzYkdmKzB2N1NaMndDZ1d4bkFTNG1KU1pNSlNZbVoyeitmbXhuL3RJQkxtZHNBWUlBQUFBQUF3QUIvNzhFQUFQQ0FCc0FLZ0E1QUFBQk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkJRRWVBVE15Tno0Qk56WTFOQ1luSnk0Qkl5SUhEZ0VIQmhVVUZoY0JBZ0JxWFYyTEtDa3BLSXRkWFdwcVhWMkxLQ2dvS0l0ZFhRRzcvYWsyaGtwWVRrNTBJU0l3S2tvM2hrcFlUazV6SWlFdkt3SlhBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTajcvYWtxTUNJaGRFNU5XVXFGTjBvcU1DRWlkRTFPV0V1R05nSlhBQUlBcXdCQUExVURRQUFOQUNBQUFBRWhGQlVjQVJVVUZTRVJJVFV6RnlNd01qRVZJVFV6TUNNcUFTTWlNUkVoRVFKVkFRRDlWZ0VBcXF1clZ2NnFWaHNiUUJvYkFnQUM2MVpWVmF0VlZsVUNxMVdycXFyK0FBSUFBQUFBQVFDckFCVURWUU1WQUE4QUFBRWpFUmNoQ3dFaE56VXpFU00xSVJVREFGV3Evd0JWVmY4QXFsYXJBZ0FDd1A2clZ2OEFBUUJXVlFFQVZWVUFCUUFCLzc0RC93UEJBQThBSGdBbEFEb0FRUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ0UxSXlJR0ZSRVVGanNCRVNNMU13VWhFU0V5TmpVREJ5YzNIZ0VYQnljVkl4Y0hKemNlQVJjSE16VVRJUlVoTlRRbUEzLzlBalZMU3pVQy9qVkxTLzFNZ2hFWUdCR0NxNnNDcWYyc0Fpc1JHUDROUEhNZE9oMDlETVFOUFhOekVCNFBEVy9WL2RVQ1ZCaENTelVEQXpWTFN6WDgvVFZMQXdLcUdCSDgveEVaQWxWVlZmMnJHUkVCUkEwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFCQUtzQWF3TlZBeFVBREFBQUV5RVJNeEVoRlNFUkl4RWhOYXNCQUtvQkFQOEFxdjhBQWhVQkFQOEFxdjhBQVFDcUFBQUFBUUZrQU1BQ25BTEFBQVVBQUNVbk55Y0pBUUtjeDhjNC93QUJBUG5IeHpuL0FQOEFBQUFBQUFJQUFmKy9CQUFEd2dBYkFEY0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQWdCcVhWMkxLQ2dvS0l0ZFhXcHFYVjJMS0NrcEtJdGRYV3BZVGs1MElTSWlJWFJPVGxoWVRrNXpJaUVoSW5OT1RnUENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBREFBSC92d1FBQThJQUhBQTRBRlFBQUFFVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTXlGeDRCRnhZVkFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WURBQlFVUlM4dk5UVXZMa1lVRkJRVVJpNHZOVFV2TDBVVUZQOEFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazRCd1RVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUlCS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQUFBUUJMQUZZRHRRTXFBQThBQUFFbk54WVhIZ0VYRmhjQkp6Y2hOU0VDa3E1bkxTMHRXeTB0THY2V1o2Mzl1Z0pIQWhXdVp5MHRMbG90TGkzK2xtZXRxd0FBQUFBQ0FJQUFRQU9BQTBBQURnQVlBQUFCRVNFUkl4RVVGak1oTWpZMUVTTUZOeGNISnpjWEVUTVJBeXY5cWxVeUl3SldJekpWL3dCdVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQVFDckFSVURWUUpyQUFNQUFCTWhDUUdyQXFyK3EvNnJBbXYrcWdGV0FBQUJBVlVBYXdLckF4VUFBd0FBQ1FFUkFRRlZBVmIrcWdIQUFWWDlWZ0ZWQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVJVRFZRSnJBQU1BQUJNSkFTR3JBVlVCVmYxV0FSVUJWdjZxQUFBQkFFUUFaZ084QXhzQUNBQUFDUUkzRndFZUFSY0R2UDNFL3NSNHhBSEVIandlQXFMOXhBRThlTU1Cd3g0OEhnQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RnJBMVVDRlFBRUFBQVRJUlVoTmFzQ3F2MVdBaFdxcWdBQkFLc0JGUU5WQW1zQUF3QUFFeUVKQWFzQ3F2NnIvcXNDYS82cUFWWUFBQUVBQUFBQkFBQ3ZISWNEWHc4ODlRQUxCQUFBQUFBQTJRbnZzQUFBQUFEWkNlK3dBQUQvdmdRQUE4SUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFCQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBRGNFQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFBdGdRQUFBQUVBQUNXQkFBQkFBUUFBQUVFQUFBQkJBQUFBUVFBQUFFRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTZBSFFBbGdDd0FQb0JQZ0Y2QWE0QnhBSDJBakFDVkFKOEF3b0RaZ09DQThZRVNnVEFCTndFK0FWS0JaUUY5Z1lTQmk0R2FnYTRCdFFISWdjd0IwUUhjQWZNQi9vSUdBaDhDSllJcWdrQUNZQUpvZ25PQ2Q0SjdnbitDZzRLSmdvMkNrUUtWQUFCQUFBQU53QlpBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBRFFBQUFBRUFBQUFBQUFJQUJ3Q1dBQUVBQUFBQUFBTUFEUUJJQUFFQUFBQUFBQVFBRFFDckFBRUFBQUFBQUFVQUN3QW5BQUVBQUFBQUFBWUFEUUJ2QUFFQUFBQUFBQW9BR2dEU0FBTUFBUVFKQUFFQUdnQU5BQU1BQVFRSkFBSUFEZ0NkQUFNQUFRUUpBQU1BR2dCVkFBTUFBUVFKQUFRQUdnQzRBQU1BQVFRSkFBVUFGZ0F5QUFNQUFRUUpBQVlBR2dCOEFBTUFBUVFKQUFvQU5BRHNZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVm1WeWMybHZiaUF4TGpBQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqUm05dWRDQm5aVzVsY21GMFpXUWdZbmtnU1dOdlRXOXZiaTRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgY29sb3I6ICNjY2M7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSwgLmFnLXRoZW1lLWRhcmsgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0LCAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMwMmUyZSAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAqOmZvY3VzLCAuYWctdGhlbWUtZGFyayAqICo6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZGFyayAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIGdyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6IGdyZWVueWVsbG93OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogcmVkOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDAzZTNlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjNweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ1ZDU7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNBOUE5QTknJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjcpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuOCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzQwM2UzZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY2hvY29sYXRlICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogI2NjYzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiAjY2NjO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTY5LCAxNjksIDE2OSwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk0OTQ5OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNTE1OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogI2Q2ZDVkNTtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmFkZWQge1xcbiAgICBvcGFjaXR5OiAwLjM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjNDAzZTNlO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLW1vdmluZyAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgcGFkZGluZzogMTBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgaW5wdXQsXFxuICAuYWctdGhlbWUtZGFyayBzZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBjb2xvcjogI2NjYzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0W3JlYWRvbmx5XSB7XFxuICAgIGJhY2tncm91bmQ6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1mcmVzaCB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSwgLmFnLXRoZW1lLWZyZXNoIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoICo6Zm9jdXMsIC5hZy10aGVtZS1mcmVzaCAqICo6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSh3aGl0ZSksIHRvKGxpZ2h0Z3JleSkpO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQod2hpdGUsIGxpZ2h0Z3JleSk7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IFxcXCJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjNweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IFxcXCJcXFwiOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyM0E5QTlBOSclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcXFwiXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiBibGFjaztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDE2OSwgMTY5LCAxNjksIDAuNSk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2guYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20od2hpdGUpLCB0byhsaWdodGdyZXkpKTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHdoaXRlLCBsaWdodGdyZXkpO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZE1hdGVyaWFsXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm1JSkh1d0FBQUY0QUFBUTdHaGxZV1FVK2lPakFBQVNaQUFBQURab2FHVmhCNGtEK0FBQUVwd0FBQUFrYUcxMGVOSUFKaXdBQUJMQUFBQUEzR3h2WTJGMEpIaENBQUFUbkFBQUFIQnRZWGh3QUVFQVdBQUFGQXdBQUFBZ2JtRnRaV2gwUE9VQUFCUXNBQUFCMm5CdmMzUUFBd0FBQUFBV0NBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBUUFBYXdNQUF4VUFDd0FBQVNFVkNRRVZJVFVoTnljaEF3RCtBQUVWL3VzQ0FQN1YxdFlCS3dNVlZmOEEvd0JWZ05YVkFBQUFBQVFBT2YvNUE4Y0Rod0FIQUE4QUZ3QWZBQUFCTXpVekp3Y3pGUWNqTlFjWE5UTTFCU2NWSXhVekZUY0ZJeFVqRnpjak5RR3JxbkxIeDNJNWNzZkhjZ0pWeDNKeXgvNk9xbkxIeDNJQ1RuTEh4M0k1Y3NmSGNxcFZ4M0txY3NlT2NzZkhjZ0FCQUtzQWF3TlZBeFVBQ1FBQUV4YzNFVE1SRnpjSkFhczg3bGJ1UFA2ci9xc0J3RHp1L2ZrQ0IrODlBVlgrcXdBQ0FGVUFGUU9yQTJzQUhBQW9BQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtSXhNSEp3Y25OeWMzRnpjWEJ3SUFXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WTFUeVptVHlabVR5Wm1UeVpBMnNpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDl2RHlabVR5Wm1UeVptVHlaQUFBQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQUNBSUFBUUFPQUEwQUFEd0FXQUFBQklTSUdGUkVVRmpNaE1qWTFFVFFtQVNjM0Z3RVhBUU1yL2Fvak1qSWpBbFlqTWpMK1hkWThtZ0ZFUFA2QUEwQXlJLzJxSXpJeUl3SldJekw5cTlVOG1RRkVQUDZBQUFBQUFnQ0FBRUFEZ0FOQUFBOEFFd0FBQVNFaUJoVVJGQll6SVRJMk5SRTBKZ01oTlNFREsvMnFJekl5SXdKV0l6SXllZjVXQWFvRFFESWovYW9qTWpJakFsWWpNdjVWVmdBQUFnQ0FBRUFEZ0FOQUFBTUFFd0FBQVJFaEVTVWhJZ1lWRVJRV015RXlOalVSTkNZREsvMnFBbGI5cWlNeU1pTUNWaU15TWdMci9hb0NWbFV5SS8ycUl6SXlJd0pXSXpJQUFnQ3JBR3NCVlFNVkFBTUFCd0FBSlNNUk16VVZJelVCVmFxcXFtc0IvNnRYVndBQUNRQ3JBR3NEVlFNVkFBTUFDQUFNQUJBQUZRQVpBQjRBSWdBbUFBQVRNelVqQVRNMUl4VWhNelVqTlRNMUl3VXpOU01WQVJVek5RVXpOU01WQVRNMUl4RXpOU09ycXFvQkFLcXEvd0NxcXFxcUFRQ3FxZ0VBcXY1V3Fxb0JBS3FxcXFvQ2E2cjlWcXFxcWxhcXFxcXFBYXFxcXFxcXF2OEFxdjVXcWdBQUFBQUJBV0lBd0FLZUFzQUFCZ0FBQVNjSkFUY25Od0tlUFA4QUFRQTh3OE1DaER6L0FQOEFQTVRFQUFBQUFBTUFhLy9yQTVVRGxRQUlBQmtBSFFBQUFTRWlCaFVSTXhFaEZ5RWlCaFVSRkJZeklUSTJOUkUwSmlNUklSRWhBc0QrQUNNeVZRSUFnUDRySkRJeUpBSFZJekl5SS80ckFkVURsVElqL2FzQ1ZWVXlKUDJySXpJeUl3SlZKREw5VlFKVkFBQUJBTlVBbFFNckF1c0FEQUFBQVNjSEp3Y1hCeGMzRnpjbk53TXJQTy92UE8vdlBPL3ZQTy92QXE4ODcrODg3Kzg4Nys4ODcrOEFBQVVBVlFBVkE2c0Rhd0FsQURJQVB3QkxBRkVBQUFFK0FUVTBKaU1pQmhVVUZqTXlOamNYQnk0Qkl5SUdGUlFXTXpJMk5UUW1KemNCTXpVQkJ5SW1OVFEyTXpJV0ZSUUdJeEVpSmpVME5qTXlGaFVVQmlNQklpWTFORFl6TWhZVkZBWUpBUmNCTlNNQm13Z0laRWRIWkdSSEV5TVFaV1VRSXhOSFpHUkhSMlFJQ0dVQks0RDk4SnNqTWpJakl6SXlJeU15TWlNak1qSWpBUUFKREF3SkNRd01BU0wvQUZVQks0QUNlaEFqRTBka1pFZEhaQWdJWldVSUNHUkhSMlJrUnhNakVHWCsxU3NDRHc4eEpDUXhNU1FrTWY0QU1TUWtNVEVrSkRFQlFBd0pDUXdNQ1FrTUFaWC9BRlVCS2lzQUFBY0Fsd0MvQTJrQ3dRQU1BQkFBSFFBaEFDMEFPZ0ErQUFBVElnWVZGQll6TWpZMU5DWWpCVFVoRlFNaUJoVVVGak15TmpVMEppTUZJVFVoQlRJV0ZSUUdJeUltTlRRMk56SVdGUlFHSXlJbU5UUTJNd1VoTlNIQ0Voa1pFaElaR1JJQ3AvM1hmaElaR1JJU0dSa1NBZEwrckFGVS9pNE5FeE1ORFJNVERSSVpHUklTR1JrU0FxZjkxd0lwQVJVWkVoRWFHaEVTR1ZWV1ZnRXJHUklTR1JrU0VobFZWUXNURFEwVEV3ME5FK0VhRVJJWkdSSVJHbFpWQUFBQUFRQ3JBR3NEVlFNVkFBa0FBQUVuQnhFakVTY0hDUUVEVlR6dVZ1NDhBVlVCVlFIQVBPNENCLzM1N3ozK3F3RlZBQUFBQUFFQllnREFBcDRDd0FBR0FBQUJCeGNIRndrQkFaNDh3OE04QVFEL0FBTEFQTVRFUEFFQUFRQUFBQUFBQVFDVEFNY0RiUUs1QUVjQUFBRXVBU01pQmdjblBnRXpNaGNlQVJjV0Z3NEJCeWMrQVRjakRnRUhKeU1YRGdFaklpWW5JeDRCTXpJMk54Y09BU01pSnk0Qkp5WW5QZ0UzRnc0QkJ6TW5QZ0V6TWhZWE13S2pDbHc5SWowV1R5dGpOajQ1T1Y4a0pSVVlXRGxQRWhnRlJBUU5DQ3RRUmdRSkJTSTFDVVFLWEQ0VEl4QklJVWNtUGprNVh5UWxGUk0rS0Y0RkJnS0dLUTBrRlNJMENVUUIzVHBQR2hkUEdSd1RFa0l1TFRjK1pTRlBFaTBhREJVSktrWUJBU2tmT2xBSUNFZ05EaE1TUWk0dE56QlVJRjRLRkFzcURSQW9Id0FBQXdDVEFNY0RiUUs1QUJ3QUtBQTFBQUFCSWdjT0FRY0dCeFlYSGdFWEZqTXlOejRCTnpZM0ppY3VBU2NtSXhFaUpqVTBOak15RmhVVUJnTWlCaFVVRmpNeU5qVTBKaU1DQUQ0NU9WOGtKUlVWSlNSZk9UaytQams1WHlRbEZSVWxKRjg1T1Q1RllXRkZSV0ZoUlNrN095a3BPenNwQXJrVEVrSXVMVGMzTFM1Q0VoTVRFa0l1TFRjM0xTNUNFaFArWVdGRlJXRmhSVVZoQVFvN0tTazdPeWtwT3dBREFJQUF3QU9BQXNBQUJBQUlBQXdBQUNVek5TTVZBUlVoTlFFaE5TRUJxNnFxL3RVREFQMkFBZ0QrQU1CVlZRSUFWVlgrMVZZQUFBSUE5d0RBQXdrQ3dBQUZBQW9BQUNVbk55Y0pBUUV6RVNNUkF3bkV4RHovQUFFQS9pcFdWdnpFeER6L0FQOEFBZ0QrQUFJQUFBQUFBZ0NyQVVBRFZRSkFBQU1BQ0FBQUFTRVZJUVVoTlNFVkExWDlWZ0txL1ZZQ3F2MVdBa0JWcTFWVkFBQUdBSTRBcEFOeUF0d0FCZ0FMQUJJQUZnQWFBQ0FBQUFFaEZBWXJBVFVsRlNFMUlTY3lGaFVoTlNFQkl6VXpOU00xTXljak5EWXpGUUpWQVIxREw2c0JIZjdqQVIxeUwwUCtBQUdPL3VSeWNuSnk1SEpETHdFVkwwSng1SEp5NDBJdmNmM0ljWEp5Y2k5Q2NRQUNBSk1BeHdOdEFya0FIQUFvQUFBQklnY09BUWNHQnhZWEhnRVhGak15Tno0Qk56WTNKaWN1QVNjbUl4RWlKalUwTmpNeUZoVVVCZ0lBUGprNVh5UWxGUlVsSkY4NU9UNCtPVGxmSkNVVkZTVWtYems1UGtWaFlVVkZZV0VDdVJNU1FpNHROemN0TGtJU0V4TVNRaTR0TnpjdExrSVNFLzVoWVVWRllXRkZSV0VBQUFBQ0FQY0F3QU1KQXNBQUJnQUtBQUFURndjWENRRUhKVE1SSS9mRXhEd0JBUDhBUEFHOFZsWUNoTVRFUEFFQUFRQThQUDRBQUFBQUFBRUFxd0JyQTFVREZRQUpBQUFCSVRjbkNRRTNKeUUxQTFYOStlODkvcXNCVlR6dUFnY0I2KzQ4L3F2K3F6enVWZ0FBQUFBQ0FPUUFwQU1jQXR3QUhBQW1BQUFCTnhjSE14VWpIZ0VYQnljVkl6VUhKemNqTlRNbk54NEJGelV6RlFjek56VW5Jd2NWSGdFQ09XaFFhSk9UR2pRYVVHaHlhRkJvazVOb1VCbzBHbkpvWGtORFhrTVJJUUpKYUZCb2NobzBHbEJvazVOb1VHaHlhRkFhTkJxVGsvdERYa05EWGhFaEFBQUJBSUFDNndPQUEwQUFBd0FBRXlFVklZQURBUDBBQTBCVkFBQUFBd0NBQU1BRGdBTEFBQU1BQndBTEFBQTNJVFVoTlNFMUlUVVZJVFdBQXdEOUFBTUEvUUFEQU1CVmdGYlZWVlVBQVFFQUFFQURBQUNWQUFNQUFDVWhGU0VCQUFJQS9nQ1ZWUUFBQUFFQTFRR1ZBeXNCNndBRUFBQVRJUlVoTmRVQ1Z2MnFBZXRXVmdBQkFXSUF3QUtlQXNBQUJnQUFBUWNYQnhjSkFRR2VQTVBEUEFFQS93QUN3RHpFeER3QkFBRUFBQUFBQUFNQWdBREFBNEFDd0FBREFBY0FDd0FBTnlFMUlSRVZJVFVCSVRVaGdBSUEvZ0FEQVAwQUF3RDlBTUJWQWF0VlZmN1ZWZ0FEQUZVQUZRT3JBMnNBSEFBcUFEa0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlqQVRRM1BnRTNOak15RmhjQkxnRUJJaVluQVI0QkZSUUhEZ0VIQmlNQ0FGaE9UblFoSWlJaGRFNU9XRmhPVG5RaElpSWhkRTVPV1A2ckdodGRQajVITzJzci9pSWlKZ0ZWTzJzckFkNGlKaG9iWFQ0K1J3TnJJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlXRTVPZENFaS9sVkhQajVkR3hvbUl2NGlLMnYrNWlZaUFkNHJhenRIUGo1ZEd4b0FBQU1BZ1AvckE0QURsUUFYQUNNQUt3QUFBU011QVNNaUJnY2pJZ1lWRVJRV015RXlOalVSTkNZaklUSVdGUlFHSXlJbU5UUTJBU0VSTXhVaE5UTURLN01OUVNvcVFRMnpJekl5SXdKV0l6SXlJLzdWRWhrWkVoSVpHUUU5L2FwV0FhcFdBMEFsTURBbE1pUDlWU015TWlNQ3F5TXlHUklSR1JrUkVobjlBQUtyZ0lBQUFBSUFyUUJ2QTFNREVRQUdBQk1BQUNVSEp6Y2VBUmNUQVFjbkJ4Y0hKemNYTnljM0FXT09LSTRLRkFxOEFUUWZIdmMrV1BaWVBYc2VIdjJPS0k0S0ZBb0NGUDdNSGg1N1BWajJXRDczSGg4QUNRQTUvL2tEeHdPSEFBOEFFd0FZQUNFQUpRQXVBRElBTmdBNkFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0FTTVZNd0VoRVNFUkJRY1hCeWMzSGdFWEp5TVZNeVVISndjbk54NEJGd0VqRlRNbEl4VXpOeU1WTXdOVi9WWXZRME12QXFvdlEwUDkwYXFxQWdEK09RSEgvdHhDUWlscGFRb1ZDdHlxcWdINEtFRkNLR29hTlJyK0NLcXFBUjNrNU9PcXFnZERMd0txTDBOREwvMVdMME1CSEtvQmp2NXlBWTdiUWtFb2FXb0tGQXJicXpFb1FVRW9hUm8xR2dHV3FxcXFxcW9BQUFFQTFRQ1ZBeXNDNndBTEFBQUJJUkVqRVNFMUlSRXpFU0VESy84QVZ2OEFBUUJXQVFBQmxmOEFBUUJXQVFEL0FBQUFBQUFCQVdJQXdBS2VBc0FBQmdBQUFTY0pBVGNuTndLZVBQOEFBUUE4dzhNQ2hEei9BUDhBUE1URUFBQUFBQUlBVlFBVkE2c0Rhd0FjQURnQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpFU0luTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlJRSERnRUhCZ0lBV0U1T2RDRWlJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlSejQrWFJzYUdodGRQajVIUno0K1hSc2FHaHRkUGo0RGF5SWhkRTVPV0ZoT1RuUWhJaUloZEU1T1dGaE9UblFoSXYwQUdodGRQajVIUno0K1hSc2FHaHRkUGo1SFJ6NCtYUnNhQUFBQUF3QlZBQlVEcXdOckFCd0FPUUJWQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUl6VWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpFU0luTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlJRSERnRUhCZ0lBTENjbk9oRVFFQkU2Snljc0xDY25PaEVRRUJFNkp5Y3NXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WVJ6NCtYUnNhR2h0ZFBqNUhSejQrWFJzYUdodGRQajRDbFJBUk9pY25MQ3duSnpvUkVCQVJPaWNuTEN3bkp6b1JFTllpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDlBQm9iWFQ0K1IwYytQbDBiR2hvYlhUNCtSMGMrUGwwYkdnQUFBQUVBcXdCckExVURGUUFKQUFBQkJ4Y2hGU0VIRndrQkFnQTg3djM1QWdmdVBBRlYvcXNERlR6dVZ1NDhBVlVCVlFBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRRXJBVlVDMVFJckFBTUFBQUVYTnlFQks5WFYvbFlDSzliV0FBRUJsUURyQW1zQ2xRQURBQUFCQnhjUkFtdlcxZ0tWMWRVQnFnQUJBWlVBNndKckFwVUFBd0FBSlRjbkVRR1YxdGJyMWRYK1ZnQUFBUUVyQVZVQzFRSXJBQU1BQUFFM0Z5RUJLOVhWL2xZQlZkYldBQUVBaVFDaUEzY0MzZ0FGQUFBQkp3Y1hBU2NCZDdJODdnSUFQQUVic2ozdUFnQThBQUVCWWdEQUFwNEN3QUFHQUFBQkJ4Y0hGd2tCQVo0OHc4TThBUUQvQUFMQVBNVEVQQUVBQVFBQUFBQUFBUURWQVpVREt3SHJBQVFBQUJNaEZTRTExUUpXL2FvQjYxWldBQUVCQUFFaUF3QUNYZ0FGQUFBQkJ5Y0hDUUVDeE1URVBBRUFBUUFDWHNQRFBQOEFBUUFBQUFBQkFBQUFBUUFBbHBHZlRWOFBQUFVBQ3dRQUFBQUFBTmtKNzVNQUFBQUEyUW52a3dBQS8rc0R4d09WQUFBQUNBQUNBQUFBQUFBQUFBRUFBQVBBLzhBQUFBUUFBQUFBQUFQSEFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBM0JBQUFBQUFBQUFBQUFBQUFBZ0FBQUFRQUFRQUVBQUE1QkFBQXF3UUFBRlVFQUFEVkJBQUFnQVFBQUlBRUFBQ0FCQUFBcXdRQUFLc0VBQUZpQkFBQWF3UUFBTlVFQUFCVkJBQUFsd1FBQUtzRUFBRmlCQUFBa3dRQUFKTUVBQUNBQkFBQTl3UUFBS3NFQUFDT0JBQUFrd1FBQVBjRUFBQ3JCQUFBNUFRQUFJQUVBQUNBQkFBQkFBUUFBTlVFQUFGaUJBQUFnQVFBQUZVRUFBQ0FCQUFBclFRQUFEa0VBQURWQkFBQllnUUFBRlVFQUFCVkJBQUFxd1FBQUlBRUFBRXJCQUFCbFFRQUFaVUVBQUVyQkFBQWlRUUFBV0lFQUFEVkJBQUJBQUFBQUFBQUNnQVVBQjRBT2dCc0FJUUF5QURrQVJBQk5BRllBV29CcWdIQUFmSUNEZ0tHQXVRQy9nTVVBNEFEMGdQdUJBb0VJQVJXQkpnRXRBVE9CUW9GR0FVd0JUNEZUQVZpQlh3RjJnWWNCa1FHcGdiQUJ0WUhMZ2V1QjhnSDlBZ0NDQkFJSGdnc0NENElWQWhpQ0hZQUFRQUFBRGNBVmdBSkFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0QXJnQUJBQUFBQUFBQkFBNEFBQUFCQUFBQUFBQUNBQWNBbndBQkFBQUFBQUFEQUE0QVN3QUJBQUFBQUFBRUFBNEF0QUFCQUFBQUFBQUZBQXNBS2dBQkFBQUFBQUFHQUE0QWRRQUJBQUFBQUFBS0FCb0EzZ0FEQUFFRUNRQUJBQndBRGdBREFBRUVDUUFDQUE0QXBnQURBQUVFQ1FBREFCd0FXUUFEQUFFRUNRQUVBQndBd2dBREFBRUVDUUFGQUJZQU5RQURBQUVFQ1FBR0FCd0Fnd0FEQUFFRUNRQUtBRFFBK0dGblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRlpsY25OcGIyNGdNUzR3QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1HRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkdGblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRkpsWjNWc1lYSUFVZ0JsQUdjQWRRQnNBR0VBY21GblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRVp2Ym5RZ1oyVnVaWEpoZEdWa0lHSjVJRWxqYjAxdmIyNHVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtbWF0ZXJpYWwge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxM3B4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAqOmZvY3VzLCAuYWctdGhlbWUtbWF0ZXJpYWwgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogODU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTUxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTcyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTExOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTg0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4OTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTk3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwNThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6ICM0M2EwNDc7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFjYzE7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgICBoZWlnaHQ6IDQwcHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgIGJvcmRlci13aWR0aDogMDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgICAgb3V0bGluZTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6cGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XFxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgaGVpZ2h0OiA0MHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmZvY3VzIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgICBvdXRsaW5lOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1ncm91cC1jZWxsOmhvdmVyLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItY2VsbDpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1jZWxsLmFnLWNvbHVtbi1yZXNpemluZyxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZTpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZS5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUuYWctY29sdW1uLXJlc2l6aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgIG1pbi13aWR0aDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnMTZweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDE2cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzhweCclMjB4MiUzRCcxJyUyMHkyJTNEJzhweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzRTJFMkUyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDM0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDU2cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCAxNnB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA4cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIGNvbG9yOiAjM2Y1MWI1O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBoZWlnaHQ6IDU2cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDU2cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgcGFkZGluZzogOHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGhlaWdodDogNTZweDtcXG4gICAgcGFkZGluZzogMCAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxOHB4O1xcbiAgICBoZWlnaHQ6IDE4cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDg4LCAyNTUsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMTMyLCAwLjEpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjIpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMjRweDtcXG4gICAgaGVpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICAgIHdpZHRoOiAyMDBweDtcXG4gICAgICBoZWlnaHQ6IDMxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgICBwYWRkaW5nOiAwIDhweCAwIDI0cHg7XFxuICAgICAgaGVpZ2h0OiA0OHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgaGVpZ2h0OiA0OHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDE4cHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcXG4gICAgaGVpZ2h0OiA0OHB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctcmlnaHQtYXJyb3cge1xcbiAgICAgIG1hcmdpbjogMCA4cHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XFxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XFxuICAgIG1pbi1oZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMzJweDtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgaGVpZ2h0OiAxNDBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWNjMSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgICAgd2lkdGg6IDIycHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0NHB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgyMjYsIDIyNiwgMjI2LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMXB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogNTZweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1zaXplOiAxMXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkTWF0ZXJpYWxcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxOHB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBsaW5lLWhlaWdodDogMThweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICNmZjQwODE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogI2ZmNDA4MTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjU2cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCI0MnB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIzMnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjQwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjE0MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMjZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiNDhweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI4cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMThweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmYge1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBmb250LXNpemU6IDI0cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNGVjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1oaWdobGlnaHQtYW5pbWF0aW9uIHtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICBib3JkZXItdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBidXR0b24ge1xcbiAgICAgIGJvcmRlcjogMDtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XFxuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctZmlsdGVyLXRvb2xwYW5lbC1ib2R5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICBib3JkZXItbGVmdDogMDtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDtcXG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCIvKlxcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXFxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XFxuKlxcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxcbiovXFxuXFxuLmd3LWFsaWdubWVudC1jZWxsLXJpZ2h0LFxcbi5ndy1hbGlnbm1lbnQtY2VsbC1yaWdodCAuYWctY2VsbC12YWx1ZSB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxO1xcbiAgICAgICAgICAgIGZsZXg6IDE7XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtY2VsbC1jZW50ZXIsXFxuLmd3LWFsaWdubWVudC1jZWxsLWNlbnRlciAuYWctY2VsbC12YWx1ZSB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDE7XFxuICAgICAgICAgICAgZmxleDogMTtcXG59XFxuXFxuLmd3LWFsaWdubWVudC1oZWFkZXItcmlnaHQgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgICAgXFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLWNlbnRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLXJpZ2h0IC5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lcixcXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1jZW50ZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxufVwiIiwiLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cblxudmFyIHN0eWxlc0luRG9tID0ge307XG5cbnZhclx0bWVtb2l6ZSA9IGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbztcblxuXHRyZXR1cm4gZnVuY3Rpb24gKCkge1xuXHRcdGlmICh0eXBlb2YgbWVtbyA9PT0gXCJ1bmRlZmluZWRcIikgbWVtbyA9IGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cdFx0cmV0dXJuIG1lbW87XG5cdH07XG59O1xuXG52YXIgaXNPbGRJRSA9IG1lbW9pemUoZnVuY3Rpb24gKCkge1xuXHQvLyBUZXN0IGZvciBJRSA8PSA5IGFzIHByb3Bvc2VkIGJ5IEJyb3dzZXJoYWNrc1xuXHQvLyBAc2VlIGh0dHA6Ly9icm93c2VyaGFja3MuY29tLyNoYWNrLWU3MWQ4NjkyZjY1MzM0MTczZmVlNzE1YzIyMmNiODA1XG5cdC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcblx0Ly8gdG8gb3BlcmF0ZSBjb3JyZWN0bHkgaW50byBub24tc3RhbmRhcmQgZW52aXJvbm1lbnRzXG5cdC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIvaXNzdWVzLzE3N1xuXHRyZXR1cm4gd2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2I7XG59KTtcblxudmFyIGdldFRhcmdldCA9IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTtcbn07XG5cbnZhciBnZXRFbGVtZW50ID0gKGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbyA9IHt9O1xuXG5cdHJldHVybiBmdW5jdGlvbih0YXJnZXQpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBwYXNzaW5nIGZ1bmN0aW9uIGluIG9wdGlvbnMsIHRoZW4gdXNlIGl0IGZvciByZXNvbHZlIFwiaGVhZFwiIGVsZW1lbnQuXG4gICAgICAgICAgICAgICAgLy8gVXNlZnVsIGZvciBTaGFkb3cgUm9vdCBzdHlsZSBpLmVcbiAgICAgICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAgICAgLy8gICBpbnNlcnRJbnRvOiBmdW5jdGlvbiAoKSB7IHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2Zvb1wiKS5zaGFkb3dSb290IH1cbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdHZhciBzdHlsZVRhcmdldCA9IGdldFRhcmdldC5jYWxsKHRoaXMsIHRhcmdldCk7XG5cdFx0XHQvLyBTcGVjaWFsIGNhc2UgdG8gcmV0dXJuIGhlYWQgb2YgaWZyYW1lIGluc3RlYWQgb2YgaWZyYW1lIGl0c2VsZlxuXHRcdFx0aWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG5cdFx0XHRcdFx0Ly8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuXHRcdFx0XHR9IGNhdGNoKGUpIHtcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IG51bGw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuXHRcdH1cblx0XHRyZXR1cm4gbWVtb1t0YXJnZXRdXG5cdH07XG59KSgpO1xuXG52YXIgc2luZ2xldG9uID0gbnVsbDtcbnZhclx0c2luZ2xldG9uQ291bnRlciA9IDA7XG52YXJcdHN0eWxlc0luc2VydGVkQXRUb3AgPSBbXTtcblxudmFyXHRmaXhVcmxzID0gcmVxdWlyZShcIi4vdXJsc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihsaXN0LCBvcHRpb25zKSB7XG5cdGlmICh0eXBlb2YgREVCVUcgIT09IFwidW5kZWZpbmVkXCIgJiYgREVCVUcpIHtcblx0XHRpZiAodHlwZW9mIGRvY3VtZW50ICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgc3R5bGUtbG9hZGVyIGNhbm5vdCBiZSB1c2VkIGluIGEgbm9uLWJyb3dzZXIgZW52aXJvbm1lbnRcIik7XG5cdH1cblxuXHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuXHRvcHRpb25zLmF0dHJzID0gdHlwZW9mIG9wdGlvbnMuYXR0cnMgPT09IFwib2JqZWN0XCIgPyBvcHRpb25zLmF0dHJzIDoge307XG5cblx0Ly8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG5cdC8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2Vcblx0aWYgKCFvcHRpb25zLnNpbmdsZXRvbiAmJiB0eXBlb2Ygb3B0aW9ucy5zaW5nbGV0b24gIT09IFwiYm9vbGVhblwiKSBvcHRpb25zLnNpbmdsZXRvbiA9IGlzT2xkSUUoKTtcblxuXHQvLyBCeSBkZWZhdWx0LCBhZGQgPHN0eWxlPiB0YWdzIHRvIHRoZSA8aGVhZD4gZWxlbWVudFxuICAgICAgICBpZiAoIW9wdGlvbnMuaW5zZXJ0SW50bykgb3B0aW9ucy5pbnNlcnRJbnRvID0gXCJoZWFkXCI7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgYm90dG9tIG9mIHRoZSB0YXJnZXRcblx0aWYgKCFvcHRpb25zLmluc2VydEF0KSBvcHRpb25zLmluc2VydEF0ID0gXCJib3R0b21cIjtcblxuXHR2YXIgc3R5bGVzID0gbGlzdFRvU3R5bGVzKGxpc3QsIG9wdGlvbnMpO1xuXG5cdGFkZFN0eWxlc1RvRG9tKHN0eWxlcywgb3B0aW9ucyk7XG5cblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZSAobmV3TGlzdCkge1xuXHRcdHZhciBtYXlSZW1vdmUgPSBbXTtcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHRcdHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdO1xuXG5cdFx0XHRkb21TdHlsZS5yZWZzLS07XG5cdFx0XHRtYXlSZW1vdmUucHVzaChkb21TdHlsZSk7XG5cdFx0fVxuXG5cdFx0aWYobmV3TGlzdCkge1xuXHRcdFx0dmFyIG5ld1N0eWxlcyA9IGxpc3RUb1N0eWxlcyhuZXdMaXN0LCBvcHRpb25zKTtcblx0XHRcdGFkZFN0eWxlc1RvRG9tKG5ld1N0eWxlcywgb3B0aW9ucyk7XG5cdFx0fVxuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBtYXlSZW1vdmUubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBkb21TdHlsZSA9IG1heVJlbW92ZVtpXTtcblxuXHRcdFx0aWYoZG9tU3R5bGUucmVmcyA9PT0gMCkge1xuXHRcdFx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSBkb21TdHlsZS5wYXJ0c1tqXSgpO1xuXG5cdFx0XHRcdGRlbGV0ZSBzdHlsZXNJbkRvbVtkb21TdHlsZS5pZF07XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xufTtcblxuZnVuY3Rpb24gYWRkU3R5bGVzVG9Eb20gKHN0eWxlcywgb3B0aW9ucykge1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBpdGVtID0gc3R5bGVzW2ldO1xuXHRcdHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdO1xuXG5cdFx0aWYoZG9tU3R5bGUpIHtcblx0XHRcdGRvbVN0eWxlLnJlZnMrKztcblxuXHRcdFx0Zm9yKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGRvbVN0eWxlLnBhcnRzW2pdKGl0ZW0ucGFydHNbal0pO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IoOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dmFyIHBhcnRzID0gW107XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdHBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSwgb3B0aW9ucykpO1xuXHRcdFx0fVxuXG5cdFx0XHRzdHlsZXNJbkRvbVtpdGVtLmlkXSA9IHtpZDogaXRlbS5pZCwgcmVmczogMSwgcGFydHM6IHBhcnRzfTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gbGlzdFRvU3R5bGVzIChsaXN0LCBvcHRpb25zKSB7XG5cdHZhciBzdHlsZXMgPSBbXTtcblx0dmFyIG5ld1N0eWxlcyA9IHt9O1xuXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBpdGVtID0gbGlzdFtpXTtcblx0XHR2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcblx0XHR2YXIgY3NzID0gaXRlbVsxXTtcblx0XHR2YXIgbWVkaWEgPSBpdGVtWzJdO1xuXHRcdHZhciBzb3VyY2VNYXAgPSBpdGVtWzNdO1xuXHRcdHZhciBwYXJ0ID0ge2NzczogY3NzLCBtZWRpYTogbWVkaWEsIHNvdXJjZU1hcDogc291cmNlTWFwfTtcblxuXHRcdGlmKCFuZXdTdHlsZXNbaWRdKSBzdHlsZXMucHVzaChuZXdTdHlsZXNbaWRdID0ge2lkOiBpZCwgcGFydHM6IFtwYXJ0XX0pO1xuXHRcdGVsc2UgbmV3U3R5bGVzW2lkXS5wYXJ0cy5wdXNoKHBhcnQpO1xuXHR9XG5cblx0cmV0dXJuIHN0eWxlcztcbn1cblxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50IChvcHRpb25zLCBzdHlsZSkge1xuXHR2YXIgdGFyZ2V0ID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8pXG5cblx0aWYgKCF0YXJnZXQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaW5kIGEgc3R5bGUgdGFyZ2V0LiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHZhbHVlIGZvciB0aGUgJ2luc2VydEludG8nIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcblx0fVxuXG5cdHZhciBsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcCA9IHN0eWxlc0luc2VydGVkQXRUb3Bbc3R5bGVzSW5zZXJ0ZWRBdFRvcC5sZW5ndGggLSAxXTtcblxuXHRpZiAob3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJ0b3BcIikge1xuXHRcdGlmICghbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3ApIHtcblx0XHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIHRhcmdldC5maXJzdENoaWxkKTtcblx0XHR9IGVsc2UgaWYgKGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wLm5leHRTaWJsaW5nKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cdFx0fVxuXHRcdHN0eWxlc0luc2VydGVkQXRUb3AucHVzaChzdHlsZSk7XG5cdH0gZWxzZSBpZiAob3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJib3R0b21cIikge1xuXHRcdHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cdH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwib2JqZWN0XCIgJiYgb3B0aW9ucy5pbnNlcnRBdC5iZWZvcmUpIHtcblx0XHR2YXIgbmV4dFNpYmxpbmcgPSBnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0SW50byArIFwiIFwiICsgb3B0aW9ucy5pbnNlcnRBdC5iZWZvcmUpO1xuXHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIG5leHRTaWJsaW5nKTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJbU3R5bGUgTG9hZGVyXVxcblxcbiBJbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgJ2luc2VydEF0JyAoJ29wdGlvbnMuaW5zZXJ0QXQnKSBmb3VuZC5cXG4gTXVzdCBiZSAndG9wJywgJ2JvdHRvbScsIG9yIE9iamVjdC5cXG4gKGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyI2luc2VydGF0KVxcblwiKTtcblx0fVxufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQgKHN0eWxlKSB7XG5cdGlmIChzdHlsZS5wYXJlbnROb2RlID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG5cdHN0eWxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGUpO1xuXG5cdHZhciBpZHggPSBzdHlsZXNJbnNlcnRlZEF0VG9wLmluZGV4T2Yoc3R5bGUpO1xuXHRpZihpZHggPj0gMCkge1xuXHRcdHN0eWxlc0luc2VydGVkQXRUb3Auc3BsaWNlKGlkeCwgMSk7XG5cdH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcblxuXHRvcHRpb25zLmF0dHJzLnR5cGUgPSBcInRleHQvY3NzXCI7XG5cblx0YWRkQXR0cnMoc3R5bGUsIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgc3R5bGUpO1xuXG5cdHJldHVybiBzdHlsZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTGlua0VsZW1lbnQgKG9wdGlvbnMpIHtcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlua1wiKTtcblxuXHRvcHRpb25zLmF0dHJzLnR5cGUgPSBcInRleHQvY3NzXCI7XG5cdG9wdGlvbnMuYXR0cnMucmVsID0gXCJzdHlsZXNoZWV0XCI7XG5cblx0YWRkQXR0cnMobGluaywgb3B0aW9ucy5hdHRycyk7XG5cdGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zLCBsaW5rKTtcblxuXHRyZXR1cm4gbGluaztcbn1cblxuZnVuY3Rpb24gYWRkQXR0cnMgKGVsLCBhdHRycykge1xuXHRPYmplY3Qua2V5cyhhdHRycykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0ZWwuc2V0QXR0cmlidXRlKGtleSwgYXR0cnNba2V5XSk7XG5cdH0pO1xufVxuXG5mdW5jdGlvbiBhZGRTdHlsZSAob2JqLCBvcHRpb25zKSB7XG5cdHZhciBzdHlsZSwgdXBkYXRlLCByZW1vdmUsIHJlc3VsdDtcblxuXHQvLyBJZiBhIHRyYW5zZm9ybSBmdW5jdGlvbiB3YXMgZGVmaW5lZCwgcnVuIGl0IG9uIHRoZSBjc3Ncblx0aWYgKG9wdGlvbnMudHJhbnNmb3JtICYmIG9iai5jc3MpIHtcblx0ICAgIHJlc3VsdCA9IG9wdGlvbnMudHJhbnNmb3JtKG9iai5jc3MpO1xuXG5cdCAgICBpZiAocmVzdWx0KSB7XG5cdCAgICBcdC8vIElmIHRyYW5zZm9ybSByZXR1cm5zIGEgdmFsdWUsIHVzZSB0aGF0IGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIGNzcy5cblx0ICAgIFx0Ly8gVGhpcyBhbGxvd3MgcnVubmluZyBydW50aW1lIHRyYW5zZm9ybWF0aW9ucyBvbiB0aGUgY3NzLlxuXHQgICAgXHRvYmouY3NzID0gcmVzdWx0O1xuXHQgICAgfSBlbHNlIHtcblx0ICAgIFx0Ly8gSWYgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbiByZXR1cm5zIGEgZmFsc3kgdmFsdWUsIGRvbid0IGFkZCB0aGlzIGNzcy5cblx0ICAgIFx0Ly8gVGhpcyBhbGxvd3MgY29uZGl0aW9uYWwgbG9hZGluZyBvZiBjc3Ncblx0ICAgIFx0cmV0dXJuIGZ1bmN0aW9uKCkge1xuXHQgICAgXHRcdC8vIG5vb3Bcblx0ICAgIFx0fTtcblx0ICAgIH1cblx0fVxuXG5cdGlmIChvcHRpb25zLnNpbmdsZXRvbikge1xuXHRcdHZhciBzdHlsZUluZGV4ID0gc2luZ2xldG9uQ291bnRlcisrO1xuXG5cdFx0c3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGNyZWF0ZVN0eWxlRWxlbWVudChvcHRpb25zKSk7XG5cblx0XHR1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcblx0XHRyZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xuXG5cdH0gZWxzZSBpZiAoXG5cdFx0b2JqLnNvdXJjZU1hcCAmJlxuXHRcdHR5cGVvZiBVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBVUkwuY3JlYXRlT2JqZWN0VVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLnJldm9rZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIEJsb2IgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCJcblx0KSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVMaW5rRWxlbWVudChvcHRpb25zKTtcblx0XHR1cGRhdGUgPSB1cGRhdGVMaW5rLmJpbmQobnVsbCwgc3R5bGUsIG9wdGlvbnMpO1xuXHRcdHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSk7XG5cblx0XHRcdGlmKHN0eWxlLmhyZWYpIFVSTC5yZXZva2VPYmplY3RVUkwoc3R5bGUuaHJlZik7XG5cdFx0fTtcblx0fSBlbHNlIHtcblx0XHRzdHlsZSA9IGNyZWF0ZVN0eWxlRWxlbWVudChvcHRpb25zKTtcblx0XHR1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQobnVsbCwgc3R5bGUpO1xuXHRcdHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSk7XG5cdFx0fTtcblx0fVxuXG5cdHVwZGF0ZShvYmopO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZSAobmV3T2JqKSB7XG5cdFx0aWYgKG5ld09iaikge1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRuZXdPYmouY3NzID09PSBvYmouY3NzICYmXG5cdFx0XHRcdG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmXG5cdFx0XHRcdG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXBcblx0XHRcdCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHVwZGF0ZShvYmogPSBuZXdPYmopO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW1vdmUoKTtcblx0XHR9XG5cdH07XG59XG5cbnZhciByZXBsYWNlVGV4dCA9IChmdW5jdGlvbiAoKSB7XG5cdHZhciB0ZXh0U3RvcmUgPSBbXTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gKGluZGV4LCByZXBsYWNlbWVudCkge1xuXHRcdHRleHRTdG9yZVtpbmRleF0gPSByZXBsYWNlbWVudDtcblxuXHRcdHJldHVybiB0ZXh0U3RvcmUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuXHR9O1xufSkoKTtcblxuZnVuY3Rpb24gYXBwbHlUb1NpbmdsZXRvblRhZyAoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuXHR2YXIgY3NzID0gcmVtb3ZlID8gXCJcIiA6IG9iai5jc3M7XG5cblx0aWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcblx0XHRzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSByZXBsYWNlVGV4dChpbmRleCwgY3NzKTtcblx0fSBlbHNlIHtcblx0XHR2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcyk7XG5cdFx0dmFyIGNoaWxkTm9kZXMgPSBzdHlsZS5jaGlsZE5vZGVzO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXNbaW5kZXhdKSBzdHlsZS5yZW1vdmVDaGlsZChjaGlsZE5vZGVzW2luZGV4XSk7XG5cblx0XHRpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcblx0XHRcdHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN0eWxlLmFwcGVuZENoaWxkKGNzc05vZGUpO1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBhcHBseVRvVGFnIChzdHlsZSwgb2JqKSB7XG5cdHZhciBjc3MgPSBvYmouY3NzO1xuXHR2YXIgbWVkaWEgPSBvYmoubWVkaWE7XG5cblx0aWYobWVkaWEpIHtcblx0XHRzdHlsZS5zZXRBdHRyaWJ1dGUoXCJtZWRpYVwiLCBtZWRpYSlcblx0fVxuXG5cdGlmKHN0eWxlLnN0eWxlU2hlZXQpIHtcblx0XHRzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG5cdH0gZWxzZSB7XG5cdFx0d2hpbGUoc3R5bGUuZmlyc3RDaGlsZCkge1xuXHRcdFx0c3R5bGUucmVtb3ZlQ2hpbGQoc3R5bGUuZmlyc3RDaGlsZCk7XG5cdFx0fVxuXG5cdFx0c3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG5cdH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlTGluayAobGluaywgb3B0aW9ucywgb2JqKSB7XG5cdHZhciBjc3MgPSBvYmouY3NzO1xuXHR2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuXHQvKlxuXHRcdElmIGNvbnZlcnRUb0Fic29sdXRlVXJscyBpc24ndCBkZWZpbmVkLCBidXQgc291cmNlbWFwcyBhcmUgZW5hYmxlZFxuXHRcdGFuZCB0aGVyZSBpcyBubyBwdWJsaWNQYXRoIGRlZmluZWQgdGhlbiBsZXRzIHR1cm4gY29udmVydFRvQWJzb2x1dGVVcmxzXG5cdFx0b24gYnkgZGVmYXVsdC4gIE90aGVyd2lzZSBkZWZhdWx0IHRvIHRoZSBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgb3B0aW9uXG5cdFx0ZGlyZWN0bHlcblx0Ki9cblx0dmFyIGF1dG9GaXhVcmxzID0gb3B0aW9ucy5jb252ZXJ0VG9BYnNvbHV0ZVVybHMgPT09IHVuZGVmaW5lZCAmJiBzb3VyY2VNYXA7XG5cblx0aWYgKG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzIHx8IGF1dG9GaXhVcmxzKSB7XG5cdFx0Y3NzID0gZml4VXJscyhjc3MpO1xuXHR9XG5cblx0aWYgKHNvdXJjZU1hcCkge1xuXHRcdC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NjAzODc1XG5cdFx0Y3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIiArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSkgKyBcIiAqL1wiO1xuXHR9XG5cblx0dmFyIGJsb2IgPSBuZXcgQmxvYihbY3NzXSwgeyB0eXBlOiBcInRleHQvY3NzXCIgfSk7XG5cblx0dmFyIG9sZFNyYyA9IGxpbmsuaHJlZjtcblxuXHRsaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuXG5cdGlmKG9sZFNyYykgVVJMLnJldm9rZU9iamVjdFVSTChvbGRTcmMpO1xufVxuIiwiXG4vKipcbiAqIFdoZW4gc291cmNlIG1hcHMgYXJlIGVuYWJsZWQsIGBzdHlsZS1sb2FkZXJgIHVzZXMgYSBsaW5rIGVsZW1lbnQgd2l0aCBhIGRhdGEtdXJpIHRvXG4gKiBlbWJlZCB0aGUgY3NzIG9uIHRoZSBwYWdlLiBUaGlzIGJyZWFrcyBhbGwgcmVsYXRpdmUgdXJscyBiZWNhdXNlIG5vdyB0aGV5IGFyZSByZWxhdGl2ZSB0byBhXG4gKiBidW5kbGUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBwYWdlLlxuICpcbiAqIE9uZSBzb2x1dGlvbiBpcyB0byBvbmx5IHVzZSBmdWxsIHVybHMsIGJ1dCB0aGF0IG1heSBiZSBpbXBvc3NpYmxlLlxuICpcbiAqIEluc3RlYWQsIHRoaXMgZnVuY3Rpb24gXCJmaXhlc1wiIHRoZSByZWxhdGl2ZSB1cmxzIHRvIGJlIGFic29sdXRlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBwYWdlIGxvY2F0aW9uLlxuICpcbiAqIEEgcnVkaW1lbnRhcnkgdGVzdCBzdWl0ZSBpcyBsb2NhdGVkIGF0IGB0ZXN0L2ZpeFVybHMuanNgIGFuZCBjYW4gYmUgcnVuIHZpYSB0aGUgYG5wbSB0ZXN0YCBjb21tYW5kLlxuICpcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3MpIHtcbiAgLy8gZ2V0IGN1cnJlbnQgbG9jYXRpb25cbiAgdmFyIGxvY2F0aW9uID0gdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cubG9jYXRpb247XG5cbiAgaWYgKCFsb2NhdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcImZpeFVybHMgcmVxdWlyZXMgd2luZG93LmxvY2F0aW9uXCIpO1xuICB9XG5cblx0Ly8gYmxhbmsgb3IgbnVsbD9cblx0aWYgKCFjc3MgfHwgdHlwZW9mIGNzcyAhPT0gXCJzdHJpbmdcIikge1xuXHQgIHJldHVybiBjc3M7XG4gIH1cblxuICB2YXIgYmFzZVVybCA9IGxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgbG9jYXRpb24uaG9zdDtcbiAgdmFyIGN1cnJlbnREaXIgPSBiYXNlVXJsICsgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXFwvW15cXC9dKiQvLCBcIi9cIik7XG5cblx0Ly8gY29udmVydCBlYWNoIHVybCguLi4pXG5cdC8qXG5cdFRoaXMgcmVndWxhciBleHByZXNzaW9uIGlzIGp1c3QgYSB3YXkgdG8gcmVjdXJzaXZlbHkgbWF0Y2ggYnJhY2tldHMgd2l0aGluXG5cdGEgc3RyaW5nLlxuXG5cdCAvdXJsXFxzKlxcKCAgPSBNYXRjaCBvbiB0aGUgd29yZCBcInVybFwiIHdpdGggYW55IHdoaXRlc3BhY2UgYWZ0ZXIgaXQgYW5kIHRoZW4gYSBwYXJlbnNcblx0ICAgKCAgPSBTdGFydCBhIGNhcHR1cmluZyBncm91cFxuXHQgICAgICg/OiAgPSBTdGFydCBhIG5vbi1jYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAgICAgW14pKF0gID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgIHwgID0gT1Jcblx0ICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICg/OiAgPSBTdGFydCBhbm90aGVyIG5vbi1jYXB0dXJpbmcgZ3JvdXBzXG5cdCAgICAgICAgICAgICAgICAgW14pKF0rICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIHwgID0gT1Jcblx0ICAgICAgICAgICAgICAgICBcXCggID0gTWF0Y2ggYSBzdGFydCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgICAgICBbXikoXSogID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgXFwpICA9IE1hdGNoIGEgZW5kIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICApICA9IEVuZCBHcm91cFxuICAgICAgICAgICAgICAqXFwpID0gTWF0Y2ggYW55dGhpbmcgYW5kIHRoZW4gYSBjbG9zZSBwYXJlbnNcbiAgICAgICAgICApICA9IENsb3NlIG5vbi1jYXB0dXJpbmcgZ3JvdXBcbiAgICAgICAgICAqICA9IE1hdGNoIGFueXRoaW5nXG4gICAgICAgKSAgPSBDbG9zZSBjYXB0dXJpbmcgZ3JvdXBcblx0IFxcKSAgPSBNYXRjaCBhIGNsb3NlIHBhcmVuc1xuXG5cdCAvZ2kgID0gR2V0IGFsbCBtYXRjaGVzLCBub3QgdGhlIGZpcnN0LiAgQmUgY2FzZSBpbnNlbnNpdGl2ZS5cblx0ICovXG5cdHZhciBmaXhlZENzcyA9IGNzcy5yZXBsYWNlKC91cmxcXHMqXFwoKCg/OlteKShdfFxcKCg/OlteKShdK3xcXChbXikoXSpcXCkpKlxcKSkqKVxcKS9naSwgZnVuY3Rpb24oZnVsbE1hdGNoLCBvcmlnVXJsKSB7XG5cdFx0Ly8gc3RyaXAgcXVvdGVzIChpZiB0aGV5IGV4aXN0KVxuXHRcdHZhciB1bnF1b3RlZE9yaWdVcmwgPSBvcmlnVXJsXG5cdFx0XHQudHJpbSgpXG5cdFx0XHQucmVwbGFjZSgvXlwiKC4qKVwiJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KVxuXHRcdFx0LnJlcGxhY2UoL14nKC4qKSckLywgZnVuY3Rpb24obywgJDEpeyByZXR1cm4gJDE7IH0pO1xuXG5cdFx0Ly8gYWxyZWFkeSBhIGZ1bGwgdXJsPyBubyBjaGFuZ2Vcblx0XHRpZiAoL14oI3xkYXRhOnxodHRwOlxcL1xcL3xodHRwczpcXC9cXC98ZmlsZTpcXC9cXC9cXC98XFxzKiQpL2kudGVzdCh1bnF1b3RlZE9yaWdVcmwpKSB7XG5cdFx0ICByZXR1cm4gZnVsbE1hdGNoO1xuXHRcdH1cblxuXHRcdC8vIGNvbnZlcnQgdGhlIHVybCB0byBhIGZ1bGwgdXJsXG5cdFx0dmFyIG5ld1VybDtcblxuXHRcdGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi8vXCIpID09PSAwKSB7XG5cdFx0ICBcdC8vVE9ETzogc2hvdWxkIHdlIGFkZCBwcm90b2NvbD9cblx0XHRcdG5ld1VybCA9IHVucXVvdGVkT3JpZ1VybDtcblx0XHR9IGVsc2UgaWYgKHVucXVvdGVkT3JpZ1VybC5pbmRleE9mKFwiL1wiKSA9PT0gMCkge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdXJsXG5cdFx0XHRuZXdVcmwgPSBiYXNlVXJsICsgdW5xdW90ZWRPcmlnVXJsOyAvLyBhbHJlYWR5IHN0YXJ0cyB3aXRoICcvJ1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZSB0byBjdXJyZW50IGRpcmVjdG9yeVxuXHRcdFx0bmV3VXJsID0gY3VycmVudERpciArIHVucXVvdGVkT3JpZ1VybC5yZXBsYWNlKC9eXFwuXFwvLywgXCJcIik7IC8vIFN0cmlwIGxlYWRpbmcgJy4vJ1xuXHRcdH1cblxuXHRcdC8vIHNlbmQgYmFjayB0aGUgZml4ZWQgdXJsKC4uLilcblx0XHRyZXR1cm4gXCJ1cmwoXCIgKyBKU09OLnN0cmluZ2lmeShuZXdVcmwpICsgXCIpXCI7XG5cdH0pO1xuXG5cdC8vIHNlbmQgYmFjayB0aGUgZml4ZWQgY3NzXG5cdHJldHVybiBmaXhlZENzcztcbn07XG4iLCJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuXHRpZiAoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcblx0XHRtb2R1bGUuZGVwcmVjYXRlID0gZnVuY3Rpb24oKSB7fTtcblx0XHRtb2R1bGUucGF0aHMgPSBbXTtcblx0XHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcblx0XHRpZiAoIW1vZHVsZS5jaGlsZHJlbikgbW9kdWxlLmNoaWxkcmVuID0gW107XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJsb2FkZWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUubDtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImlkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XG5cdH1cblx0cmV0dXJuIG1vZHVsZTtcbn07XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBTdGFydCBjZWxsIGVkaXRpbmdcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge1N0cmluZ3xudW1iZXJ9IHJvdyBUaGUgcm93IGluZGV4XG4gKiBAcGFyYW0ge1N0cmluZ30gY29sS2V5IFRoZSBjb2x1bW4ncyBrZXlcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0ga2V5ICBLZXkgcHJlc3NcbiAqIEBwYXJhbSB7U3RyaW5nfSBjaGFyIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc3RhcnRFZGl0aW5nQ2VsbChpZCwgcm93LCBjb2xLZXksIGtleSwgY2hhcikge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5zZXRGb2N1c2VkQ2VsbChOdW1iZXIocm93KSwgY29sS2V5KTtcbiAgb3B0aW9ucy5hcGkuc3RhcnRFZGl0aW5nQ2VsbCh7XG4gICAgcm93SW5kZXg6IE51bWJlcihyb3cpLFxuICAgIGNvbEtleTogY29sS2V5LFxuICAgIGtleVByZXNzOiBOdW1iZXIoa2V5KSxcbiAgICBjaGFyUHJlc3M6IGNoYXJcbiAgfSk7XG59XG5cbi8qKlxuICogU3RvcCBjZWxsIGVkaXRpbmcgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtCb29sZWFufSBjYW5jZWwgd2hlbiB0cnVlIGNhbmNlbCBlZGl0cyAsIHNhdmUgZWRpdHMgb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zdG9wRWRpdGluZyhpZCwgY2FuY2VsKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnN0b3BFZGl0aW5nKGNhbmNlbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19lZGl0TmV4dENlbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAudGFiVG9OZXh0Q2VsbCgpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2VkaXRQcmV2aW91c0NlbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAudGFiVG9QcmV2aW91c0NlbGwoKTtcbn1cblxuLyoqXG4gKiBTZXQgRm9jdXMgb24gdGhlIGdpdmVuIHJvdyBhbmQgY29sdW1uXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSByb3cgVGhlIHJvdydzIGluZGV4L2lkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uIFRoZSBjb2x1bW4gaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldEZvY3VzZWRDZWxsKGlkLCByb3csIGNvbHVtbikge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3QgciA9ICFyb3cgPyAwIDogKE51bWJlci5pc0ludGVnZXIoK3JvdykgPyArcm93IDogb3B0aW9ucy5hcGkuZ2V0Um93Tm9kZShyb3cpLnJvd0luZGV4KTtcbiAgY29uc3QgYyA9IGNvbHVtbiA/IGNvbHVtbiA6IG9wdGlvbnMuY29sdW1uQXBpLmdldEFsbEdyaWRDb2x1bW5zKClbMF0uY29sSWQ7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldEZvY3VzZWRDZWxsKHIsIGMpO1xufSIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5cbi8qKlxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAqIFxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnMgd2l0aCBvcHRpb25zIHdoaWNoIGNhbiBub3QgYmUgaGFuZGxlZCBpbiBCQmpcbiAqIChleDogYXR0YWNoaW5nIGNhbGxiYWNrcylcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gZGVmaW5pdGlvbnMgYXJyYXkgb2YgY29sdW1uIGRlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyhkZWZpbml0aW9ucykge1xuXG4gIGZvciAobGV0IGkgaW4gZGVmaW5pdGlvbnMpIHtcbiAgICBjb25zdCBkZWYgPSBkZWZpbml0aW9uc1tpXTtcblxuICAgIGRlZi5jaGVja2JveFNlbGVjdGlvbiA9IGRlZi5jaGVja2JveFNlbGVjdGlvbiB8fCBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveDtcbiAgICBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gfHwgZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZSB0aGUgY29sdW1uIGRlZmluaXRpb25zIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7QXJyYXl9IGRlZmluaXRpb25zIGFycmF5IG9mIGNvbHVtbiBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uRGVmaW5pdGlvbnMoaWQsIGRlZmluaXRpb25zKSB7XG4gIGNvbnN0IGdyaWQgPSBnd19nZXRHcmlkKGlkKTtcbiAgY29uc3QgZGVlcFBhcnNlZERlZmluaXRpb25zID0gZGVlcFBhcnNlSnNvbihKU09OLnN0cmluZ2lmeShkZWZpbml0aW9ucykpO1xuXG4gIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG5cbiAgZ3JpZC5vcHRpb25zLmFwaS5zZXRDb2x1bW5EZWZzKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG4gIGdyaWQub3B0aW9ucy5jb2x1bW5EZWZzID0gZGVlcFBhcnNlZERlZmluaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2l6ZUNvbHVtbnNUb0ZpdChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaXplQ29sdW1uc1RvRml0KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRWaXNpYmxlQ29sdW1uKGlkLCBjb2x1bW5JZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5lbnN1cmVDb2x1bW5WaXNpYmxlKGNvbHVtbklkKTtcbn1cblxuLyoqXG4gKiBTZXQgQ29sdW1uIFdpZHRoXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB3aWR0aCBUaGUgbmV3IGNvbHVtbiB3aWR0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uV2lkdGgoaWQsIGNvbHVtbklkLCB3aWR0aCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5XaWR0aChjb2x1bW5JZCwgTnVtYmVyKHdpZHRoKSk7XG59XG5cbi8qKlxuICogUGluIENvbHVtblxuICpcbiAqIFBpbiBhIGNvbHVtbiB0byBhIHNwZWNpZmljIGRpcmVjdGlvblxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBwaW4gVGhlIHBpbiBkaXJlY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BpbkNvbHVtbihpZCwgY29sdW1uSWQsIHBpbikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5QaW5uZWQoY29sdW1uSWQsIHBpbik7XG59XG5cbi8qKlxuICogTW92ZSBDb2x1bW5cbiAqXG4gKiBNb3ZlIGNvbHVtbiB0byBhIHNwZWNpZmljIGluZGV4XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB0b0luZGV4IFRoZSBuZXcgY29sdW1uIGluZGV4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19tb3ZlQ29sdW1uKGlkLCBjb2x1bW5JZCwgdG9JbmRleCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5tb3ZlQ29sdW1uKGNvbHVtbklkLCB0b0luZGV4KTtcbn1cblxuLyoqXG4gKiBTaG93IC8gSGlkZSBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgc2VsZWN0aW9uIGNoZWNrYm94IGlzIGFsd2F5cyBzaG93biBvbiB0aGVcbiAqIGZpcnN0IGNvbHVtblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbVxuICpcbiAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBmaXJzdCBjb2x1bW4gLCBmYWxzZSBpZiBub3QgdGhlIGZpcnN0IGNvbHVtbiBvciBpZiB0aGVcbiAqICAgICAgICAgICAgICAgICAgIGdyaWQncyBgQ29udGV4dC5zaG93U2VsZWN0aW9uQ2hlY2tib3hgIGlzIGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveChwYXJhbSkge1xuICBpZiAoIXBhcmFtLmNvbnRleHQuc2hvd1NlbGVjdGlvbkNoZWNrYm94KSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgY29sdW1ucyA9IHBhcmFtLmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRWaXJ0dWFsQ29sdW1ucygpO1xuXG4gIHJldHVybiBjb2x1bW5zWzBdLmNvbERlZi5maWVsZCA9PT0gcGFyYW0uY29sRGVmLmZpZWxkO1xufVxuXG4vKipcbiAqIFNob3cgLyBIaWRlIGhlYWRlciBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgaGVhZGVyIHNlbGVjdGlvbiBjaGVja2JveCBpcyBhbHdheXMgc2hvd24gb24gdGhlXG4gKiBmaXJzdCBjb2x1bW5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1cbiAqXG4gKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIHdoZW4gZmlyc3QgY29sdW1uICwgZmFsc2UgaWYgbm90IHRoZSBmaXJzdCBjb2x1bW4gb3IgaWYgdGhlXG4gKiAgICAgICAgICAgICAgICAgICBncmlkJ3MgYENvbnRleHQuc2hvd0hlYWRlclNlbGVjdGlvbkNoZWNrYm94YCBpcyBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbihwYXJhbSkge1xuICBjb25zdCBjb250ZXh0ID0gcGFyYW0uYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuXG4gIGlmICghY29udGV4dC5zaG93SGVhZGVyU2VsZWN0aW9uQ2hlY2tib3gpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBjb2x1bW5zID0gcGFyYW0uY29sdW1uQXBpLmdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zKCk7XG5cbiAgcmV0dXJuIGNvbHVtbnNbMF0uY29sRGVmLmZpZWxkID09PSBwYXJhbS5jb2xEZWYuZmllbGQ7XG59XG5cbi8qKlxuICogRW5hYmxlIHJvdyBncm91cGluZyBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICogQHBhcmFtIHtCb29sZWFufSBzZXQgIFdoZW4gdHJ1ZSAsIGBzZXRSb3dHcm91cENvbHVtbnNgIHdpbGwgYmUgdXNlZCAsIGBhZGRSb3dHcm91cENvbHVtbnNgIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUm93R3JvdXBDb2x1bW4oaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFJvd0dyb3VwQ29sdW1uc1wiIDogXCJhZGRSb3dHcm91cENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcm93IGdyb3VwaW5nIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVSb3dHcm91cENvbHVtbihpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVSb3dHcm91cENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0UGl2b3RNb2RlKGlkKSB7XG4gIHJldHVybiBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5pc1Bpdm90TW9kZSgpO1xufVxuXG4vKipcbiAqIEVuYWJsZSAvIGRpc2JhbGUgcGl2b3QgbW9kZSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge0Jvb2xlYW59IG1vZGUgd2hlbiB0cnVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0UGl2b3RNb2RlKGlkLCBtb2RlKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnNldFBpdm90TW9kZSghIU51bWJlcihtb2RlKSk7XG59XG5cbi8qKlxuICogRW5hYmxlIHBpdm90IGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHNldCAgV2hlbiB0cnVlICwgYGFkZFBpdm90Q29sdW1uc2Agd2lsbCBiZSB1c2VkICwgYHNldFBpdm90Q29sdW1uc2Agb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRQaXZvdENvbHVtbnMoaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFBpdm90Q29sdW1uc1wiIDogXCJhZGRQaXZvdENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcGl2b3QgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVBpdm90Q29sdW1ucyhpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVQaXZvdENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIEVuYWJsZSB2YWx1ZSBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkVmFsdWVDb2x1bW5zKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuYWRkVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHZhbHVlIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVWYWx1ZUNvbHVtbnMoaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIFVwZGF0ZSBjb250ZXh0IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfSBrZXkgVGhlIGNvbnRleHQncyBrZXkgdG8gdXBkYXRlXG4gKiBAcGFyYW0ge1N0cmluZ30gdmFsdWUgIFRoZSBuZXcgY29udGV4dCdzIHZhbHVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfdXBkYXRlQ29udGV4dChpZCwga2V5LCB2YWx1ZSkge1xuXHRnd19nZXRHcmlkKGlkKVxuXHRcdC5vcHRpb25zXG5cdFx0LmNvbnRleHRba2V5XSA9IEpTT04ucGFyc2UodmFsdWUpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5leHBvcnQgKiBmcm9tICcuL2luaXQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW5zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcm93cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29scGFuZWwuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXNiYXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9qc3MuanMnOyIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyB9IGZyb20gXCIuL2NvbHVtbnNcIjtcbmltcG9ydCB7IGd3X25hdmlnYXRlVG9OZXh0Um93IH0gICAgICAgZnJvbSBcIi4vcm93c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0Q29udGV4dE1lbnUgfSAgICAgICAgICBmcm9tIFwiLi9tZW51c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQsIGd3X2FkZEdyaWR9ICBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIGd3X29uUm93RG91YmxlQ2xpY2tlZCxcbiAgZ3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuICBnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCxcbiAgZ3dfb25DZWxsQ2xpY2tFdmVudCxcbiAgZ3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuICBnd19vblJvd0VkaXRpbmdFdmVudCxcbiAgZ3dfb25SZWFkeUV2ZW50LFxuICBnd19kZWJvdW5jZVxufSBmcm9tIFwiZXZlbnRzXCI7XG5cbmNvbnN0IHsgZGVlcFBhcnNlSnNvbiB9ID0gcmVxdWlyZShcImRlZXAtcGFyc2UtanNvblwiKTtcbmNvbnN0IHRlbXBsYXRlICAgICAgICAgID0gcmVxdWlyZSgnbG9kYXNoL3RlbXBsYXRlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19pbml0KG9wdGlvbnMsIGxpY2Vuc2UgLCBkYXRhKSB7XG4gIFxuICAvLyBzZXQgdGhlIGxpY2Vuc2Uga2V5IGZvciBlbnRlcnByaXNlIHZlcnNpb25cbiAgaWYgKGFnR3JpZC5MaWNlbnNlTWFuYWdlciAmJiBsaWNlbnNlKVxuICAgIGFnR3JpZC5MaWNlbnNlTWFuYWdlci5zZXRMaWNlbnNlS2V5KGxpY2Vuc2UpO1xuXG4gIGNvbnN0IGlkICAgICAgICAgICAgICA9IG9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgY29udGFpbmVyICAgICAgID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChpZCk7XG4gIC8vIHdlIG1ha2UgdGhlIGdyaWQgb3B0aW9ucyBhdmFpbGFibGUgYXMgc29vbiBhcyBwb3NzaWJsZSBcbiAgY29uc3QgZ3JpZCAgICAgICAgICAgID0gZ3dfYWRkR3JpZChpZCwge1xuICAgIGNvbnRhaW5lcixcbiAgICBvcHRpb25zXG4gIH0pO1xuXG4gIC8vIFRPRE86IHVzZSBhZyBncmlkIGRlc3Ryb3lcbiAgY29udGFpbmVyLmlubmVySFRNTCAgID0gJyc7XG5cbiAgY29uc3QgcGFyc2VkT3B0aW9ucyAgID0gZ3dfcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICBwYXJzZWRPcHRpb25zLnJvd0RhdGEgPSBkYXRhO1xuXG4gIGNvbnN0IGluc3RhbmNlICAgICAgICA9IG5ldyBhZ0dyaWQuR3JpZChjb250YWluZXIsIHBhcnNlZE9wdGlvbnMpO1xuICBncmlkLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIGdyaWQub3B0aW9ucyAgPSBwYXJzZWRPcHRpb25zO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGAlYyBHcmlkIFske2lkfV0gc2V0dGluZ3MgOiBgXG4gICAgLCAnYmFja2dyb3VuZDogIzIyMjsgY29sb3I6ICNiYWRhNTUnXG4gICAgLCBwYXJzZWRPcHRpb25zXG4gICk7XG59XG5cbi8qKlxuICogUGFyc2UgT3B0aW9uc1xuICogXG4gKiBQYXJzZSB0aGUgZ3JpZCBvcHRpb25zIGFuZCByZXR1cm4gXG4gKiBhbiBvYmplY3Qgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byB0aGUgZ3JpZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBHcmlkIG9wdGlvbnMgYXMgSnNvbiBPYmplY3RcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBvcHRpb25zIG9iamVjdFxuICovXG5mdW5jdGlvbiBnd19wYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICBjb25zdCBkZWVwUGFyc2VkT3B0aW9ucyAgICAgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgY29uc3QgaWQgICAgICAgICAgICAgICAgICAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZSAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5nZXREYXRhUGF0aCB8fCBcIlwiO1xuICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRvIGNvbnRyb2wgdGhpcyBzZXR0aW5nIGZyb20gQkJqID9cbiAgY29uc3QgZGVib3VuY2VEdXJhdGlvbiAgICAgID0gMjUwO1xuICBjb25zdCBmaW5hbE9wdGlvbnMgPSB7XG4gICAgLi4uZGVlcFBhcnNlZE9wdGlvbnMgLFxuICAgIC4uLntcbiAgICAgIGdldERvY3VtZW50OiAgICAgICAgICAgICgpICAgICA9PiAgIGd3X2dldERvY3VtZW50KCksXG4gICAgICBvbkNlbGxFZGl0aW5nU3RhcnRlZDogICBlICAgICAgPT4geyBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRWRpdGluZ1N0b3BwZWQ6ICAgZSAgICAgID0+IHsgZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbFZhbHVlQ2hhbmdlZDogICAgIGUgICAgICA9PiB7IGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvblJvd0VkaXRpbmdTdGFydGVkOiAgICBlICAgICAgPT4geyBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25Sb3dFZGl0aW5nU3RvcHBlZDogICAgZSAgICAgID0+IHsgZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uUm93VmFsdWVDaGFuZ2VkOiAgICAgIGUgICAgICA9PiB7IGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkNlbGxDbGlja2VkOiAgICAgICAgICBlICAgICAgPT4geyBnd19vbkNlbGxDbGlja0V2ZW50KGlkLCBlKSAgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRG91YmxlQ2xpY2tlZDogICAgZSAgICAgID0+IHsgZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkgICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uR3JpZFJlYWR5OiAgICAgICAgICAgIGUgICAgICA9PiB7IGd3X29uUmVhZHlFdmVudChpZCwgZSkgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBnZXRSb3dOb2RlSWQ6ICAgICAgICAgICBkYXRhICAgPT4gICBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgZ2V0Q29udGV4dE1lbnVJdGVtczogICAgcGFyYW1zID0+ICAgZ3dfZ2V0Q29udGV4dE1lbnUoaWQsIHBhcmFtcykgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIFwicG9wdXBQYXJlbnRcIjogICAgICAgICAgICAgICAgICAgICAgZ3dfZ2V0RG9jdW1lbnQoKS5ib2R5LFxuICAgICAgXCJvblJvd0RvdWJsZUNsaWNrZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJvd0RvdWJsZUNsaWNrZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblNlbGVjdGlvbkNoYW5nZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblNlbGVjdGlvbkNoYW5nZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblJhbmdlU2VsZWN0aW9uQ2hhbmdlZFwiOiAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCAsIGRlYm91bmNlRHVyYXRpb24pICAsXG4gICAgICBcImNvbXBvbmVudHNcIjoge1xuICAgICAgICBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0Jvb2xlYW5zUmVuZGVyZXIsXG4gICAgICAgIFwiQmFzaWNCb29sZWFuc0VkaXRvclwiICAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljQm9vbGVhbnNFZGl0b3IgICxcbiAgICAgICAgXCJCYXNpY0Jvb2xlYW5zRmlsdGVyXCIgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNCb29sZWFuc0ZpbHRlciAgLFxuICAgICAgICBcIkJhc2ljTnVtYmVyc0VkaXRvclwiICAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY051bWJlcnNFZGl0b3IgICAsXG4gICAgICAgIFwiQmFzaWNEYXRlVGltZXNFZGl0b3JcIiAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljRGF0ZVRpbWVzRWRpdG9yICxcbiAgICAgICAgXCJCYXNpY0RhdGVUaW1lc0ZpbHRlclwiICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNEYXRlVGltZXNGaWx0ZXIgLFxuICAgICAgICBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIiAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0ltYWdlc1JlbmRlcmVyICAsXG4gICAgICAgIC8vIGxvZGFzaCB0ZW1wbGF0ZSByZW5kZXJcbiAgICAgICAgXCJHV0N1c3RvbUhUTUxUZW1wbGF0ZVJlbmRlcmVyXCI6IHBhcmFtcyA9PiB7XG4gICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0ZW1wbGF0ZShwYXJhbXMuX19URU1QTEFURV9fKTtcbiAgICAgICAgICByZXR1cm4gY29tcGlsZWQoeyBwYXJhbXM6IHBhcmFtcyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBpZiAoXG4gICAgZmluYWxPcHRpb25zLmNvbnRleHQuaGFzT3duUHJvcGVydHkoXCJuYXZpZ2F0ZVRvTmV4dENlbGxcIikgJiZcbiAgICBmaW5hbE9wdGlvbnMuY29udGV4dC5uYXZpZ2F0ZVRvTmV4dENlbGxcbiAgKSB7XG4gICAgZmluYWxPcHRpb25zLm5hdmlnYXRlVG9OZXh0Q2VsbCA9IHBhcmFtcyA9PiB7IHJldHVybiBnd19uYXZpZ2F0ZVRvTmV4dFJvdyhpZCwgcGFyYW1zKSB9O1xuICB9XG5cbiAgaWYgKGdldERhdGFQYXRoVGVtcGxhdGUgJiYgZmluYWxPcHRpb25zLnRyZWVEYXRhKSB7XG4gICAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkID0gdGVtcGxhdGUoZ2V0RGF0YVBhdGhUZW1wbGF0ZSk7XG4gICAgZmluYWxPcHRpb25zLmdldERhdGFQYXRoID0gZGF0YSA9PiBnZXREYXRhUGF0aFRlbXBsYXRlQ29tcGxpZWQoeyBkYXRhOiBkYXRhIH0pO1xuICB9XG5cbiAgLy8gZXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAgZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMoZmluYWxPcHRpb25zLmNvbHVtbkRlZnMpO1xuXG4gIHJldHVybiBmaW5hbE9wdGlvbnM7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgJ2V4cG9zZS1sb2FkZXI/anNzIWpzcy9qc3MuanMnO1xuaW1wb3J0IHtnd19nZXREb2N1bWVudH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogRm9ybWF0ZSB0aGUgY3NzIHNlbGVjdG9yIFxuICogXG4gKiBDaGVjayBpZiB0aGUgY3NzIHNlbGVjdG9yIHN0YXJ0cyB3aXRoIGRvdCAsIGlmIG5vdCBhZGQgb25lIGFuZCByZXR1cm4gdGhlIFxuICogZm9ybWF0dGVkIG5hbWUgXG4gKiBcbiAqIEBwYXJhbSB7Kn0gc2VsZWN0b3IgXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKXtcbiAgcmV0dXJuIHNlbGVjdG9yLnN0YXJ0c1dpdGgoXCIuXCIpID8gc2VsZWN0b3IgOiBgLiR7c2VsZWN0b3J9YDtcbn1cblxuLyoqXG4gKiBBZGQgbmV3IHN0eWxlIFxuICogXG4gKiBBZGQgbmV3IHN0eWxlIHRvIHRoZSBkb2N1bWVudCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yIGNzcyBzZWxlY3RvclxuICogQHBhcmFtIHtTdHJpbmd9IHJ1bGVzIEpzb24gc3RyaW5nIGZvciBhbiBhcnJheSBvZiBydWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3R5bGUoc2VsZWN0b3IsIHJ1bGVzKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5zZXQoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpLCBKU09OLnBhcnNlKHJ1bGVzKSk7XG59XG5cbi8qKlxuICogUmVtb3ZlIHN0eWxlXG4gKiBcbiAqIFJlbW92ZSBhZGRlZCBzdHlsZSBmcm9tIHRoZXMgZG9jdW1lbnQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBjc3Mgc2VsZWN0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVN0eWxlKHNlbGVjdG9yKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5yZW1vdmUoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiXG5pbXBvcnQge1xuICBnd19wYXJzZU5vZGVGcm9tRXZlbnQsXG4gIGd3X3NlbmRFdmVudFxufSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Q29udGV4dE1lbnUoZ3JpZElkLCBwYXJhbXMpIHtcblxuICBjb25zdCBidWlsZENvbnRleHRNZW51QWN0aW9uID0gKHBhcmFtcywgaWQpID0+IHtcblxuICAgIHJldHVybiAoKSA9PiB7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQocGFyYW1zKTtcbiAgICAgIGNvbnN0IGNvbElkID0gcGFyYW1zLmNvbHVtbi5jb2xJZDtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICBnd19zZW5kRXZlbnQoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dCwge1xuICAgICAgICAndHlwZSc6ICdndy5jb250ZXh0bWVudScsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7IHI6IG5vZGUsIGM6IGNvbElkLCB2OnZhbHVlLCBpOmlkIH0pXG4gICAgICB9LCBpZCk7XG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBwYXJzZU1lbnUgPSAobWVudSkgPT4ge1xuICAgIG1lbnUuZm9yRWFjaChpdGVtID0+IHtcblxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykgcmV0dXJuO1xuXG4gICAgICBpdGVtWydhY3Rpb24nXSA9IGJ1aWxkQ29udGV4dE1lbnVBY3Rpb24ocGFyYW1zLCBpdGVtLmlkKTtcblxuICAgICAgaWYgKGl0ZW1bJ2Nzc0NsYXNzZXMnXSAmJiAhQXJyYXkuaXNBcnJheShpdGVtWydjc3NDbGFzc2VzJ10pKVxuICAgICAgICBpdGVtWydjc3NDbGFzc2VzJ10gPSBpdGVtWydjc3NDbGFzc2VzJ10uc3BsaXQoXCIgXCIpO1xuXG4gICAgICBpZiAoaXRlbVsnc3ViTWVudSddKSBpdGVtWydzdWJNZW51J10gPSBwYXJzZU1lbnUoaXRlbVsnc3ViTWVudSddKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtZW51O1xuICB9O1xuXG4gIHJldHVybiBwYXJzZU1lbnUoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dC5jb250ZXh0TWVudSk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBTaG93IGxvYWRpbmcgb3ZlcmxheVxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3Nob3dMb2FkaW5nT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaG93TG9hZGluZ092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBTaG93ICdubyByb3dzJyBvdmVybGF5XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2hvd05vUm93c092ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2hvd05vUm93c092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBDbGVhciBhbGwgb3ZlcmxheXNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19oaWRlT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5oaWRlT3ZlcmxheSgpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19wYXJzZU5vZGUgfSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRRdWlja0ZpbHRlcihpZCwgZmlsdGVyKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldFF1aWNrRmlsdGVyKGZpbHRlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19leHBhbmRBbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuZXhwYW5kQWxsKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19jb2xsYXBzZUFsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5jb2xsYXBzZUFsbCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0VmlzaWJsZVJvdyhpZCwgaW5kZXgsIHBvc2l0aW9uKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmVuc3VyZUluZGV4VmlzaWJsZShpbmRleCwgcG9zaXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfbmF2aWdhdGVUb05leHRSb3coaWQsIHBhcmFtcykge1xuXG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBsZXQgcHJldmlvdXNDZWxsID0gcGFyYW1zLnByZXZpb3VzQ2VsbFBvc2l0aW9uO1xuICBsZXQgc3VnZ2VzdGVkTmV4dENlbGwgPSBwYXJhbXMubmV4dENlbGxQb3NpdGlvbjtcblxuICBjb25zdCBLRVlfVVAgPSAzODtcbiAgY29uc3QgS0VZX0RPV04gPSA0MDtcbiAgY29uc3QgS0VZX0xFRlQgPSAzNztcbiAgY29uc3QgS0VZX1JJR0hUID0gMzk7XG5cbiAgc3dpdGNoIChwYXJhbXMua2V5KSB7XG4gICAgY2FzZSBLRVlfRE9XTjpcbiAgICAgIC8vIHNldCBzZWxlY3RlZCBjZWxsIG9uIGN1cnJlbnQgY2VsbCArIDFcbiAgICAgIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlKChub2RlKSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NlbGwucm93SW5kZXggKyAxID09PSBub2RlLnJvd0luZGV4KSB7XG4gICAgICAgICAgbm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgY2FzZSBLRVlfVVA6XG4gICAgICAvLyBzZXQgc2VsZWN0ZWQgY2VsbCBvbiBjdXJyZW50IGNlbGwgLSAxXG4gICAgICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZSgobm9kZSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDZWxsLnJvd0luZGV4IC0gMSA9PT0gbm9kZS5yb3dJbmRleCkge1xuICAgICAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1Z2dlc3RlZE5leHRDZWxsO1xuICAgIGNhc2UgS0VZX0xFRlQ6XG4gICAgY2FzZSBLRVlfUklHSFQ6XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBoYXZlIHN1cGVyIHN0cmFuZ2Uga2V5Ym9hcmRcIik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFJvd05vZGVJZChpZCwgZGF0YSkge1xuICByZXR1cm4gZGF0YVtnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQuZ2V0Um93Tm9kZUlkXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd3NEYXRhKGlkLCBqc29uKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnNldFJvd0RhdGEoanNvbik7XG4gIG9wdGlvbnMucm93RGF0YSA9IGpzb247XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dEYXRhKGlkLCByb3cpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IHVwZGF0ZTogW3Jvd10gfSk7XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVSb3dzKGlkLCBpbmRleGVzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBsZXQgaXRlbXMgPSBbXTtcblxuICBpbmRleGVzLmZvckVhY2goaW5kZXggPT4ge1xuICAgIGl0ZW1zLnB1c2gob3B0aW9ucy5hcGkuZ2V0Um93Tm9kZShpbmRleCkuZGF0YSk7XG4gIH0pO1xuXG4gIG9wdGlvbnMuYXBpLnVwZGF0ZVJvd0RhdGEoeyByZW1vdmU6IGl0ZW1zIH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUm93cyhpZCwgaW5kZXgsIHJvd3MpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IGFkZDogcm93cywgYWRkSW5kZXg6IGluZGV4IH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgaGVpZ2h0IG9mIGFsbCByb3dzIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQgdGhlIHJvdyBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd3NIZWlnaHQoaWQsIGhlaWdodCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZShyb3cgPT4ge1xuICAgIHJvdy5zZXRSb3dIZWlnaHQoaGVpZ2h0KTtcbiAgfSk7XG4gIG9wdGlvbnMuYXBpLm9uUm93SGVpZ2h0Q2hhbmdlZCgpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgZ2l2ZW4gcm93IGhlaWdodCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkIFxuICogQHBhcmFtIHtOdW1iZXJ9IGluZGV4IHRoZSByb3cgaW5kZXhcbiAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQgdGhlIG5ldyBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd0hlaWdodChpZCwgaW5kZXgsIGhlaWdodCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3Qgcm93ID0gb3B0aW9ucy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChpbmRleCk7XG5cbiAgaWYgKHJvdykge1xuICAgIHJvdy5zZXRSb3dIZWlnaHQoaGVpZ2h0KTtcbiAgICBvcHRpb25zLmFwaS5vblJvd0hlaWdodENoYW5nZWQoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBzZXQgaGVpZ2h0IGZvciByb3cgJHtpbmRleH0uIFJvdyBjYW4gbm90IGJlIGZvdW5kYCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFNlbGVjdGVkUm93cyhpZCwgcm93cykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZUFmdGVyRmlsdGVyQW5kU29ydChub2RlID0+IHtcbiAgICBpZiAocm93cy5pbmRleE9mKG5vZGUucm93SW5kZXgpID4gLTEpIHtcbiAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICBvcHRpb25zLmFwaS5vbkdyb3VwRXhwYW5kZWRPckNvbGxhcHNlZCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2VsZWN0QWxsKGlkLCBmaWx0ZXJlZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBpZiAoMSA9PT0gZmlsdGVyZWQpIHtcbiAgICBvcHRpb25zLmFwaS5zZWxlY3RBbGxGaWx0ZXJlZCgpO1xuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMuYXBpLnNlbGVjdEFsbCgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19kZXNlbGVjdEFsbChpZCwgZmlsdGVyZWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgaWYgKDEgPT09IGZpbHRlcmVkKSB7XG4gICAgb3B0aW9ucy5hcGkuZGVzZWxlY3RBbGxGaWx0ZXJlZCgpO1xuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMuYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgcm93c1xuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9ICBzZWxlY3RlZCByb3dzIGFzIEpTT05cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFNlbGVjdGVkUm93cyhpZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3Qgbm9kZXMgPSBvcHRpb25zLmFwaS5nZXRTZWxlY3RlZE5vZGVzKCk7XG4gIGxldCBwYXJzZWQgPSBbXTtcblxuICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgIHBhcnNlZC5wdXNoKGd3X3BhcnNlTm9kZShub2RlLCBvcHRpb25zLmNvbnRleHQpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBhcnNlZCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBsYXN0IHNlbGVjdGVkIHJvd1xuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHNlbGVjdGVkIHJvdyBhcyBKU09OXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRTZWxlY3RlZFJvdyhpZCkge1xuICBjb25zdCByb3dzID0gSlNPTi5wYXJzZShnd19nZXRTZWxlY3RlZFJvd3MoaWQpKTtcblxuICBpZiAocm93cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocm93c1tyb3dzLmxlbmd0aCAtIDFdKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxuLyoqXG4gKiBHZXQgUmFuZ2UgU2VsZWN0aW9uc1xuICogXG4gKiBUaGUgbWV0aG9kIHdpbGwgY3JlYXRlIGEgcmFuZ2UganNvbiBtb2RlbCBmb3IgZWFjaCByYW5nZSB3aGljaCBjYW4gYmUgcGFyc2VkIGluIEJCaiBzaWRlLlxuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHNlbGVjdGVkIHJhbmdlcyBhcyBKU09OXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRSYW5nZVNlbGVjdGlvbnMoaWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IGNvbnRleHQgPSBvcHRpb25zLmNvbnRleHQ7XG4gIGNvbnN0IGFwaSA9IG9wdGlvbnMuYXBpO1xuICBjb25zdCByYW5nZXMgPSBhcGkuZ2V0Q2VsbFJhbmdlcygpO1xuICBjb25zdCBtb2RlbCA9IGFwaS5nZXRNb2RlbCgpO1xuICBsZXQgcmVzdWx0ID0gW107XG5cbiAgcmFuZ2VzLmZvckVhY2gocmFuZ2UgPT4ge1xuXG4gICAgLy8gY29uc3Qgc3RhcnQgPSBnd19wYXJzZU5vZGUobW9kZWwuZ2V0Um93KHJhbmdlLnN0YXJ0Um93LnJvd0luZGV4KSwgb3B0aW9ucy5jb250ZXh0KTtcbiAgICAvLyBjb25zdCBlbmQgPSBnd19wYXJzZU5vZGUobW9kZWwuZ2V0Um93KHJhbmdlLmVuZFJvdy5yb3dJbmRleCksIG9wdGlvbnMuY29udGV4dCk7XG5cbiAgICAvL2lmIChzdGFydCAhPT0gZmFsc2UgJiYgZW5kICE9PSBmYWxzZSkge1xuICAgIGNvbnN0IGNvbHVtbnMgPSByYW5nZS5jb2x1bW5zLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnQpID0+IHtcblxuICAgICAgaWYgKFwiYWctR3JpZC1BdXRvQ29sdW1uXCIgIT09IGN1cnJlbnQuY29sSWQpIHtcbiAgICAgICAgYWNjdW11bGF0b3IucHVzaChjdXJyZW50LmNvbElkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgIH0sIFtdKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICBjb25zdCBzdGFySW5kZXggPSBNYXRoLm1pbihyYW5nZS5zdGFydFJvdy5yb3dJbmRleCwgcmFuZ2UuZW5kUm93LnJvd0luZGV4KTtcbiAgICBjb25zdCBlbmRJbmRleCA9IE1hdGgubWF4KHJhbmdlLnN0YXJ0Um93LnJvd0luZGV4LCByYW5nZS5lbmRSb3cucm93SW5kZXgpO1xuICAgIGNvbnN0IHJvd3MgPSBbXTtcblxuICAgIGZvciAobGV0IHJvd0luZGV4ID0gc3RhckluZGV4OyByb3dJbmRleCA8PSBlbmRJbmRleDsgcm93SW5kZXgrKykge1xuICAgICAgY29uc3Qgbm9kZSA9IG1vZGVsLmdldFJvdyhyb3dJbmRleCk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBwYXJzZWROb2RlID0gZ3dfcGFyc2VOb2RlKG5vZGUsIGNvbnRleHQpO1xuICAgICAgICBpZihwYXJzZWROb2RlKSByb3dzLnB1c2gocGFyc2VkTm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvd3MubGVuZ3RoICYmIGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICByZXN1bHQucHVzaCh7IHI6cm93cywgYzpjb2x1bW5zIH0pO1xuICAgIH1cbiAgICAvL31cbiAgfSk7XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XG59XG5cbi8qKlxuICogQWRkIG5ldyBjZWxsIHJhbmdlXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSByYW5nZSAgYm91bmRlZCBvciB1bmJvdW5kZWQgcmFuZ2UgbW9kZWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZENlbGxSYW5nZShpZCwgcmFuZ2UpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IHByID0gZGVlcFBhcnNlSnNvbihKU09OLnN0cmluZ2lmeShyYW5nZSkpO1xuICBjb25zdCBzdGFydCA9ICEocHIuc3RhcnQgfHwgbnVsbCkgP1xuICAgIDAgOiAoTnVtYmVyLmlzSW50ZWdlcigrcHIuc3RhcnQpID8gK3ByLnN0YXJ0IDogb3B0aW9ucy5hcGkuZ2V0Um93Tm9kZShwci5zdGFydCkucm93SW5kZXgpO1xuICBjb25zdCBlbmQgPSAhKHByLmVuZCB8fCBudWxsKSA/XG4gICAgKG9wdGlvbnMucm93RGF0YS5sZW5ndGggLSAxKSA6IChOdW1iZXIuaXNJbnRlZ2VyKCtwci5lbmQpID8gK3ByLmVuZCA6IG9wdGlvbnMuYXBpLmdldFJvd05vZGUocHIuZW5kKS5yb3dJbmRleCk7XG5cbiAgb3B0aW9ucy5hcGkuYWRkQ2VsbFJhbmdlKHtcbiAgICByb3dTdGFydEluZGV4OiBNYXRoLmFicyhzdGFydCksXG4gICAgcm93RW5kSW5kZXg6IE1hdGguYWJzKGVuZCksXG4gICAgY29sdW1uczogcHIuY29sdW1uc1xuICB9KTtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNlbGVjdGVkIHJhbmdlLlxuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19jbGVhclJhbmdlU2VsZWN0aW9uKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmNsZWFyUmFuZ2VTZWxlY3Rpb24oKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0YXRlKGlkLCBzdGF0ZSkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICB0cnkge1xuICAgIG9wdGlvbnMuY29sdW1uQXBpLnNldENvbHVtblN0YXRlKHN0YXRlLmNvbHVtbnMpO1xuICAgIG9wdGlvbnMuY29sdW1uQXBpLnNldENvbHVtbkdyb3VwU3RhdGUoc3RhdGUuZ3JvdXBzKTtcbiAgICBvcHRpb25zLmFwaS5zZXRTb3J0TW9kZWwoc3RhdGUuc29ydCk7XG4gICAgb3B0aW9ucy5hcGkuc2V0RmlsdGVyTW9kZWwoc3RhdGUuZmlsdGVycyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBwYXJzZSBncmlkIHN0YXRlIGZyb20gSlNPTicsIGUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRTdGF0ZShpZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3QgY29sdW1ucyA9IG9wdGlvbnMuY29sdW1uQXBpLmdldENvbHVtblN0YXRlKCk7XG4gIGNvbnN0IGdyb3VwcyA9IG9wdGlvbnMuY29sdW1uQXBpLmdldENvbHVtbkdyb3VwU3RhdGUoKTtcbiAgY29uc3Qgc29ydCA9IG9wdGlvbnMuYXBpLmdldFNvcnRNb2RlbCgpO1xuICBjb25zdCBmaWx0ZXJzID0gb3B0aW9ucy5hcGkuZ2V0RmlsdGVyTW9kZWwoKTtcblxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBjb2x1bW5zLFxuICAgICAgZ3JvdXBzLFxuICAgICAgc29ydCxcbiAgICAgIGZpbHRlcnNcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIGNvbnZlcnQgdGhlIGdyaWQgc3RhdGUgdG8ganNvbicsIGUpO1xuICB9XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTdGF0dXNiYXJDb21wb25lbnRWaXNpYmlsaXR5KGlkLCBrZXksIHZpc2liaWxpdHkpIHtcblx0Z3dfZ2V0R3JpZChpZClcblx0XHQub3B0aW9uc1xuXHRcdC5hcGlcblx0XHQuZ2V0U3RhdHVzUGFuZWwoa2V5KVxuXHRcdC5zZXRWaXNpYmxlKEJvb2xlYW4odmlzaWJpbGl0eSkpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U2lkZUJhclZpc2libGUoaWQsIHZhbHVlKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldFNpZGVCYXJWaXNpYmxlKEJvb2xlYW4odmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X29wZW5Ub29scGFuZWwoZ3JpZElkLCB0b29scGFuZWxJZCkge1xuICBnd19nZXRHcmlkKGdyaWRJZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAub3BlblRvb2xQYW5lbCh0b29scGFuZWxJZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19jbG9zZVRvb2xwYW5lbChncmlkSWQsIHRvb2xwYW5lbElkKSB7XG4gIGd3X2dldEdyaWQoZ3JpZElkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5jbG9zZVRvb2xQYW5lbCh0b29scGFuZWxJZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRGdW5jdGlvbnNSZWFkT25seShpZCwgcmVhZG9ubHkpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0RnVuY3Rpb25zUmVhZE9ubHkoQm9vbGVhbihyZWFkb25seSkpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG4vKipcbiAqIEdldCBkb2N1bWVudCBcbiAqIFxuICogR2V0IHRoZSBkb2N1bWVudCBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgQkJqIGVudlxuICogXG4gKiBAcmV0dXJuIHtPYmplY3R9IERvY3VtZW50IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXREb2N1bWVudCgpIHtcbiAgcmV0dXJuIHR5cGVvZiAkZG9jICE9PSAndW5kZWZpbmVkJyA/ICRkb2MgOiBkb2N1bWVudDtcbn1cblxuLyoqXG4gKiBHZXQgd2luZG93IFxuICogXG4gKiBHZXQgdGhlIHdpbmRvdyBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgQkJqIGVudlxuICogXG4gKiBAcmV0dXJuIHtPYmplY3R9IFdpbmRvdyBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0V2luZG93KCkge1xuICByZXR1cm4gdHlwZW9mICR3aW4gIT09ICd1bmRlZmluZWQnID8gJHdpbiA6IHdpbmRvdztcbn1cblxuLyoqXG4gKiBFc2NhcGUgVmFsdWUgXG4gKiBcbiAqIENoYW5nZSBudWxsIGFuZCB1bmRlZmluZWQgdG8gZW1wdHkgc3RyaW5nIFxuICogXG4gKiBAcGFyYW0geyp9IHZhbHVlIFxuICogXG4gKiBAcmV0dXJuIHtTdHJpbmd9IGVzY2FwZWQgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2VzY2FwZSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogJyc7XG59XG5cbi8qKlxuICogR2V0IEdyaWQgXG4gKiBcbiAqIFJldHJpZXZlIHRoZSBncmlkIGluc3RhbmNlIGZyb20gYHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRgIGFycmF5IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJuIHtPYmplY3R8bnVsbH0gVGhlIGdyaWQncyBpbnN0YW5jZSBvZnIgbnVsbFxuICogQHRocm93cyBUeXBlRXJyb3Igd2hlbiB0aGUgZ3JpZCBpbnN0YW5jZSBpcyBub3QgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldEdyaWQoaWQpIHtcbiAgd2luZG93LkJCakdyaWRFeFdpZGdldCA9IHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgfHwge307XG4gIGNvbnN0IGdyaWQgPSAgd2luZG93LkJCakdyaWRFeFdpZGdldFtpZF0gfHwgbnVsbDtcblxuICBpZiAoIWdyaWQpIHtcbiAgICBjb25zdCByZWdpc3RlcmVkR3JpZHMgPSBKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyh3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0KSk7XG4gICAgLy9nZXRGdW5jQXJncyhmdW5jKS5mb3JFYWNoKChrZXksIGkpID0+IGFyZ3NPYmpba2V5XSA9IGFyZ3NbaV0pO1xuICAgIFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG5gXFxuXFxuW0dyaWQgTm90IEZvdW5kXSBUaGUgbWV0aG9kIGFza2VkIGZvciBub24tZXhpc3RlbnQgZ3JpZCBpbnN0YW5jZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcXVpcmVkIEdyaWQgSWQgOiAke2lkfSAgIFxuUmVnaXN0ZXJlZCBHcmlkcyA6ICR7cmVnaXN0ZXJlZEdyaWRzfVxuYCk7XG4gIH1cbiAgXG4gIHJldHVybiBncmlkO1xufVxuXG4vKipcbiAqIEFkZCBHcmlkIFxuICogXG4gKiBTdG9yZSBhIG5ldyBncmlkIGluc3RhbmNlIGJ5IGluIHRoZSBgd2luZG93LkJCakdyaWRFeFdpZGdldGAgYXJyYXkgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAgVGhlIGdyaWQncyBvcHRpb25zXG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gU3RvcmVkIGdyaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZEdyaWQoaWQsIG9wdGlvbnMpIHtcbiAgd2luZG93LkJCakdyaWRFeFdpZGdldCA9IHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgfHwge307XG4gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRbaWRdID0gb3B0aW9ucztcbiAgXG4gIHJldHVybiBnd19nZXRHcmlkKGlkKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8vIHNlbGVjdGlvbiBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfQ0xJQ0sgPSA2OTtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfRE9VQkxFX0NMSUNLID0gNTI7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9DTElDSyA9IDUwMDE7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9ET1VCTEVfQ0xJQ0sgPSA1MDAyO1xuXG4vLyBlZGl0aW5nIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVEID0gNTAwMztcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCA9IDUwMDQ7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9WQUxVRV9DSEFOR0VEID0gNTAwNTtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVEICA9IDUwMDY7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCA9IDUwMDc7XG5cbi8vIHN0YXRlIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFID0gNTAwODtcblxuLy8gcmFuZ2Ugc2VsZWN0aW9uXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUkFOR0VfU0VMRUNUSU9OX0NIQU5HRUQgPSA1MDA5OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQsXG4gIEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsRWRpdGluZ1N0YXJ0ZWQnICA6IEdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVELFxuICAnY2VsbEVkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCxcbiAgJ2NlbGxWYWx1ZUNoYW5nZWQnICA6IEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbn07XG5cbmNvbnN0IFJPV19FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdyb3dFZGl0aW5nU3RhcnRlZCcgIDogR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgJ3Jvd0VkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVELFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgY2VsbEVkaXRpbmdTdGFydGVkYCAsIGBjZWxsRWRpdGluZ1N0b3BwZWRgIGFuZCBcbiAqIGBjZWxsVmFsdWVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbFZhbHVlQ2hhbmdlZFxuICogXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAZmlyZXMgZ3cuY2VsbFZhbHVlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB7XG5cbiAgY29uc3QgdmFsdWUgPSBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuICBjb25zdCBvbGRWYWx1ZSA9IGd3X2VzY2FwZShlLm9sZFZhbHVlKSB8fCBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuXG4gIC8vaWYgKHZhbHVlID09PSBvbGRWYWx1ZSkgcmV0dXJuO1xuXG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcbiAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgY29uc3QgY29sSWQgPSBlLmNvbHVtbi5jb2xJZDtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgZ3dfc2VuZEV2ZW50KFxuICAgICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgICAge1xuICAgICAgICAndHlwZSc6IGBndy4ke3R5cGV9YCxcbiAgICAgICAgJ2RldGFpbCc6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICByb3c6IHBhcnNlZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgICBjb2x1bW46IGNvbElkXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVBbdHlwZV1cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYHJvd0VkaXRpbmdTdGFydGVkYCAsIGByb3dFZGl0aW5nU3RvcHBlZGAgZXZlbnRzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cucm93RWRpdGluZ1N0b3BwZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSB7XG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgICBnd19zZW5kRXZlbnQoXG4gICAgICBnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsXG4gICAgICB7XG4gICAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeShwYXJzZWQpXG4gICAgICB9LFxuICAgICAgUk9XX0VESVRJTkdfRVZFTlRTX01BUFt0eXBlXVxuICAgICk7XG4gIH1cbn1cblxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQge1xuXHRnd19vblJvd0RvdWJsZUNsaWNrZWQsXG5cdGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcblx0Z3dfb25DZWxsQ2xpY2tFdmVudCxcblx0Z3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWRcbn0gZnJvbSBcIi4vc2VsZWN0aW9uc1wiO1xuXG5pbXBvcnQge1xuXHRnd19vbkNlbGxFZGl0aW5nRXZlbnQsXG5cdGd3X29uUm93RWRpdGluZ0V2ZW50XG59IGZyb20gXCIuL2VkaXRpbmdcIjtcblxuaW1wb3J0IHtcblx0Z3dfb25SZWFkeUV2ZW50XG59IGZyb20gXCIuL3N0YXRlXCI7XG5cbmltcG9ydCB7XG5cdGd3X2RlYm91bmNlXG59IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQge1xuXHRnd19vblJvd0RvdWJsZUNsaWNrZWQsXG5cdGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcblx0Z3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWQsXG5cdGd3X29uQ2VsbENsaWNrRXZlbnQsXG5cdGd3X29uQ2VsbEVkaXRpbmdFdmVudCxcblx0Z3dfb25Sb3dFZGl0aW5nRXZlbnQsXG5cdGd3X29uUmVhZHlFdmVudCxcblx0Z3dfZGVib3VuY2Vcbn07IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19zZW5kRXZlbnQsIGd3X3BhcnNlTm9kZUZyb21FdmVudCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfZXNjYXBlLCBnd19nZXRHcmlkIH0gZnJvbSBcImFwaS91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIEdXX0VWRU5UX1JPV19DTElDSyxcbiAgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyxcbiAgR1dfRVZFTlRfQ0VMTF9DTElDSyxcbiAgR1dfRVZFTlRfQ0VMTF9ET1VCTEVfQ0xJQ0ssXG4gIEdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jb25zdCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gICdjZWxsRG91YmxlQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLLFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgcm93RG91YmxlQ2xpY2tlZGAgZXZlbnRcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgc2VuZCBhIGJiaiBldmVudCB3aXRoIGBHV19OT0RFYCBhcyBwYXlsb2FkXG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlIFRoZSBldmVudCdzIHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0RvdWJsZUNsaWNrZWRcbiAqIEBmaXJlcyBndy5yb3dEb3VibGVDbGlja1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25Sb3dEb3VibGVDbGlja2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJvd0RvdWJsZUNsaWNrJyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyk7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc2VsZWN0aW9uQ2hhbmdlZGAgZXZlbnRcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5zZWxlY3Rpb25DaGFuZ2VkXG4gKiBAZmlyZXMgZ3cucm93U2VsZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblNlbGVjdGlvbkNoYW5nZWQoZSkge1xuICBjb25zdCBjb250ZXh0ID0gZS5hcGkuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLmNvbnRleHQ7XG4gIGd3X3NlbmRFdmVudChjb250ZXh0LCB7XG4gICAgJ3R5cGUnOiAnZ3cucm93U2VsZWN0JyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0NMSUNLKTtcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIHRoZSBncmlkIGByYW5nZVNlbGVjdGlvbkNoYW5nZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlIFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQucmFuZ2VTZWxlY3Rpb25DaGFuZ2VkXG4gKiBAZmlyZXMgZ3cucmFuZ2VTZWxlY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJhbmdlU2VsZWN0aW9uJyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUkFOR0VfU0VMRUNUSU9OX0NIQU5HRUQpO1xufVxuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgdGhlIGdyaWQgYGNlbGxDbGlja0V2ZW50YCAmIGBjZWxsRG91YmxlQ2xpY2tlZGAgZXZlbnRcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbENsaWNrRXZlbnRcbiAqIEBsaXN0ZW5zIGFnR3JpZC5jZWxsRG91YmxlQ2xpY2tlZFxuICogXG4gKiBAZmlyZXMgZ3cuY2VsbENsaWNrZWRcbiAqIEBmaXJlcyBndy5jZWxsRG91YmxlQ2xpY2tlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkge1xuICBjb25zdCBwYXJzZWQgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSk7XG5cbiAgaWYgKHBhcnNlZCkge1xuICAgIGNvbnN0IHR5cGUgPSBlLnR5cGU7XG4gICAgZ3dfc2VuZEV2ZW50KGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCwge1xuICAgICAgJ3R5cGUnOiBgZ3cuJHtlLnR5cGV9YCxcbiAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHJvdzogcGFyc2VkLFxuICAgICAgICB2YWx1ZTogZ3dfZXNjYXBlKGUudmFsdWUpLFxuICAgICAgICBvbGRWYWx1ZTogZ3dfZXNjYXBlKGUudmFsdWUpLFxuICAgICAgICBjb2x1bW46IGUuY29sdW1uLmNvbElkXG4gICAgICB9KVxuICAgIH0sIENFTExfQ0xJQ0tJTkdfRVZFTlRTX01BUFt0eXBlXSk7XG4gIH1cbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19kZWJvdW5jZSB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRVxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBPbiBSZWFkeSBFdmVudCBcbiAqIFxuICogVGhlIG1ldGhvZCB3aWxsIGlnbm9yZSBmaXJzdCByZWFkeSBldmVudCBhbmQgdGhlbiByZWdpc3RlciBhIGRlYm91bmNlZCBzdGF0ZVxuICogY2FsbGJhY2sgdG8gc2VuZCBzdGF0ZSBldmVudHMgdG8gQkJqXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUmVhZHlFdmVudChpZCwgZSkge1xuXG4gIC8vIHJlZ2lzdGVyIHN0YXRlIGRlYm91bmNlIG1vbml0b3IgXG4gIGNvbnN0IHN0YXRlRGVib3VuY2UgPSBnd19kZWJvdW5jZShjaGFuZ2VFdmVudCA9PiB7XG5cbiAgICAvLyBXZSBza2lwIHRoZSBmaXJzdCByZW5kZXIgc3RhdGUgY2hhbmdlc1xuICAgIC8vIGlmICghZ3dfZ2V0R3JpZChpZCkuaGFzT3duUHJvcGVydHkoJ2lzRmlyc3RSZW5kZXInKSkge1xuICAgIC8vIFx0Z3dfZ2V0R3JpZChpZCkuaXNGaXJzdFJlbmRlciA9IHRydWU7XG4gICAgLy8gXHRyZXR1cm47XG4gICAgLy8gfVxuXG4gICAgZ3dfb25TdGF0ZUNoYW5nZWQoaWQsIGNoYW5nZUV2ZW50KTtcbiAgfSwgNTAwKTtcblxuICBbXG4gICAgJ3NvcnRDaGFuZ2VkJyxcbiAgICAnZmlsdGVyQ2hhbmdlZCcsXG4gICAgJ2NvbHVtblZpc2libGUnLFxuICAgICdjb2x1bW5QaW5uZWQnLFxuICAgICdjb2x1bW5SZXNpemVkJyxcbiAgICAnY29sdW1uTW92ZWQnLFxuICAgICduZXdDb2x1bW5zTG9hZGVkJyxcbiAgICAnZ3JpZENvbHVtbnNDaGFuZ2VkJyxcbiAgICAnZGlzcGxheWVkQ29sdW1uc0NoYW5nZWQnLFxuICAgICd2aXJ0dWFsQ29sdW1uc0NoYW5nZWQnLFxuICAgICdjb2x1bW5FdmVyeXRoaW5nQ2hhbmdlZCcsXG4gICAgLy8nZ3JpZFNpemVDaGFuZ2VkJyxcbiAgICAnZXhwYW5kT3JDb2xsYXBzZUFsbCcsXG4gICAgLy8ndG9vbFBhbmVsVmlzaWJsZUNoYW5nZWQnXG4gIF0uZm9yRWFjaChldmVudCA9PiB7XG4gICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgc3RhdGVEZWJvdW5jZSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEFuIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBzdGF0ZUNoYW5nZWRgIGV2ZW50c1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5zdGF0ZUNoYW5nZWRcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yb3dFZGl0aW5nU3RvcHBlZFxuICogXG4gKiBAZmlyZXMgZ3cuc3RhdGVDaGFuZ2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblN0YXRlQ2hhbmdlZChpZCwgZSkge1xuICBnd19zZW5kRXZlbnQoXG4gICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgIHtcbiAgICAgICd0eXBlJzogJ2d3LnN0YXRlQ2hhbmdlZCcsXG4gICAgICAnZGV0YWlsJzogW11cbiAgICB9LFxuICAgIEdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFXG4gICk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXREb2N1bWVudCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5cbi8qKiBodHRwczovL2Rhdmlkd2Fsc2gubmFtZS9qYXZhc2NyaXB0LWRlYm91bmNlLWZ1bmN0aW9uICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7XG4gIHZhciB0aW1lb3V0O1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHZhciBjb250ZXh0ID0gdGhpcywgYXJncyA9IGFyZ3VtZW50cztcbiAgICB2YXIgbGF0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB0aW1lb3V0ID0gbnVsbDtcbiAgICAgIGlmICghaW1tZWRpYXRlKSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgIH07XG4gICAgdmFyIGNhbGxOb3cgPSBpbW1lZGlhdGUgJiYgIXRpbWVvdXQ7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGxhdGVyLCB3YWl0KTtcbiAgICBpZiAoY2FsbE5vdykgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBTZW5kIGFuIGV2ZW50IHRvIEJCaiBzaWRlIFxuICogXG4gKiBUaGUgZnVuY3Rpb24gd2lsbCB0cmlnZ2VyIGEgY3VzdG9tIGNsaWNrIGV2ZW50IG9uIHRoZSBgZXZlbnQtYnJpZGdlLSR7aWR9YCBkaXZcbiAqIHRoZW4gdGhlIGRpdiB3aWxsIHVzZSBiYXNpc0Rpc3BhdGNoQ3VzdG9tRXZlbnQgdG8gZGlzcGF0Y2ggdGhlIGV2ZW50IHRvIEJCalxuICogXG4gKiBAcGFyYW0ge0FycmF5fSBjb250ZXh0IHRoZSBncmlkJ3MgY29udGV4dFxuICogQHBhcmFtIHsqfSBwYXlsb2FkIHRoZSBldmVudCBwYXlsb2FkXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRJZCB0aGUgZXZlbnQncyBpZCBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NlbmRFdmVudChjb250ZXh0LCBwYXlsb2FkID0ge30sIGV2ZW50SWQgPSBbXSkge1xuICBjb25zdCByZWdpc3RlcmVkSW50ZXJlc3RzID0gY29udGV4dC5pbnRlcmVzdHMgfHwgW107XG5cbiAgaWYgKHJlZ2lzdGVyZWRJbnRlcmVzdHMuaW5jbHVkZXMoZXZlbnRJZCkpIHtcbiAgICBjb25zdCBkaXYgPSBnd19nZXREb2N1bWVudCgpLmdldEVsZW1lbnRCeUlkKGBldmVudC1icmlkZ2UtJHtjb250ZXh0LmlkfWApO1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjbGljaycpO1xuXG4gICAgZXZlbnQucGF5bG9hZCA9IHBheWxvYWQ7XG4gICAgZGl2LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICB9XG59XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gQkJqR3JpZEV4V2lkZ2V0Um93XG4gKiBcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpZCBcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpbmRleCBcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwYXJlbnRLZXkgXG4gKiBAcHJvcGVydHkge251bWJlcn0gY2hpbGRJbmRleCBcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gc2VsZWN0ZWQgXG4gKi9cblxuLyoqXG4gKiBQYXJzZSBhIG5vZGUgYXMgQkJqR3JpZEV4V2lkZ2V0Um93XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBub2RlIGFnIGdyaWQgbm9kZVxuICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgIGFnIGdyaWQgY29udGV4dFxuICogXG4gKiBAcmV0dXJucyB7QkJqR3JpZEV4V2lkZ2V0Um93fEJvb2xlYW59IG9iamVjdCBmb3JtYXR0ZWQgYXMgQkJqR3JpZEV4V2lkZ2V0Um93LlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSBpZiB0aGUgbm9kZSBpcyBmb3IgZ3JvdXAgbm9kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcGFyc2VOb2RlKG5vZGUsIGNvbnRleHQpIHtcblxuICBpZiAodHJ1ZSA9PT0gbm9kZS5ncm91cCkgcmV0dXJuIGZhbHNlOyAvLyB3ZSBkbyBub3QgbWFuYWdlIGdyb3Vwc1xuXG4gIGNvbnN0IHJvd05vZGVJZCA9IGNvbnRleHQuaGFzT3duUHJvcGVydHkoJ2dldFJvd05vZGVJZCcpICYmIG5vZGUuZGF0YVtjb250ZXh0LmdldFJvd05vZGVJZF0gP1xuICAgIG5vZGUuZGF0YVtjb250ZXh0LmdldFJvd05vZGVJZF0gOiAnJztcblxuICByZXR1cm4ge1xuICAgIGk6IHJvd05vZGVJZCA/IHJvd05vZGVJZCA6IG5vZGUuaWQsIC8vIGlkXG4gICAgeDogcm93Tm9kZUlkLCAvLyBpbmRleFxuICAgIHA6IG5vZGUuaGFzT3duUHJvcGVydHkoJ3BhcmVudCcpICYmIG5vZGUucGFyZW50Lmhhc093blByb3BlcnR5KCdrZXknKSA/XG4gICAgICBub2RlLnBhcmVudC5rZXkgOiAnJywgLy8gcGFyZW50IGtleVxuICAgIGM6IG5vZGUuY2hpbGRJbmRleCwgLy9jaGlsZEluZGV4XG4gICAgczogQm9vbGVhbihub2RlLnNlbGVjdGVkKSwgLy8gc2VsZWN0ZWQgXG4gIH07XG59XG5cbi8qKlxuICogUGFyc2Ugbm9kZSBmcm9tIGV2ZW50IFxuICogXG4gKiBQYXJzZSBub2RlIGluIHRoZSBwYVNzZWQgZXZlbnQgYXMgQkJqR3JpZEV4V2lkZ2V0Um93XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlXG4gKiBcbiAqIEByZXR1cm5zIHtCQmpHcmlkRXhXaWRnZXRSb3d9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSkge1xuICByZXR1cm4gZ3dfcGFyc2VOb2RlKGUubm9kZSwgZS5jb250ZXh0KTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0ICdleHBvc2UtbG9hZGVyP0Jhc2lzLkFnR3JpZENvbXBvbmVudHMhYWctZ3JpZC1jb21wb25lbnRzL2Rpc3QvYWdjLWJhc2ljLmJ1bmRsZS5qcyc7XG5cbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzJyk7XG5cbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1kYXJrLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1tYXRlcmlhbC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcycpO1xuXG5yZXF1aXJlKCcuL3N0eWxlL2NsYXNzZXMuY3NzJyk7XG5cbmV4cG9ydCAqIGZyb20gJy4vcG9seWZpbGxzLmpzJztcbmV4cG9ydCAqIGZyb20gXCIuL2FwaVwiO1xuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG4vKiogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0N1c3RvbUV2ZW50L0N1c3RvbUV2ZW50ICAqL1xuKGZ1bmN0aW9uICgpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGZhbHNlOyAvL0lmIG5vdCBJRVxuXG4gIGZ1bmN0aW9uIEN1c3RvbUV2ZW50KGV2ZW50LCBwYXJhbXMpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwgeyBidWJibGVzOiBmYWxzZSwgY2FuY2VsYWJsZTogZmFsc2UsIGRldGFpbDogdW5kZWZpbmVkIH07XG4gICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpO1xuICAgIGV2dC5pbml0Q3VzdG9tRXZlbnQoZXZlbnQsIHBhcmFtcy5idWJibGVzLCBwYXJhbXMuY2FuY2VsYWJsZSwgcGFyYW1zLmRldGFpbCk7XG4gICAgcmV0dXJuIGV2dDtcbiAgfVxuXG4gIEN1c3RvbUV2ZW50LnByb3RvdHlwZSA9IHdpbmRvdy5FdmVudC5wcm90b3R5cGU7XG5cbiAgd2luZG93LkN1c3RvbUV2ZW50ID0gQ3VzdG9tRXZlbnQ7XG59KSgpO1xuIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2NsYXNzZXMuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2NsYXNzZXMuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/client/dist/bbj-grid-widget.min.js b/client/dist/bbj-grid-widget.min.js index 0c86a864..a6932d62 100644 --- a/client/dist/bbj-grid-widget.min.js +++ b/client/dist/bbj-grid-widget.min.js @@ -616,7 +616,7 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!**************************!*\ !*** ./src/api/menus.js ***! \**************************/ -/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_getContextMenu=function(e,n){return function a(r){return r.forEach(function(r){"string"!=typeof r&&(r.action=function(n,a){return function(){var r=(0,o.gw_parseNodeFromEvent)(n),g=n.column.colId,l=n.value;(0,o.gw_sendEvent)((0,t.gw_getGrid)(e).options.context,{type:"gw.contextmenu",detail:JSON.stringify({row:r,column:g,value:l,id:a})},a)}}(n,r.id),r.cssClasses&&!Array.isArray(r.cssClasses)&&(r.cssClasses=r.cssClasses.split(" ")),r.subMenu&&(r.subMenu=a(r.subMenu)))}),r}((0,t.gw_getGrid)(e).options.context.contextMenu)};var t=a(/*! ./utilities */"./src/api/utilities.js"),o=a(/*! events/utilities */"./src/events/utilities.js")},"./src/api/overlays.js": +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_getContextMenu=function(e,n){return function a(r){return r.forEach(function(r){"string"!=typeof r&&(r.action=function(n,a){return function(){var r=(0,o.gw_parseNodeFromEvent)(n),g=n.column.colId,l=n.value;(0,o.gw_sendEvent)((0,t.gw_getGrid)(e).options.context,{type:"gw.contextmenu",detail:JSON.stringify({r:r,c:g,v:l,i:a})},a)}}(n,r.id),r.cssClasses&&!Array.isArray(r.cssClasses)&&(r.cssClasses=r.cssClasses.split(" ")),r.subMenu&&(r.subMenu=a(r.subMenu)))}),r}((0,t.gw_getGrid)(e).options.context.contextMenu)};var t=a(/*! ./utilities */"./src/api/utilities.js"),o=a(/*! events/utilities */"./src/events/utilities.js")},"./src/api/overlays.js": /*!*****************************!*\ !*** ./src/api/overlays.js ***! \*****************************/ @@ -624,7 +624,7 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!*************************!*\ !*** ./src/api/rows.js ***! \*************************/ -/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_setQuickFilter=function(e,n){(0,t.gw_getGrid)(e).options.api.setQuickFilter(n)},n.gw_expandAll=function(e){(0,t.gw_getGrid)(e).options.api.expandAll()},n.gw_collapseAll=function(e){(0,t.gw_getGrid)(e).options.api.collapseAll()},n.gw_setVisibleRow=function(e,n,a){(0,t.gw_getGrid)(e).options.api.ensureIndexVisible(n,a)},n.gw_navigateToNextRow=function(e,n){var a=(0,t.gw_getGrid)(e).options,o=n.previousCellPosition,r=n.nextCellPosition;switch(n.key){case 40:return a.api.forEachNode(function(e){o.rowIndex+1===e.rowIndex&&e.setSelected(!0)}),r;case 38:return a.api.forEachNode(function(e){o.rowIndex-1===e.rowIndex&&e.setSelected(!0)}),r;case 37:case 39:return r;default:throw new Error("You have super strange keyboard")}},n.gw_getRowNodeId=function(e,n){return n[(0,t.gw_getGrid)(e).options.context.getRowNodeId]},n.gw_setRowsData=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.setRowData(n),a.rowData=n,a.api.refreshClientSideRowModel("group")},n.gw_setRowData=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.updateRowData({update:[n]}),a.api.refreshClientSideRowModel("group")},n.gw_removeRows=function(e,n){var a=(0,t.gw_getGrid)(e).options,o=[];n.forEach(function(e){o.push(a.api.getRowNode(e).data)}),a.api.updateRowData({remove:o}),a.api.refreshClientSideRowModel("group")},n.gw_addRows=function(e,n,a){var o=(0,t.gw_getGrid)(e).options;o.api.updateRowData({add:a,addIndex:n}),o.api.refreshClientSideRowModel("group")},n.gw_setRowsHeight=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.forEachNode(function(e){e.setRowHeight(n)}),a.api.onRowHeightChanged()},n.gw_setRowHeight=function(e,n,a){var o=(0,t.gw_getGrid)(e).options,r=o.api.getDisplayedRowAtIndex(n);r?(r.setRowHeight(a),o.api.onRowHeightChanged()):console.warn("Failed to set height for row ".concat(n,". Row can not be found"))},n.gw_setSelectedRows=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.forEachNodeAfterFilterAndSort(function(e){n.indexOf(e.rowIndex)>-1&&(e.setSelected(!0),e.expanded=!0)}),a.api.onGroupExpandedOrCollapsed()},n.gw_selectAll=function(e,n){var a=(0,t.gw_getGrid)(e).options;1===n?a.api.selectAllFiltered():a.api.selectAll()},n.gw_deselectAll=function(e,n){var a=(0,t.gw_getGrid)(e).options;1===n?a.api.deselectAllFiltered():a.api.deselectAll()},n.gw_getSelectedRows=g,n.gw_getSelectedRow=function(e){var n=JSON.parse(g(e));if(n.length)return JSON.stringify(n[n.length-1]);return""},n.gw_getRangeSelections=function(e){var n=(0,t.gw_getGrid)(e).options,a=n.context,r=n.api,g=r.getCellRanges(),l=r.getModel(),i=[];return g.forEach(function(e){for(var n=e.columns.reduce(function(e,n){return"ag-Grid-AutoColumn"!==n.colId&&e.push(n.colId),e},[]).filter(Boolean),t=Math.min(e.startRow.rowIndex,e.endRow.rowIndex),r=Math.max(e.startRow.rowIndex,e.endRow.rowIndex),g=[],d=t;d<=r;d++){var p=l.getRow(d);if(p){var c=(0,o.gw_parseNode)(p,a);c&&g.push(c)}}g.length&&n.length&&i.push({rows:g,columns:n})}),JSON.stringify(i)},n.gw_addCellRange=function(e,n){var a=(0,t.gw_getGrid)(e).options,o=r(JSON.stringify(n)),g=o.start?Number.isInteger(+o.start)?+o.start:a.api.getRowNode(o.start).rowIndex:0,l=o.end?Number.isInteger(+o.end)?+o.end:a.api.getRowNode(o.end).rowIndex:a.rowData.length-1;a.api.addCellRange({rowStartIndex:Math.abs(g),rowEndIndex:Math.abs(l),columns:o.columns})},n.gw_clearRangeSelection=function(e){(0,t.gw_getGrid)(e).options.api.clearRangeSelection()};var t=a(/*! ./utilities */"./src/api/utilities.js"),o=a(/*! events/utilities */"./src/events/utilities.js"),r=a(/*! deep-parse-json */"./node_modules/deep-parse-json/index.js").deepParseJson;function g(e){var n=(0,t.gw_getGrid)(e).options,a=[];return n.api.getSelectedNodes().forEach(function(e){a.push((0,o.gw_parseNode)(e,n.context))}),JSON.stringify(a)}},"./src/api/state.js": +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_setQuickFilter=function(e,n){(0,t.gw_getGrid)(e).options.api.setQuickFilter(n)},n.gw_expandAll=function(e){(0,t.gw_getGrid)(e).options.api.expandAll()},n.gw_collapseAll=function(e){(0,t.gw_getGrid)(e).options.api.collapseAll()},n.gw_setVisibleRow=function(e,n,a){(0,t.gw_getGrid)(e).options.api.ensureIndexVisible(n,a)},n.gw_navigateToNextRow=function(e,n){var a=(0,t.gw_getGrid)(e).options,o=n.previousCellPosition,r=n.nextCellPosition;switch(n.key){case 40:return a.api.forEachNode(function(e){o.rowIndex+1===e.rowIndex&&e.setSelected(!0)}),r;case 38:return a.api.forEachNode(function(e){o.rowIndex-1===e.rowIndex&&e.setSelected(!0)}),r;case 37:case 39:return r;default:throw new Error("You have super strange keyboard")}},n.gw_getRowNodeId=function(e,n){return n[(0,t.gw_getGrid)(e).options.context.getRowNodeId]},n.gw_setRowsData=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.setRowData(n),a.rowData=n,a.api.refreshClientSideRowModel("group")},n.gw_setRowData=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.updateRowData({update:[n]}),a.api.refreshClientSideRowModel("group")},n.gw_removeRows=function(e,n){var a=(0,t.gw_getGrid)(e).options,o=[];n.forEach(function(e){o.push(a.api.getRowNode(e).data)}),a.api.updateRowData({remove:o}),a.api.refreshClientSideRowModel("group")},n.gw_addRows=function(e,n,a){var o=(0,t.gw_getGrid)(e).options;o.api.updateRowData({add:a,addIndex:n}),o.api.refreshClientSideRowModel("group")},n.gw_setRowsHeight=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.forEachNode(function(e){e.setRowHeight(n)}),a.api.onRowHeightChanged()},n.gw_setRowHeight=function(e,n,a){var o=(0,t.gw_getGrid)(e).options,r=o.api.getDisplayedRowAtIndex(n);r?(r.setRowHeight(a),o.api.onRowHeightChanged()):console.warn("Failed to set height for row ".concat(n,". Row can not be found"))},n.gw_setSelectedRows=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.forEachNodeAfterFilterAndSort(function(e){n.indexOf(e.rowIndex)>-1&&(e.setSelected(!0),e.expanded=!0)}),a.api.onGroupExpandedOrCollapsed()},n.gw_selectAll=function(e,n){var a=(0,t.gw_getGrid)(e).options;1===n?a.api.selectAllFiltered():a.api.selectAll()},n.gw_deselectAll=function(e,n){var a=(0,t.gw_getGrid)(e).options;1===n?a.api.deselectAllFiltered():a.api.deselectAll()},n.gw_getSelectedRows=g,n.gw_getSelectedRow=function(e){var n=JSON.parse(g(e));if(n.length)return JSON.stringify(n[n.length-1]);return""},n.gw_getRangeSelections=function(e){var n=(0,t.gw_getGrid)(e).options,a=n.context,r=n.api,g=r.getCellRanges(),l=r.getModel(),i=[];return g.forEach(function(e){for(var n=e.columns.reduce(function(e,n){return"ag-Grid-AutoColumn"!==n.colId&&e.push(n.colId),e},[]).filter(Boolean),t=Math.min(e.startRow.rowIndex,e.endRow.rowIndex),r=Math.max(e.startRow.rowIndex,e.endRow.rowIndex),g=[],d=t;d<=r;d++){var p=l.getRow(d);if(p){var c=(0,o.gw_parseNode)(p,a);c&&g.push(c)}}g.length&&n.length&&i.push({r:g,c:n})}),JSON.stringify(i)},n.gw_addCellRange=function(e,n){var a=(0,t.gw_getGrid)(e).options,o=r(JSON.stringify(n)),g=o.start?Number.isInteger(+o.start)?+o.start:a.api.getRowNode(o.start).rowIndex:0,l=o.end?Number.isInteger(+o.end)?+o.end:a.api.getRowNode(o.end).rowIndex:a.rowData.length-1;a.api.addCellRange({rowStartIndex:Math.abs(g),rowEndIndex:Math.abs(l),columns:o.columns})},n.gw_clearRangeSelection=function(e){(0,t.gw_getGrid)(e).options.api.clearRangeSelection()};var t=a(/*! ./utilities */"./src/api/utilities.js"),o=a(/*! events/utilities */"./src/events/utilities.js"),r=a(/*! deep-parse-json */"./node_modules/deep-parse-json/index.js").deepParseJson;function g(e){var n=(0,t.gw_getGrid)(e).options,a=[];return n.api.getSelectedNodes().forEach(function(e){a.push((0,o.gw_parseNode)(e,n.context))}),JSON.stringify(a)}},"./src/api/state.js": /*!**************************!*\ !*** ./src/api/state.js ***! \**************************/ @@ -664,7 +664,7 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!*********************************!*\ !*** ./src/events/utilities.js ***! \*********************************/ -/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_debounce=function(e,n,a){var t;return function(){var o=this,r=arguments,g=a&&!t;clearTimeout(t),t=setTimeout(function(){t=null,a||e.apply(o,r)},n),g&&e.apply(o,r)}},n.gw_sendEvent=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if((e.interests||[]).includes(a)){var o=(0,t.gw_getDocument)().getElementById("event-bridge-".concat(e.id)),r=new CustomEvent("click");r.payload=n,o.dispatchEvent(r)}},n.gw_parseNode=o,n.gw_parseNodeFromEvent=function(e){return o(e.node,e.context)};var t=a(/*! api/utilities */"./src/api/utilities.js");function o(e,n){if(!0===e.group)return!1;var a=n.hasOwnProperty("getRowNodeId")&&e.data[n.getRowNodeId]?e.data[n.getRowNodeId]:"";return{id:a||e.id,index:a,parentKey:e.hasOwnProperty("parent")&&e.parent.hasOwnProperty("key")?e.parent.key:"",childIndex:e.childIndex,selected:Boolean(e.selected)}}},"./src/index.js": +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_debounce=function(e,n,a){var t;return function(){var o=this,r=arguments,g=a&&!t;clearTimeout(t),t=setTimeout(function(){t=null,a||e.apply(o,r)},n),g&&e.apply(o,r)}},n.gw_sendEvent=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if((e.interests||[]).includes(a)){var o=(0,t.gw_getDocument)().getElementById("event-bridge-".concat(e.id)),r=new CustomEvent("click");r.payload=n,o.dispatchEvent(r)}},n.gw_parseNode=o,n.gw_parseNodeFromEvent=function(e){return o(e.node,e.context)};var t=a(/*! api/utilities */"./src/api/utilities.js");function o(e,n){if(!0===e.group)return!1;var a=n.hasOwnProperty("getRowNodeId")&&e.data[n.getRowNodeId]?e.data[n.getRowNodeId]:"";return{i:a||e.id,x:a,p:e.hasOwnProperty("parent")&&e.parent.hasOwnProperty("key")?e.parent.key:"",c:e.childIndex,s:Boolean(e.selected)}}},"./src/index.js": /*!**********************!*\ !*** ./src/index.js ***! \**********************/ diff --git a/client/dist/report.html b/client/dist/report.html index b5508f11..891692d9 100644 --- a/client/dist/report.html +++ b/client/dist/report.html @@ -18,7 +18,7 @@
diff --git a/client/src/api/menus.js b/client/src/api/menus.js index a526d8a7..062f4db8 100644 --- a/client/src/api/menus.js +++ b/client/src/api/menus.js @@ -24,7 +24,7 @@ export function gw_getContextMenu(gridId, params) { gw_sendEvent(gw_getGrid(gridId).options.context, { 'type': 'gw.contextmenu', - 'detail': JSON.stringify({ row: node, column: colId, value, id }) + 'detail': JSON.stringify({ r: node, c: colId, v:value, i:id }) }, id); }; }; diff --git a/client/src/api/rows.js b/client/src/api/rows.js index 3f52d673..5ddece27 100644 --- a/client/src/api/rows.js +++ b/client/src/api/rows.js @@ -260,7 +260,7 @@ export function gw_getRangeSelections(id) { } if (rows.length && columns.length) { - result.push({ rows, columns }); + result.push({ r:rows, c:columns }); } //} }); diff --git a/client/src/events/utilities.js b/client/src/events/utilities.js index facb41ee..577c1dd9 100644 --- a/client/src/events/utilities.js +++ b/client/src/events/utilities.js @@ -73,12 +73,12 @@ export function gw_parseNode(node, context) { node.data[context.getRowNodeId] : ''; return { - id: rowNodeId ? rowNodeId : node.id, - index: rowNodeId, - parentKey: node.hasOwnProperty('parent') && node.parent.hasOwnProperty('key') ? - node.parent.key : '', - childIndex: node.childIndex, - selected: Boolean(node.selected), + i: rowNodeId ? rowNodeId : node.id, // id + x: rowNodeId, // index + p: node.hasOwnProperty('parent') && node.parent.hasOwnProperty('key') ? + node.parent.key : '', // parent key + c: node.childIndex, //childIndex + s: Boolean(node.selected), // selected }; }