diff --git a/client/dist/bbj-grid-widget.js b/client/dist/bbj-grid-widget.js index b1442339..73809744 100644 --- a/client/dist/bbj-grid-widget.js +++ b/client/dist/bbj-grid-widget.js @@ -10743,6 +10743,8 @@ exports.gw_clearRangeSelection = gw_clearRangeSelection; var _utilities = __webpack_require__(/*! ./utilities */ "./src/api/utilities.js"); +var _utilities2 = __webpack_require__(/*! events/utilities */ "./src/events/utilities.js"); + /* * This file is part of the BBjGridExWidget plugin. * (c) Basis Europe @@ -10750,7 +10752,8 @@ var _utilities = __webpack_require__(/*! ./utilities */ "./src/api/utilities.js" * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - +var _require = __webpack_require__(/*! deep-parse-json */ "./node_modules/deep-parse-json/index.js"), + deepParseJson = _require.deepParseJson; /** * Start cell editing * @@ -10760,6 +10763,8 @@ var _utilities = __webpack_require__(/*! ./utilities */ "./src/api/utilities.js" * @param {String|Number} key Key press * @param {String} char */ + + function gw_startEditingCell(id, row, colKey, key, char) { var options = (0, _utilities.gw_getGrid)(id).options; options.api.setFocusedCell(Number(row), colKey); @@ -10843,7 +10848,7 @@ function gw_getRangeSelections(id) { var node = model.getRow(rowIndex); if (node) { - var parsedNode = gw_parseNode(node, context); + var parsedNode = (0, _utilities2.gw_parseNode)(node, context); if (parsedNode) rows.push(parsedNode); } } @@ -10862,13 +10867,12 @@ function gw_getRangeSelections(id) { * Parse the cells range in a format the grid can understand when it is passed * to `api.addCellRange` * - * @param {Number} id grid's id + * @param {Object} options The grid's options * @param {Object} range bounded or unbounded range model */ -function gw_parseAddCellRange(id, range) { - var options = (0, _utilities.gw_getGrid)(id).options; +function gw_parseAddCellRange(options, range) { var pr = deepParseJson(JSON.stringify(range)); var start = !(pr.start || null) ? 0 : Number.isInteger(+pr.start) ? +pr.start : options.api.getRowNode(pr.start).rowIndex; var end = !(pr.end || null) ? options.rowData.length - 1 : Number.isInteger(+pr.end) ? +pr.end : options.api.getRowNode(pr.end).rowIndex; @@ -10887,7 +10891,8 @@ function gw_parseAddCellRange(id, range) { function gw_addCellRange(id, range) { - options.api.addCellRange(gw_parseAddCellRange(id, range)); + var options = (0, _utilities.gw_getGrid)(id).options; + options.api.addCellRange(gw_parseAddCellRange(options, range)); } /** * Clears the selected range. @@ -10916,7 +10921,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.gw_getChartToolbarItems = gw_getChartToolbarItems; -exports.gw_addChartRange = gw_addChartRange; /* * This file is part of the BBjGridExWidget plugin. @@ -10935,25 +10939,6 @@ exports.gw_addChartRange = gw_addChartRange; function gw_getChartToolbarItems(params) { return params.api.gridOptionsWrapper.gridOptions.context.chartToolbarItems || []; } -/** - * Add new chart range - * - * @param {Number} id grid's id - * @param {Object} range bounded or unbounded range model - */ - - -function gw_addChartRange(id, range) { - var options = gw_getGrid(id).options; - var pr = deepParseJson(JSON.stringify(cellRange)); - var start = !(pr.start || null) ? 0 : Number.isInteger(+pr.start) ? +pr.start : options.api.getRowNode(pr.start).rowIndex; - var end = !(pr.end || null) ? options.rowData.length - 1 : Number.isInteger(+pr.end) ? +pr.end : options.api.getRowNode(pr.end).rowIndex; - options.api.addCellRange({ - rowStartIndex: Math.abs(start), - rowEndIndex: Math.abs(end), - columns: pr.columns - }); -} /***/ }), @@ -12921,4 +12906,4 @@ module.exports = __webpack_require__(/*! ./src/index.js */"./src/index.js"); /***/ }) /******/ }))); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzP2I0MzYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcz9jZGMxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzP2I5MzAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzPzA5NTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3M/M2Y1NiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3M/OGM0ZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzPzdkMDAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcz8xMWFlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2Zvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL251bWJlci9pcy1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL3N0cmluZy9zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmljdC1tZXRob2QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWxlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZWVwLXBhcnNlLWpzb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tcG9uZW50cy9kaXN0L2FnYy1iYXNpYy5idW5kbGUuanMtZXhwb3NlZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanNzL2pzcy5qcy1leHBvc2VkIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qc3MvanNzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcHBseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcnJheUxpa2VLZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2FycmF5TWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VBc3NpZ25WYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlR2V0VGFnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VJc0FyZ3VtZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlSXNOYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VQcm9wZXJ0eU9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VSZXN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VTZXRUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVGltZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VVbmFyeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVmFsdWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvcHlPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY29yZUpzRGF0YS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jdXN0b21EZWZhdWx0c0Fzc2lnbkluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2RlZmluZVByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZUh0bWxDaGFyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZVN0cmluZ0NoYXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZnJlZUdsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXROYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0UHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2dldFJhd1RhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXRWYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc0luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzSXRlcmF0ZWVDYWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzTWFza2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzUHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25hdGl2ZUtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fbmF0aXZlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25vZGVVdGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX29iamVjdFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX292ZXJBcmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fb3ZlclJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFc2NhcGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFdmFsdWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19yZUludGVycG9sYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3Jvb3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2V0VG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2hvcnRPdXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fdG9Tb3VyY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hc3NpZ25JbldpdGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hdHRlbXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvY29uc3RhbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9lcS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2VzY2FwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lkZW50aXR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0FycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcnJheUxpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0J1ZmZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzRXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0Z1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNMZW5ndGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc09iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzT2JqZWN0TGlrZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzUGxhaW5PYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2tleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9rZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9zdHViRmFsc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90ZW1wbGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL3RlbXBsYXRlU2V0dGluZ3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90b1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc3R5bGUvY2xhc3Nlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL3VybHMuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY2VsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jaGFydHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jb2x1bW5zLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY29udGV4dC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvaW5pdC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2pzcy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL21lbnVzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvb3ZlcmxheXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9yb3dzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9zdGF0dXNiYXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS90b29scGFuZWwuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9jb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9lZGl0aW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9zZWxlY3Rpb25zLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9wb2x5ZmlsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlL2NsYXNzZXMuY3NzP2I3MzgiXSwibmFtZXMiOlsiZGVlcFBhcnNlSnNvbiIsImpzb25TdHJpbmciLCJKU09OIiwicGFyc2UiLCJlcnIiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWwiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwib2JqIiwia2V5IiwibW9kdWxlIiwiZXhwb3J0cyIsImd3X3N0YXJ0RWRpdGluZ0NlbGwiLCJpZCIsInJvdyIsImNvbEtleSIsImNoYXIiLCJvcHRpb25zIiwiYXBpIiwic2V0Rm9jdXNlZENlbGwiLCJOdW1iZXIiLCJzdGFydEVkaXRpbmdDZWxsIiwicm93SW5kZXgiLCJrZXlQcmVzcyIsImNoYXJQcmVzcyIsImd3X3N0b3BFZGl0aW5nIiwiY2FuY2VsIiwic3RvcEVkaXRpbmciLCJnd19lZGl0TmV4dENlbGwiLCJ0YWJUb05leHRDZWxsIiwiZ3dfZWRpdFByZXZpb3VzQ2VsbCIsInRhYlRvUHJldmlvdXNDZWxsIiwiZ3dfc2V0Rm9jdXNlZENlbGwiLCJjb2x1bW4iLCJyIiwiaXNJbnRlZ2VyIiwiZ2V0Um93Tm9kZSIsImMiLCJjb2x1bW5BcGkiLCJnZXRBbGxHcmlkQ29sdW1ucyIsImNvbElkIiwiZ3dfZ2V0UmFuZ2VTZWxlY3Rpb25zIiwiY29udGV4dCIsInJhbmdlcyIsImdldENlbGxSYW5nZXMiLCJtb2RlbCIsImdldE1vZGVsIiwicmVzdWx0IiwiZm9yRWFjaCIsInJhbmdlIiwiY29sdW1ucyIsImFjY3VtdWxhdG9yIiwiY3VycmVudCIsInB1c2giLCJmaWx0ZXIiLCJCb29sZWFuIiwic3RhckluZGV4IiwiTWF0aCIsIm1pbiIsInN0YXJ0Um93IiwiZW5kUm93IiwiZW5kSW5kZXgiLCJtYXgiLCJyb3dzIiwibm9kZSIsImdldFJvdyIsInBhcnNlZE5vZGUiLCJnd19wYXJzZU5vZGUiLCJsZW5ndGgiLCJzdHJpbmdpZnkiLCJnd19wYXJzZUFkZENlbGxSYW5nZSIsInByIiwic3RhcnQiLCJlbmQiLCJyb3dEYXRhIiwicm93U3RhcnRJbmRleCIsImFicyIsInJvd0VuZEluZGV4IiwiZ3dfYWRkQ2VsbFJhbmdlIiwiYWRkQ2VsbFJhbmdlIiwiZ3dfY2xlYXJSYW5nZVNlbGVjdGlvbiIsImNsZWFyUmFuZ2VTZWxlY3Rpb24iLCJnd19nZXRDaGFydFRvb2xiYXJJdGVtcyIsInBhcmFtcyIsImdyaWRPcHRpb25zV3JhcHBlciIsImdyaWRPcHRpb25zIiwiY2hhcnRUb29sYmFySXRlbXMiLCJnd19hZGRDaGFydFJhbmdlIiwiZ3dfZ2V0R3JpZCIsImNlbGxSYW5nZSIsInJlcXVpcmUiLCJnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyIsImRlZmluaXRpb25zIiwiaSIsImRlZiIsImNoZWNrYm94U2VsZWN0aW9uIiwiZ3dfaXNTaG93U2VsZWN0aW9uQ2hlY2tib3giLCJoZWFkZXJDaGVja2JveFNlbGVjdGlvbiIsImd3X2lzSGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24iLCJnd19zZXRDb2x1bW5EZWZpbml0aW9ucyIsImdyaWQiLCJkZWVwUGFyc2VkRGVmaW5pdGlvbnMiLCJzZXRDb2x1bW5EZWZzIiwiY29sdW1uRGVmcyIsImd3X3NpemVDb2x1bW5zVG9GaXQiLCJzaXplQ29sdW1uc1RvRml0IiwiZ3dfc2V0VmlzaWJsZUNvbHVtbiIsImNvbHVtbklkIiwiZW5zdXJlQ29sdW1uVmlzaWJsZSIsImd3X3NldENvbHVtbldpZHRoIiwid2lkdGgiLCJzZXRDb2x1bW5XaWR0aCIsImd3X3BpbkNvbHVtbiIsInBpbiIsInNldENvbHVtblBpbm5lZCIsImd3X21vdmVDb2x1bW4iLCJ0b0luZGV4IiwibW92ZUNvbHVtbiIsInBhcmFtIiwic2hvd1NlbGVjdGlvbkNoZWNrYm94IiwiZ2V0QWxsRGlzcGxheWVkVmlydHVhbENvbHVtbnMiLCJjb2xEZWYiLCJmaWVsZCIsInNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveCIsImd3X2FkZFJvd0dyb3VwQ29sdW1uIiwic2V0Iiwic3BsaXQiLCJ0cmltIiwiZ3dfcmVtb3ZlUm93R3JvdXBDb2x1bW4iLCJyZW1vdmVSb3dHcm91cENvbHVtbnMiLCJnd19nZXRQaXZvdE1vZGUiLCJpc1Bpdm90TW9kZSIsImd3X3NldFBpdm90TW9kZSIsIm1vZGUiLCJzZXRQaXZvdE1vZGUiLCJnd19hZGRQaXZvdENvbHVtbnMiLCJnd19yZW1vdmVQaXZvdENvbHVtbnMiLCJyZW1vdmVQaXZvdENvbHVtbnMiLCJnd19hZGRWYWx1ZUNvbHVtbnMiLCJhZGRWYWx1ZUNvbHVtbnMiLCJnd19yZW1vdmVWYWx1ZUNvbHVtbnMiLCJyZW1vdmVWYWx1ZUNvbHVtbnMiLCJnd191cGRhdGVDb250ZXh0IiwidmFsdWUiLCJ0ZW1wbGF0ZSIsImd3X2luaXQiLCJsaWNlbnNlIiwiZGF0YSIsImFnR3JpZCIsIkxpY2Vuc2VNYW5hZ2VyIiwic2V0TGljZW5zZUtleSIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwiaW5uZXJIVE1MIiwicGFyc2VkT3B0aW9ucyIsImd3X3BhcnNlT3B0aW9ucyIsImluc3RhbmNlIiwiR3JpZCIsImNvbnNvbGUiLCJsb2ciLCJkZWVwUGFyc2VkT3B0aW9ucyIsImdldERhdGFQYXRoVGVtcGxhdGUiLCJnZXREYXRhUGF0aCIsImRlYm91bmNlRHVyYXRpb24iLCJmaW5hbE9wdGlvbnMiLCJnZXREb2N1bWVudCIsIm9uQ2VsbEVkaXRpbmdTdGFydGVkIiwiZSIsIm9uQ2VsbEVkaXRpbmdTdG9wcGVkIiwib25DZWxsVmFsdWVDaGFuZ2VkIiwib25Sb3dFZGl0aW5nU3RhcnRlZCIsIm9uUm93RWRpdGluZ1N0b3BwZWQiLCJvblJvd1ZhbHVlQ2hhbmdlZCIsIm9uQ2VsbENsaWNrZWQiLCJvbkNlbGxEb3VibGVDbGlja2VkIiwib25HcmlkUmVhZHkiLCJnZXRSb3dOb2RlSWQiLCJnd19nZXRSb3dOb2RlSWQiLCJnZXRDb250ZXh0TWVudUl0ZW1zIiwiYm9keSIsImd3X29uUm93RG91YmxlQ2xpY2tlZCIsImd3X29uU2VsZWN0aW9uQ2hhbmdlZCIsImd3X29uUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkIiwiQmFzaXMiLCJBZ0dyaWRDb21wb25lbnRzIiwiQmFzaWNCb29sZWFuc1JlbmRlcmVyIiwiQmFzaWNCb29sZWFuc0VkaXRvciIsIkJhc2ljQm9vbGVhbnNGaWx0ZXIiLCJCYXNpY051bWJlcnNFZGl0b3IiLCJCYXNpY0RhdGVUaW1lc0VkaXRvciIsIkJhc2ljRGF0ZVRpbWVzRmlsdGVyIiwiQmFzaWNJbWFnZXNSZW5kZXJlciIsImNvbXBpbGVkIiwiX19URU1QTEFURV9fIiwiaGFzT3duUHJvcGVydHkiLCJuYXZpZ2F0ZVRvTmV4dENlbGwiLCJ0cmVlRGF0YSIsImdldERhdGFQYXRoVGVtcGxhdGVDb21wbGllZCIsImZvcm1hdFNlbGVjdG9yIiwic2VsZWN0b3IiLCJzdGFydHNXaXRoIiwiZ3dfc2V0U3R5bGUiLCJydWxlcyIsImpzcyIsImZvckRvY3VtZW50IiwiZ3dfcmVtb3ZlU3R5bGUiLCJyZW1vdmUiLCJnd19nZXRDb250ZXh0TWVudSIsImdyaWRJZCIsImJ1aWxkQ29udGV4dE1lbnVBY3Rpb24iLCJ2IiwicGFyc2VNZW51IiwibWVudSIsIml0ZW0iLCJjb250ZXh0TWVudSIsImd3X3Nob3dMb2FkaW5nT3ZlcmxheSIsInNob3dMb2FkaW5nT3ZlcmxheSIsImd3X3Nob3dOb1Jvd3NPdmVybGF5Iiwic2hvd05vUm93c092ZXJsYXkiLCJnd19oaWRlT3ZlcmxheSIsImhpZGVPdmVybGF5IiwiZ3dfc2V0UXVpY2tGaWx0ZXIiLCJzZXRRdWlja0ZpbHRlciIsImd3X2V4cGFuZEFsbCIsImV4cGFuZEFsbCIsImd3X2NvbGxhcHNlQWxsIiwiY29sbGFwc2VBbGwiLCJnd19zZXRWaXNpYmxlUm93IiwiaW5kZXgiLCJwb3NpdGlvbiIsImVuc3VyZUluZGV4VmlzaWJsZSIsImd3X25hdmlnYXRlVG9OZXh0Um93IiwicHJldmlvdXNDZWxsIiwicHJldmlvdXNDZWxsUG9zaXRpb24iLCJzdWdnZXN0ZWROZXh0Q2VsbCIsIm5leHRDZWxsUG9zaXRpb24iLCJLRVlfVVAiLCJLRVlfRE9XTiIsIktFWV9MRUZUIiwiS0VZX1JJR0hUIiwiZm9yRWFjaE5vZGUiLCJzZXRTZWxlY3RlZCIsIkVycm9yIiwiZ3dfc2V0Um93c0RhdGEiLCJqc29uIiwic2V0Um93RGF0YSIsInJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwiLCJnd19zZXRSb3dEYXRhIiwidXBkYXRlUm93RGF0YSIsInVwZGF0ZSIsImd3X3JlbW92ZVJvd3MiLCJpbmRleGVzIiwiaXRlbXMiLCJnd19hZGRSb3dzIiwiYWRkIiwiYWRkSW5kZXgiLCJnd19zZXRSb3dzSGVpZ2h0IiwiaGVpZ2h0Iiwic2V0Um93SGVpZ2h0Iiwib25Sb3dIZWlnaHRDaGFuZ2VkIiwiZ3dfc2V0Um93SGVpZ2h0IiwiZ2V0RGlzcGxheWVkUm93QXRJbmRleCIsIndhcm4iLCJnd19zZXRTZWxlY3RlZFJvd3MiLCJmb3JFYWNoTm9kZUFmdGVyRmlsdGVyQW5kU29ydCIsImluZGV4T2YiLCJleHBhbmRlZCIsIm9uR3JvdXBFeHBhbmRlZE9yQ29sbGFwc2VkIiwiZ3dfc2VsZWN0QWxsIiwiZmlsdGVyZWQiLCJzZWxlY3RBbGxGaWx0ZXJlZCIsInNlbGVjdEFsbCIsImd3X2Rlc2VsZWN0QWxsIiwiZGVzZWxlY3RBbGxGaWx0ZXJlZCIsImRlc2VsZWN0QWxsIiwiZ3dfZ2V0U2VsZWN0ZWRSb3dzIiwibm9kZXMiLCJnZXRTZWxlY3RlZE5vZGVzIiwicGFyc2VkIiwiZ3dfZ2V0U2VsZWN0ZWRSb3ciLCJnd19zZXRTdGF0ZSIsInN0YXRlIiwic2V0Q29sdW1uU3RhdGUiLCJzZXRDb2x1bW5Hcm91cFN0YXRlIiwiZ3JvdXBzIiwic2V0U29ydE1vZGVsIiwic29ydCIsInNldEZpbHRlck1vZGVsIiwiZmlsdGVycyIsImd3X2dldFN0YXRlIiwiZ2V0Q29sdW1uU3RhdGUiLCJnZXRDb2x1bW5Hcm91cFN0YXRlIiwiZ2V0U29ydE1vZGVsIiwiZ2V0RmlsdGVyTW9kZWwiLCJnd19zZXRTdGF0dXNiYXJDb21wb25lbnRWaXNpYmlsaXR5IiwidmlzaWJpbGl0eSIsImdldFN0YXR1c1BhbmVsIiwic2V0VmlzaWJsZSIsImd3X3NldFNpZGVCYXJWaXNpYmxlIiwic2V0U2lkZUJhclZpc2libGUiLCJnd19vcGVuVG9vbHBhbmVsIiwidG9vbHBhbmVsSWQiLCJvcGVuVG9vbFBhbmVsIiwiZ3dfY2xvc2VUb29scGFuZWwiLCJjbG9zZVRvb2xQYW5lbCIsImd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5IiwicmVhZG9ubHkiLCJzZXRGdW5jdGlvbnNSZWFkT25seSIsImd3X2dldERvY3VtZW50IiwiJGRvYyIsImRvY3VtZW50IiwiZ3dfZ2V0V2luZG93IiwiJHdpbiIsIndpbmRvdyIsImd3X2VzY2FwZSIsInVuZGVmaW5lZCIsIkJCakdyaWRFeFdpZGdldCIsInJlZ2lzdGVyZWRHcmlkcyIsIlR5cGVFcnJvciIsImd3X2FkZEdyaWQiLCJHV19FVkVOVF9ST1dfQ0xJQ0siLCJHV19FVkVOVF9ST1dfRE9VQkxFX0NMSUNLIiwiR1dfRVZFTlRfQ0VMTF9DTElDSyIsIkdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLIiwiR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUQVJURUQiLCJHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCIsIkdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCIsIkdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQiLCJHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVEIiwiR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0UiLCJHV19FVkVOVF9SQU5HRV9TRUxFQ1RJT05fQ0hBTkdFRCIsIkNFTExfRURJVElOR19FVkVOVFNfTUFQIiwiUk9XX0VESVRJTkdfRVZFTlRTX01BUCIsImd3X29uQ2VsbEVkaXRpbmdFdmVudCIsIm5ld1ZhbHVlIiwib2xkVmFsdWUiLCJ0eXBlIiwibyIsImd3X29uUm93RWRpdGluZ0V2ZW50IiwiQ0VMTF9DTElDS0lOR19FVkVOVFNfTUFQIiwiZ3dfb25DZWxsQ2xpY2tFdmVudCIsImd3X29uUmVhZHlFdmVudCIsInN0YXRlRGVib3VuY2UiLCJjaGFuZ2VFdmVudCIsImd3X29uU3RhdGVDaGFuZ2VkIiwiZXZlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiZ3dfZGVib3VuY2UiLCJmdW5jIiwid2FpdCIsImltbWVkaWF0ZSIsInRpbWVvdXQiLCJhcmdzIiwiYXJndW1lbnRzIiwibGF0ZXIiLCJhcHBseSIsImNhbGxOb3ciLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiZ3dfc2VuZEV2ZW50IiwicGF5bG9hZCIsImV2ZW50SWQiLCJyZWdpc3RlcmVkSW50ZXJlc3RzIiwiaW50ZXJlc3RzIiwiaW5jbHVkZXMiLCJkaXYiLCJDdXN0b21FdmVudCIsImRpc3BhdGNoRXZlbnQiLCJncm91cCIsInJvd05vZGVJZCIsIngiLCJwIiwicGFyZW50IiwiY2hpbGRJbmRleCIsInMiLCJzZWxlY3RlZCIsImd3X3BhcnNlTm9kZUZyb21FdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwiZGV0YWlsIiwiZXZ0IiwiY3JlYXRlRXZlbnQiLCJpbml0Q3VzdG9tRXZlbnQiLCJwcm90b3R5cGUiLCJFdmVudCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQTBDLGdDQUFnQztBQUMxRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdFQUF3RCxrQkFBa0I7QUFDMUU7QUFDQSx5REFBaUQsY0FBYztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQXlDLGlDQUFpQztBQUMx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QUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdFQUF3RSw2RkFBNkY7QUFDcks7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGtGQUFrRixpRkFBaUY7QUFDOUs7QUFDQTtBQUNBOztBQUVBLDBEQUEwRCxtQkFBbUI7QUFDN0U7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBLGVBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhGQUE4RixhQUFhO0FBQzNHO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQSx3QkFBd0Isa0JBQWtCO0FBQzFDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRFQUE0RTtBQUM1RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RjtBQUM3RjtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7O0FBRVg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0pBQWdKO0FBQ2hKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsZ0NBQWdDLGVBQWU7QUFDL0M7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxlQUFlO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0RBQW9ELGVBQWU7QUFDbkU7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxvRUFBb0U7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsY0FBYyw0QkFBNEI7QUFDMUM7QUFDQTs7QUFFQSwyQkFBMkIsMEJBQTBCO0FBQ3JEO0FBQ0E7O0FBRUEsMENBQTBDLHFGQUFxRjtBQUMvSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUIsNEJBQTRCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMsS0FBSztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHVHQUF1Rzs7QUFF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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseUJBQXlCLDhCQUE4QjtBQUN2RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCLCtCQUErQjtBQUN0RDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztB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QTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBdUIsa0JBQWtCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBdUIsa0JBQWtCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQztBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLHdCQUF3QjtBQUNuRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsa0JBQWtCO0FBQzdDO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsa0JBQWtCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxLQUE2Qiw2Q0FBNkMsb0I7Ozs7Ozs7Ozs7O0FDalMxRSxXQUFXLG1CQUFPLENBQUMsK0NBQVM7O0FBRTVCO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxFQUFFO0FBQ2IsV0FBVyxNQUFNO0FBQ2pCLGFBQWEsRUFBRTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwQkEsZ0JBQWdCLG1CQUFPLENBQUMseURBQWM7QUFDdEMsa0JBQWtCLG1CQUFPLENBQUMsMkRBQWU7QUFDekMsY0FBYyxtQkFBTyxDQUFDLG1EQUFXO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQyxxREFBWTtBQUNuQyxjQUFjLG1CQUFPLENBQUMscURBQVk7QUFDbEMsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixXQUFXLFFBQVE7QUFDbkIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNoREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixXQUFXLFNBQVM7QUFDcEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcEJBLHNCQUFzQixtQkFBTyxDQUFDLHFFQUFvQjtBQUNsRCxTQUFTLG1CQUFPLENBQUMseUNBQU07O0FBRXZCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsRUFBRTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzNCQSxxQkFBcUIsbUJBQU8sQ0FBQyxtRUFBbUI7O0FBRWhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsRUFBRTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDeEJBLGFBQWEsbUJBQU8sQ0FBQyxtREFBVztBQUNoQyxnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYztBQUN0QyxxQkFBcUIsbUJBQU8sQ0FBQyxtRUFBbUI7O0FBRWhEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDM0JBLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLG1CQUFtQixtQkFBTyxDQUFDLDZEQUFnQjs7QUFFM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDakJBLGlCQUFpQixtQkFBTyxDQUFDLHlEQUFjO0FBQ3ZDLGVBQWUsbUJBQU8sQ0FBQyx1REFBYTtBQUNwQyxlQUFlLG1CQUFPLENBQUMscURBQVk7QUFDbkMsZUFBZSxtQkFBTyxDQUFDLHVEQUFhOztBQUVwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUM5Q0EsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7QUFDeEMsZUFBZSxtQkFBTyxDQUFDLHFEQUFZO0FBQ25DLG1CQUFtQixtQkFBTyxDQUFDLDZEQUFnQjs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUMzREEsa0JBQWtCLG1CQUFPLENBQUMsNkRBQWdCO0FBQzFDLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlOztBQUV4QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUM3QkEsZUFBZSxtQkFBTyxDQUFDLHFEQUFZO0FBQ25DLGtCQUFrQixtQkFBTyxDQUFDLDZEQUFnQjtBQUMxQyxtQkFBbUIsbUJBQU8sQ0FBQywrREFBaUI7O0FBRTVDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2hDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNiQSxlQUFlLG1CQUFPLENBQUMscURBQVk7QUFDbkMsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLGtCQUFrQixtQkFBTyxDQUFDLDZEQUFnQjs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDaEJBLGVBQWUsbUJBQU8sQ0FBQyxxREFBWTtBQUNuQyxxQkFBcUIsbUJBQU8sQ0FBQyxtRUFBbUI7QUFDaEQsZUFBZSxtQkFBTyxDQUFDLHFEQUFZOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBOzs7Ozs7Ozs7Ozs7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLFNBQVM7QUFDcEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ25CQSxhQUFhLG1CQUFPLENBQUMsbURBQVc7QUFDaEMsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLGNBQWMsbUJBQU8sQ0FBQyxtREFBVztBQUNqQyxlQUFlLG1CQUFPLENBQUMscURBQVk7O0FBRW5DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3BDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNiQSxlQUFlLG1CQUFPLENBQUMsdURBQWE7O0FBRXBDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE1BQU07QUFDakIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBOzs7Ozs7Ozs7Ozs7QUNsQkEsa0JBQWtCLG1CQUFPLENBQUMsNkRBQWdCO0FBQzFDLHNCQUFzQixtQkFBTyxDQUFDLHFFQUFvQjs7QUFFbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxNQUFNO0FBQ2pCLFdBQVcsT0FBTyxXQUFXO0FBQzdCLFdBQVcsU0FBUztBQUNwQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCOztBQUV4QjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDdkNBLFdBQVcsbUJBQU8sQ0FBQywrQ0FBUzs7QUFFNUI7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDTEEsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFtQjs7QUFFaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3BDQSxTQUFTLG1CQUFPLENBQUMseUNBQU07O0FBRXZCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixXQUFXLEVBQUU7QUFDYixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsRUFBRTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzVCQSxnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7Ozs7Ozs7Ozs7OztBQ1ZBLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFtQjs7QUFFaEQ7QUFDQTtBQUNBLGFBQWE7QUFDYixZQUFZO0FBQ1osWUFBWTtBQUNaLGNBQWM7QUFDZCxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNyQkE7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7OztBQ0hBLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFpQjtBQUM1QyxlQUFlLG1CQUFPLENBQUMsdURBQWE7O0FBRXBDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhLEVBQUU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNoQkEsY0FBYyxtQkFBTyxDQUFDLHFEQUFZOztBQUVsQztBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNMQSxhQUFhLG1CQUFPLENBQUMsbURBQVc7O0FBRWhDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzdDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYSxFQUFFO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ1pBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDeEJBLFNBQVMsbUJBQU8sQ0FBQyx5Q0FBTTtBQUN2QixrQkFBa0IsbUJBQU8sQ0FBQywyREFBZTtBQUN6QyxjQUFjLG1CQUFPLENBQUMscURBQVk7QUFDbEMsZUFBZSxtQkFBTyxDQUFDLHFEQUFZOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFdBQVcsRUFBRTtBQUNiLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzdCQSxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTs7QUFFeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbkJBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDakJBLGNBQWMsbUJBQU8sQ0FBQyxxREFBWTs7QUFFbEM7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbkJBLCtEQUFpQixtQkFBTyxDQUFDLDJEQUFlOztBQUV4QztBQUNBLGtCQUFrQixLQUEwQjs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVEOzs7Ozs7Ozs7Ozs7O0FDN0JBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2RBLFlBQVksbUJBQU8sQ0FBQyxpREFBVTs7QUFFOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLE9BQU87QUFDbEIsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbkNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ0hBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ0hBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ0hBLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlOztBQUV4QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ1JBLHNCQUFzQixtQkFBTyxDQUFDLHFFQUFvQjtBQUNsRCxlQUFlLG1CQUFPLENBQUMsdURBQWE7O0FBRXBDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixhQUFhLFNBQVM7QUFDdEI7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDYkE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUN6QkEsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7QUFDeEMscUJBQXFCLG1CQUFPLENBQUMsbUVBQW1CO0FBQ2hELGFBQWEsbUJBQU8sQ0FBQyxpREFBVTs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsU0FBUztBQUNwQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFDOUMsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7Ozs7Ozs7Ozs7OztBQ3JDQSxZQUFZLG1CQUFPLENBQUMsaURBQVU7QUFDOUIsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLGNBQWMsbUJBQU8sQ0FBQyxtREFBVzs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLEtBQUs7QUFDaEIsYUFBYSxFQUFFO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxDQUFDOztBQUVEOzs7Ozs7Ozs7Ozs7QUNsQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBLHdDQUF3QyxTQUFTO0FBQ2pEO0FBQ0E7QUFDQSxXQUFXLFNBQVMsR0FBRyxTQUFTO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDekJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcENBLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFtQjtBQUNoRCxlQUFlLG1CQUFPLENBQUMscURBQVk7O0FBRW5DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDMUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxFQUFFO0FBQ2Y7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcEJBLHNCQUFzQixtQkFBTyxDQUFDLHFFQUFvQjtBQUNsRCxtQkFBbUIsbUJBQU8sQ0FBQyw2REFBZ0I7O0FBRTNDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixrQkFBa0IsRUFBRTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLGtCQUFrQixFQUFFO0FBQ2xFO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDekJBLGlCQUFpQixtQkFBTyxDQUFDLHlEQUFjO0FBQ3ZDLGVBQWUsbUJBQU8sQ0FBQyxxREFBWTs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2hDQSx5REFBVyxtQkFBTyxDQUFDLCtDQUFTO0FBQzVCLGdCQUFnQixtQkFBTyxDQUFDLHVEQUFhOztBQUVyQztBQUNBLGtCQUFrQixLQUEwQjs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7QUNyQ0EsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7QUFDeEMsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCO0FBQzNDLG9CQUFvQixtQkFBTyxDQUFDLCtEQUFpQjs7QUFFN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ25DQSxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTtBQUN4QyxlQUFlLG1CQUFPLENBQUMscURBQVk7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcENBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNsQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUM5QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzVCQSxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTtBQUN4QyxtQkFBbUIsbUJBQU8sQ0FBQywrREFBaUI7QUFDNUMsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDN0RBLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLG1CQUFtQixtQkFBTyxDQUFDLDZEQUFnQjs7QUFFM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzVCQSx1QkFBdUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDcEQsZ0JBQWdCLG1CQUFPLENBQUMseURBQWM7QUFDdEMsZUFBZSxtQkFBTyxDQUFDLHVEQUFhOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDMUJBLG9CQUFvQixtQkFBTyxDQUFDLGlFQUFrQjtBQUM5QyxlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMsa0JBQWtCLG1CQUFPLENBQUMsMkRBQWU7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcENBLG9CQUFvQixtQkFBTyxDQUFDLGlFQUFrQjtBQUM5QyxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTtBQUN4QyxrQkFBa0IsbUJBQU8sQ0FBQywyREFBZTs7QUFFekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQy9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNqQkEsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCO0FBQzNDLGNBQWMsbUJBQU8sQ0FBQyxtREFBVztBQUNqQyxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTtBQUN4Qyw2QkFBNkIsbUJBQU8sQ0FBQyxtRkFBMkI7QUFDaEUsdUJBQXVCLG1CQUFPLENBQUMsdUVBQXFCO0FBQ3BELGNBQWMsbUJBQU8sQ0FBQyxtREFBVztBQUNqQyxxQkFBcUIsbUJBQU8sQ0FBQyxtRUFBbUI7QUFDaEQsV0FBVyxtQkFBTyxDQUFDLDZDQUFRO0FBQzNCLG9CQUFvQixtQkFBTyxDQUFDLGlFQUFrQjtBQUM5Qyx1QkFBdUIsbUJBQU8sQ0FBQyxxRUFBb0I7QUFDbkQsZUFBZSxtQkFBTyxDQUFDLHFEQUFZOztBQUVuQztBQUNBLHlDQUF5QztBQUN6QztBQUNBLHlEQUF5RDs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsTUFBTSxhQUFhLE9BQU87O0FBRWxEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTyxZQUFZO0FBQzlCLFdBQVcsT0FBTztBQUNsQjtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBLFlBQVksT0FBTztBQUNuQixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlCQUFpQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsc0JBQXNCO0FBQ25DLGlCQUFpQixVQUFVO0FBQzNCO0FBQ0E7QUFDQSxrRUFBa0UsMkJBQTJCLEVBQUU7QUFDL0YsYUFBYSw4QkFBOEI7QUFDM0M7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEO0FBQ3hELGFBQWEsbUJBQW1CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLE9BQU87QUFDN0MsYUFBYSxvQkFBb0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHFCQUFxQjtBQUNsQztBQUNBO0FBQ0E7QUFDQSxpREFBaUQsMkJBQTJCLEVBQUU7QUFDOUUsb0NBQW9DLGFBQWEsZUFBZSxFQUFFO0FBQ2xFLGFBQWEsOEJBQThCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxxQ0FBcUM7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QscUJBQXFCO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsWUFBWTtBQUNuRCxzQ0FBc0MsUUFBUTtBQUM5QyxhQUFhLHFCQUFxQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCOztBQUUzQiwrQkFBK0I7QUFDL0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsd0JBQXdCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSCxlQUFlOztBQUVmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixtQkFBbUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQSx5QkFBeUIsRUFBRTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QywyQkFBMkIsaUNBQWlDO0FBQzVELFVBQVU7QUFDVjtBQUNBO0FBQ0Esa0JBQWtCOztBQUVsQjtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzVQQSxhQUFhLG1CQUFPLENBQUMsaURBQVU7QUFDL0IsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLG9CQUFvQixtQkFBTyxDQUFDLGlFQUFrQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbEVBLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFpQjs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUMzQkEscUxBQXFMLG1CQUFtQixFQUFFLGdCQUFnQiw2QkFBNkIsRUFBRSxtQkFBbUIsa0NBQWtDLEVBQUUsZUFBZSxpQkFBaUIsRUFBRSxvQkFBb0IsMEJBQTBCLDBCQUEwQixFQUFFLHNCQUFzQix5Q0FBeUMsc0NBQXNDLHFDQUFxQyxpQ0FBaUMsRUFBRSxvQkFBb0IseUNBQXlDLHNDQUFzQyxxQ0FBcUMsaUNBQWlDLEVBQUUsK0JBQStCLHVCQUF1QixFQUFFLHVCQUF1Qix5QkFBeUIseUJBQXlCLGtCQUFrQix3QkFBd0IsdUJBQXVCLG1CQUFtQiw4QkFBOEIsMkJBQTJCLHdCQUF3Qix3QkFBd0IsdUJBQXVCLHFCQUFxQixFQUFFLDZCQUE2QiwyQ0FBMkMsbUNBQW1DLHFDQUFxQyw2QkFBNkIsZ0RBQWdELHdDQUF3QyxtREFBbUQsMkNBQTJDLEVBQUUsK0NBQStDLFVBQVUsd0JBQXdCLHlCQUF5QixFQUFFLFFBQVEsd0JBQXdCLHlCQUF5QixFQUFFLEVBQUUsdUNBQXVDLFVBQVUsd0JBQXdCLHlCQUF5QixFQUFFLFFBQVEsd0JBQXdCLHlCQUF5QixFQUFFLEVBQUUsc0JBQXNCLHVCQUF1Qix5QkFBeUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIscUJBQXFCLEVBQUUsdUNBQXVDLG1CQUFtQixFQUFFLG9DQUFvQyx5QkFBeUIsbUJBQW1CLGtCQUFrQixtQkFBbUIsaURBQWlELHlDQUF5QyxFQUFFLDZDQUE2QyxvQkFBb0IsaURBQWlELDZoS0FBNmhLLG9DQUFvQyw0QkFBNEIscUNBQXFDLG9DQUFvQyx1QkFBdUIscUJBQXFCLHFCQUFxQixFQUFFLHlEQUF5RCxxQkFBcUIsMEJBQTBCLDRCQUE0Qix3QkFBd0IsRUFBRSwyQkFBMkIseUJBQXlCLHlCQUF5QixrQkFBa0IsbUNBQW1DLGtDQUFrQyw0QkFBNEIsd0JBQXdCLEVBQUUsNENBQTRDLDBCQUEwQix5QkFBeUIscUJBQXFCLGdCQUFnQixvQkFBb0IsRUFBRSxjQUFjLG9CQUFvQix1QkFBdUIseUJBQXlCLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQywrQkFBK0IsMkJBQTJCLEVBQUUsK0RBQStELHVCQUF1QiwwQkFBMEIseUJBQXlCLHFCQUFxQixlQUFlLEVBQUUsK0JBQStCLG1CQUFtQixFQUFFLDJWQUEyVix1QkFBdUIsaUJBQWlCLG1CQUFtQixxQkFBcUIsd0JBQXdCLHVCQUF1QixtQkFBbUIsRUFBRSx1QkFBdUIseUJBQXlCLHlCQUF5QixrQkFBa0IsRUFBRSx3Q0FBd0MsdUJBQXVCLHdDQUF3QyxFQUFFLHNFQUFzRSx5QkFBeUIsRUFBRSxtRUFBbUUsMkJBQTJCLDRCQUE0QixvQkFBb0IsRUFBRSw4QkFBOEIsZ0JBQWdCLHFCQUFxQixFQUFFLHlDQUF5Qyx1QkFBdUIsRUFBRSwrQkFBK0IsbUJBQW1CLGdCQUFnQixFQUFFLDJhQUEyYSx1QkFBdUIsRUFBRSxxRkFBcUYsaUJBQWlCLHdCQUF3QixFQUFFLCtDQUErQyxxQkFBcUIsRUFBRSx3SUFBd0kscUJBQXFCLEVBQUUsaURBQWlELG1CQUFtQixFQUFFLHVDQUF1Qyx3QkFBd0IsbUJBQW1CLGVBQWUsRUFBRSwrREFBK0Qsc0JBQXNCLEVBQUUscUNBQXFDLG1CQUFtQixFQUFFLDBDQUEwQyxpQkFBaUIsRUFBRSxpSEFBaUgsdUJBQXVCLGFBQWEsY0FBYyx5QkFBeUIsRUFBRSw4QkFBOEIsZ0JBQWdCLEVBQUUscUZBQXFGLDBCQUEwQixxQkFBcUIsaUJBQWlCLGdCQUFnQixFQUFFLGdDQUFnQyxxQkFBcUIsRUFBRSxrSEFBa0gsd0JBQXdCLGdCQUFnQixZQUFZLGlCQUFpQixxQkFBcUIsRUFBRSxnQ0FBZ0Msa0JBQWtCLGlCQUFpQixnQkFBZ0IseUJBQXlCLHlCQUF5QixrQkFBa0IsdUJBQXVCLEVBQUUsaURBQWlELGtCQUFrQixFQUFFLDZEQUE2RCxpQkFBaUIsaUJBQWlCLDJCQUEyQiw0QkFBNEIsb0JBQW9CLHVCQUF1QixFQUFFLG1HQUFtRyx5QkFBeUIsRUFBRSxvSkFBb0osMEJBQTBCLHFCQUFxQixFQUFFLDRJQUE0SSxzQkFBc0IsRUFBRSxnQkFBZ0IseUJBQXlCLHlCQUF5QixrQkFBa0IsZ0JBQWdCLHdCQUF3QixFQUFFLHFCQUFxQix5QkFBeUIseUJBQXlCLGtCQUFrQixFQUFFLDRCQUE0QixpQkFBaUIsRUFBRSw2QkFBNkIsaUJBQWlCLEVBQUUsb0JBQW9CLHVCQUF1QixxQkFBcUIsRUFBRSx3QkFBd0IsbUJBQW1CLHVCQUF1QixFQUFFLHFCQUFxQixnQ0FBZ0MsZ0NBQWdDLHlCQUF5Qiw4QkFBOEIsMkJBQTJCLHdCQUF3Qix1QkFBdUIsaUJBQWlCLHFCQUFxQixxQkFBcUIsRUFBRSx3REFBd0QseUJBQXlCLHlCQUF5QixrQkFBa0Isd0JBQXdCLHVCQUF1QixtQkFBbUIscUJBQXFCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLDRCQUE0QixpQkFBaUIsRUFBRSxnREFBZ0QscUJBQXFCLDRCQUE0Qix3QkFBd0IsRUFBRSw4Q0FBOEMsbUNBQW1DLG1DQUFtQyxvQ0FBb0MsZ0NBQWdDLEVBQUUsMkJBQTJCLHFCQUFxQiw0QkFBNEIsd0JBQXdCLEVBQUUsNEJBQTRCLHVCQUF1QixlQUFlLGlCQUFpQixlQUFlLEVBQUUsNEJBQTRCLHNCQUFzQixFQUFFLDJCQUEyQix5QkFBeUIseUJBQXlCLGtCQUFrQixtQkFBbUIsRUFBRSxtSEFBbUgsa0NBQWtDLDBCQUEwQixFQUFFLHVDQUF1QyxrQ0FBa0MsMEJBQTBCLEVBQUUsNkNBQTZDLDhDQUE4QyxzQ0FBc0MsRUFBRSw4R0FBOEcseUJBQXlCLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQywrQkFBK0IsMkJBQTJCLHFCQUFxQix3QkFBd0IsdUJBQXVCLG1CQUFtQixFQUFFLDZCQUE2Qix5QkFBeUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIscUJBQXFCLHdCQUF3Qix5QkFBeUIsaUJBQWlCLHlCQUF5QixtQkFBbUIsK0JBQStCLGtCQUFrQixFQUFFLDJEQUEyRCwyQkFBMkIsMkJBQTJCLG9CQUFvQiwwQkFBMEIscUJBQXFCLGlCQUFpQixFQUFFLG9GQUFvRiw0QkFBNEIsMkJBQTJCLHVCQUF1QixFQUFFLDZGQUE2Riw0QkFBNEIsMkJBQTJCLHVCQUF1QixFQUFFLHFHQUFxRyxzQkFBc0IsRUFBRSx5REFBeUQsMEJBQTBCLHlCQUF5QixxQkFBcUIscUJBQXFCLEVBQUUscUJBQXFCLGdDQUFnQyxnQ0FBZ0MseUJBQXlCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLG1CQUFtQixnQkFBZ0IsRUFBRSwwQ0FBMEMsMkJBQTJCLDJCQUEyQixvQkFBb0IsZ0NBQWdDLDZCQUE2QiwwQkFBMEIsRUFBRSxpRUFBaUUsNkJBQTZCLDZCQUE2QixzQkFBc0Isa0NBQWtDLCtCQUErQiw0QkFBNEIsRUFBRSw2RkFBNkYsMkJBQTJCLDhCQUE4Qiw2QkFBNkIseUJBQXlCLGtDQUFrQyw4QkFBOEIsRUFBRSw2Q0FBNkMseUJBQXlCLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQywrQkFBK0IsMkJBQTJCLHFCQUFxQix3QkFBd0Isc0JBQXNCLGdCQUFnQiwrQkFBK0IsNEJBQTRCLHlCQUF5QixFQUFFLG1EQUFtRCwyQkFBMkIsMkJBQTJCLG9CQUFvQixnQ0FBZ0MsNkJBQTZCLDBCQUEwQixFQUFFLGtFQUFrRSxpQ0FBaUMsOEJBQThCLDJCQUEyQiwwQkFBMEIsMkJBQTJCLG1CQUFtQixtQ0FBbUMsb0NBQW9DLGlDQUFpQyw2QkFBNkIsdUJBQXVCLEVBQUUsMkVBQTJFLHFCQUFxQixFQUFFLCtDQUErQyx3QkFBd0IscUJBQXFCLEVBQUUsK0dBQStHLDJHQUEyRyxtR0FBbUcsMkZBQTJGLG1IQUFtSCxFQUFFLGtDQUFrQyw4Q0FBOEMsc0NBQXNDLEVBQUUsYUFBYSx3QkFBd0IsZ0JBQWdCLEVBQUUsK0JBQStCLHVCQUF1QixFQUFFLCtCQUErQix1QkFBdUIsRUFBRSx3QkFBd0IscUJBQXFCLHdCQUF3QixFQUFFLDRCQUE0QixlQUFlLEVBQUUsc0JBQXNCLGVBQWUsRUFBRSxtQkFBbUIseUJBQXlCLHlCQUF5QixrQkFBa0IsOEJBQThCLDJCQUEyQix3QkFBd0IsRUFBRSwrRkFBK0YsMEJBQTBCLHFCQUFxQix1QkFBdUIsNEJBQTRCLHdCQUF3QixFQUFFLHNCQUFzQix5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixnQkFBZ0IsaUJBQWlCLEVBQUUsbUNBQW1DLCtCQUErQiw0QkFBNEIsOEJBQThCLEVBQUUsdUVBQXVFLHVCQUF1Qiw4QkFBOEIsRUFBRSxzREFBc0QsOEJBQThCLDJCQUEyQix3QkFBd0IsRUFBRSwwQkFBMEIsaUJBQWlCLEVBQUUsK0JBQStCLDBCQUEwQixpQkFBaUIscUJBQXFCLDRCQUE0Qix3QkFBd0IsZ0JBQWdCLEVBQUUsZ0NBQWdDLDBCQUEwQixpQkFBaUIscUJBQXFCLDRCQUE0Qix3QkFBd0IsZ0JBQWdCLEVBQUUsNkJBQTZCLGVBQWUsRUFBRSw0RkFBNEYsbUJBQW1CLGtCQUFrQiwwQkFBMEIsRUFBRSw0R0FBNEcscUJBQXFCLDRCQUE0Qix3QkFBd0IsRUFBRSxvQ0FBb0MseUJBQXlCLEVBQUUsd0NBQXdDLHlCQUF5Qix5QkFBeUIsa0JBQWtCLGlDQUFpQyxrQ0FBa0MsK0JBQStCLDJCQUEyQixFQUFFLGtDQUFrQyx3QkFBd0IsdUJBQXVCLG1CQUFtQixFQUFFLGdNQUFnTSxpQkFBaUIsRUFBRSw4QkFBOEIseUJBQXlCLHlCQUF5QixrQkFBa0Isd0JBQXdCLHVCQUF1QixtQkFBbUIsaUJBQWlCLEVBQUUsb0NBQW9DLGdCQUFnQiwwQkFBMEIseUJBQXlCLHFCQUFxQixtQ0FBbUMsRUFBRSxtQ0FBbUMseUJBQXlCLHlCQUF5QixrQkFBa0IsOEJBQThCLDJCQUEyQix3QkFBd0IsaUJBQWlCLGdCQUFnQixFQUFFLHlDQUF5QywwQkFBMEIseUJBQXlCLHFCQUFxQixFQUFFLHlDQUF5QyxnQkFBZ0Isa0JBQWtCLEVBQUUseURBQXlELG1CQUFtQixFQUFFLHlCQUF5QiwwQkFBMEIsdUJBQXVCLEVBQUUsK0JBQStCLGdCQUFnQixFQUFFLDhDQUE4QywyQkFBMkIsRUFBRSx5Q0FBeUMsMkJBQTJCLEVBQUUsOEJBQThCLHVCQUF1Qiw4QkFBOEIsMkJBQTJCLDBCQUEwQixzQkFBc0IsRUFBRSxnQ0FBZ0MseUJBQXlCLHlCQUF5QixrQkFBa0Isd0JBQXdCLG1CQUFtQixlQUFlLEVBQUUsMEdBQTBHLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLHdCQUF3Qiw0QkFBNEIsaUJBQWlCLGtFQUFrRSxvQkFBb0IscUJBQXFCLHFCQUFxQixpQkFBaUIsdUJBQXVCLDRCQUE0Qiw4QkFBOEIsMkJBQTJCLDBCQUEwQixzQkFBc0IsZ0JBQWdCLEVBQUUsd0JBQXdCLGlCQUFpQixFQUFFLG9HQUFvRyxpQkFBaUIsWUFBWSx5QkFBeUIsdUJBQXVCLFdBQVcsZ0JBQWdCLEVBQUUsdUJBQXVCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLGlCQUFpQix5QkFBeUIsZ0JBQWdCLEVBQUUseUJBQXlCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLHdCQUF3QixtQkFBbUIsZUFBZSxnQkFBZ0IsaUJBQWlCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLDZCQUE2QiwwQkFBMEIsNEJBQTRCLHVCQUF1QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSx1REFBdUQsc0JBQXNCLEVBQUUsc0dBQXNHLGVBQWUsRUFBRSx3QkFBd0IsaUJBQWlCLFlBQVksb0JBQW9CLFdBQVcsZ0JBQWdCLEVBQUUsc0JBQXNCLHVCQUF1Qiw4QkFBOEIsMkJBQTJCLDBCQUEwQixzQkFBc0IsZUFBZSxFQUFFLG9IQUFvSCx1QkFBdUIsZ0JBQWdCLEVBQUUsb0RBQW9ELHlDQUF5QyxFQUFFLHlIQUF5SCxxQkFBcUIsd0JBQXdCLGdCQUFnQix1QkFBdUIseUJBQXlCLHlCQUF5QixrQkFBa0IsRUFBRSxrQ0FBa0MsMEJBQTBCLHFCQUFxQix1QkFBdUIsbUJBQW1CLDJCQUEyQiw0QkFBNEIsb0JBQW9CLEVBQUUsbUNBQW1DLDBCQUEwQixxQkFBcUIsdUJBQXVCLG1CQUFtQiwyQkFBMkIsNEJBQTRCLG9CQUFvQixFQUFFLHlCQUF5QixxQkFBcUIsd0JBQXdCLGdCQUFnQix1QkFBdUIseUJBQXlCLHlCQUF5QixrQkFBa0IsRUFBRSxxQ0FBcUMsMEJBQTBCLHFCQUFxQix1QkFBdUIsbUJBQW1CLDJCQUEyQiw0QkFBNEIsb0JBQW9CLEVBQUUsc0NBQXNDLDBCQUEwQixxQkFBcUIsdUJBQXVCLG1CQUFtQiwyQkFBMkIsNEJBQTRCLG9CQUFvQixFQUFFLDZHQUE2Ryx5QkFBeUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIsdUJBQXVCLHFCQUFxQixFQUFFLHVEQUF1RCwyQkFBMkIsMkJBQTJCLG9CQUFvQiwwQkFBMEIscUJBQXFCLGlCQUFpQixnQ0FBZ0MsNkJBQTZCLDBCQUEwQixzQkFBc0IsRUFBRSxpR0FBaUcsNEJBQTRCLDJCQUEyQix1QkFBdUIsRUFBRSxxR0FBcUcsNkJBQTZCLDZCQUE2QixzQkFBc0IsRUFBRSw2SEFBNkgsMEJBQTBCLEVBQUUsK0VBQStFLDJCQUEyQiwyQkFBMkIsb0JBQW9CLDBCQUEwQix5QkFBeUIscUJBQXFCLHlCQUF5Qix1QkFBdUIsRUFBRSw2RkFBNkYsb0JBQW9CLHFCQUFxQixFQUFFLGdCQUFnQix1QkFBdUIsRUFBRSw0QkFBNEIseUJBQXlCLDJCQUEyQixpQkFBaUIsRUFBRSxpREFBaUQsZUFBZSxnQkFBZ0Isb0JBQW9CLG1CQUFtQiw0QkFBNEIsRUFBRSw2Q0FBNkMsZUFBZSxrQkFBa0IsbUJBQW1CLG9CQUFvQiwwQkFBMEIsRUFBRSxrREFBa0QsZUFBZSxpQkFBaUIsb0JBQW9CLG1CQUFtQiw0QkFBNEIsRUFBRSwrQ0FBK0MsaUJBQWlCLGlCQUFpQixvQkFBb0IsbUJBQW1CLDBCQUEwQixFQUFFLHFEQUFxRCxrQkFBa0IsaUJBQWlCLG9CQUFvQixtQkFBbUIsNEJBQTRCLEVBQUUsZ0RBQWdELGtCQUFrQixrQkFBa0IsbUJBQW1CLG9CQUFvQiwwQkFBMEIsRUFBRSxvREFBb0Qsa0JBQWtCLGdCQUFnQixvQkFBb0IsbUJBQW1CLDRCQUE0QixFQUFFLDhDQUE4QyxnQkFBZ0IsaUJBQWlCLG9CQUFvQixtQkFBbUIsMEJBQTBCLEVBQUUsZ0NBQWdDLGtCQUFrQixtQkFBbUIsMkJBQTJCLDJCQUEyQixvQkFBb0IsbUNBQW1DLG9DQUFvQyxpQ0FBaUMsNkJBQTZCLEVBQUUsMERBQTBELDZCQUE2Qiw2QkFBNkIsc0JBQXNCLDRCQUE0QiwyQkFBMkIsdUJBQXVCLGlDQUFpQyw4QkFBOEIsZ0NBQWdDLGtDQUFrQywrQkFBK0IsNEJBQTRCLEVBQUUsNkRBQTZELDZCQUE2Qiw2QkFBNkIsc0JBQXNCLGlDQUFpQyw4QkFBOEIsZ0NBQWdDLEVBQUUsb0dBQW9HLHVCQUF1Qix5QkFBeUIsbUJBQW1CLEVBQUUsdUJBQXVCLG1CQUFtQix1QkFBdUIsOEJBQThCLDJCQUEyQiwwQkFBMEIsc0JBQXNCLHlCQUF5Qix3QkFBd0IsbUJBQW1CLG1DQUFtQyxpQkFBaUIsd0JBQXdCLHVCQUF1Qix3RkFBd0YsZ0ZBQWdGLGVBQWUsa0NBQWtDLDBCQUEwQiw0REFBNEQsb0RBQW9ELDREQUE0RCxvREFBb0QsNENBQTRDLCtEQUErRCxFQUFFLCtCQUErQixpQkFBaUIsa0NBQWtDLDBCQUEwQixFQUFFLDhCQUE4Qix3QkFBd0IsbUJBQW1CLGtDQUFrQyxtQ0FBbUMsbUJBQW1CLGdDQUFnQyxFQUFFLGdDQUFnQyxtQkFBbUIsRUFBRSwrR0FBK0csc0JBQXNCLGVBQWUsb0RBQW9ELDRDQUE0QywrQ0FBK0MsdUNBQXVDLEVBQUUsNkJBQTZCLHVCQUF1QixlQUFlLEVBQUUsc0JBQXNCLDBCQUEwQixFQUFFLDhGQUE4RixxQkFBcUIscUJBQXFCLHVCQUF1Qiw4QkFBOEIsMkJBQTJCLDBCQUEwQixzQkFBc0IsRUFBRSxvQ0FBb0Msa0JBQWtCLG1CQUFtQixpQkFBaUIsRUFBRSxtQkFBbUIsbUJBQW1CLEVBQUUseUNBQXlDLHVCQUF1QixFQUFFLHVEQUF1RCwwQkFBMEIsNkJBQTZCLEVBQUUsMEJBQTBCLHdCQUF3QixFQUFFLDREQUE0RCxpQkFBaUIsRUFBRSw0R0FBNEcsb0JBQW9CLGtCQUFrQixFQUFFLDJDQUEyQywyQkFBMkIsMkJBQTJCLG9CQUFvQixnQ0FBZ0MsNkJBQTZCLDBCQUEwQixFQUFFLG9EQUFvRCw0QkFBNEIsMkJBQTJCLHVCQUF1QixFQUFFLDhEQUE4RCx1Q0FBdUMsNEJBQTRCLG1CQUFtQiw4QkFBOEIseUJBQXlCLHFCQUFxQixFQUFFLGdFQUFnRSwyQkFBMkIsMkJBQTJCLG9CQUFvQixFQUFFLHNGQUFzRiw2QkFBNkIsNkJBQTZCLHNCQUFzQiw0QkFBNEIsMkJBQTJCLHVCQUF1QixrQ0FBa0MsK0JBQStCLDRCQUE0Qiw0QkFBNEIsRUFBRSw0R0FBNEcsOEJBQThCLDJCQUEyQix3QkFBd0IseUJBQXlCLHlCQUF5QixrQkFBa0IsMEJBQTBCLHVCQUF1Qiw4QkFBOEIsRUFBRSxtQ0FBbUMseUJBQXlCLHlCQUF5QixrQkFBa0IsOEJBQThCLDJCQUEyQix3QkFBd0IsRUFBRSxnREFBZ0QsMkJBQTJCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLDhEQUE4RCwyQkFBMkIsRUFBRSxrSEFBa0gseUJBQXlCLHlCQUF5QixrQkFBa0IscUJBQXFCLG9CQUFvQiw4QkFBOEIsMkJBQTJCLDBCQUEwQixzQkFBc0IsaUJBQWlCLEVBQUUsd0RBQXdELHVCQUF1QixzQkFBc0IsRUFBRSx1RUFBdUUsOEJBQThCLDJCQUEyQix3QkFBd0IseUJBQXlCLHlCQUF5QixrQkFBa0IsbUNBQW1DLGtDQUFrQyw0QkFBNEIsd0JBQXdCLDBCQUEwQixzQkFBc0IsNEJBQTRCLHdCQUF3QixFQUFFLGlSQUFpUiwwQkFBMEIseUJBQXlCLHFCQUFxQix1QkFBdUIsOEJBQThCLEVBQUUsZ0NBQWdDLHlCQUF5Qix5QkFBeUIsa0JBQWtCLEVBQUUsc0NBQXNDLHVCQUF1QixpQkFBaUIsdUJBQXVCLFdBQVcsZUFBZSxlQUFlLEVBQUUsOENBQThDLHVDQUF1QywrQkFBK0IsRUFBRSw4Q0FBOEMsd0NBQXdDLGdDQUFnQyxFQUFFLHFCQUFxQiw4QkFBOEIsaUJBQWlCLGlCQUFpQix1QkFBdUIsY0FBYyxnQkFBZ0IsZUFBZSxFQUFFLHFCQUFxQixpQkFBaUIsZ0JBQWdCLEVBQUUsc0JBQXNCLGlCQUFpQixnQkFBZ0IsRUFBRSwyQkFBMkIseUJBQXlCLHlCQUF5QixrQkFBa0IsOEJBQThCLDJCQUEyQix3QkFBd0IsaUJBQWlCLHFCQUFxQix1QkFBdUIsNEJBQTRCLEVBQUUsOEJBQThCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QiwyQkFBMkIsbUNBQW1DLG1DQUFtQyxtQ0FBbUMsb0NBQW9DLGdDQUFnQyw4QkFBOEIsMkJBQTJCLHdCQUF3QixnQkFBZ0IsRUFBRSxpREFBaUQsbUNBQW1DLGtDQUFrQyw0QkFBNEIsd0JBQXdCLEVBQUUsc0dBQXNHLHlCQUF5Qix5QkFBeUIsa0JBQWtCLG1DQUFtQyxtQ0FBbUMsb0NBQW9DLGdDQUFnQyxFQUFFLDhDQUE4QyxxQkFBcUIsMEJBQTBCLG9CQUFvQixzQkFBc0IsRUFBRSxtRUFBbUUsaUNBQWlDLDZCQUE2Qix5QkFBeUIsMENBQTBDLGdDQUFnQyxrQ0FBa0MsRUFBRSxtQ0FBbUMsbUJBQW1CLEVBQUUsOENBQThDLG1CQUFtQixFQUFFLHFFQUFxRSxnQ0FBZ0MsNEJBQTRCLHdCQUF3QixzQ0FBc0MsNEJBQTRCLDhCQUE4QixFQUFFLDBHQUEwRyx5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLG1DQUFtQyxxQkFBcUIsRUFBRSxxQ0FBcUMsa0NBQWtDLGtDQUFrQywyQkFBMkIsRUFBRSx5QkFBeUIsZ0NBQWdDLGdDQUFnQyx5QkFBeUIsRUFBRSwyQkFBMkIsZ0NBQWdDLGdDQUFnQyx5QkFBeUIsRUFBRSwwQkFBMEIsZ0NBQWdDLGdDQUFnQyx5QkFBeUIsRUFBRSw0R0FBNEcsdUJBQXVCLHdCQUF3Qix1QkFBdUIsbUJBQW1CLEVBQUUsdURBQXVELDJCQUEyQiwyQkFBMkIsb0JBQW9CLGdDQUFnQyw2QkFBNkIsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQiwyQkFBMkIsb0JBQW9CLGdDQUFnQyw2QkFBNkIsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQiwyQkFBMkIsb0JBQW9CLG1DQUFtQyxvQ0FBb0MsaUNBQWlDLDZCQUE2QixFQUFFLDRFQUE0RSw2QkFBNkIsNkJBQTZCLHNCQUFzQixxQ0FBcUMsNEJBQTRCLEVBQUUsd0NBQXdDLDJCQUEyQiwyQkFBMkIsb0JBQW9CLDBCQUEwQix5QkFBeUIscUJBQXFCLGdDQUFnQyw2QkFBNkIsMEJBQTBCLEVBQUUsbUVBQW1FLDJCQUEyQixFQUFFLGtJQUFrSSxvQkFBb0IsRUFBRSxrREFBa0QsbUNBQW1DLDJCQUEyQix1QkFBdUIsY0FBYyxFQUFFLHFCQUFxQix5QkFBeUIseUJBQXlCLGtCQUFrQixtQ0FBbUMsa0NBQWtDLDRCQUE0Qix3QkFBd0IsOEJBQThCLDJCQUEyQix3QkFBd0IsRUFBRSw2RUFBNkUsMEJBQTBCLHlCQUF5QixxQkFBcUIsa0JBQWtCLG1CQUFtQixFQUFFLHFCQUFxQix5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixFQUFFLDhGQUE4Rix5QkFBeUIseUJBQXlCLGtCQUFrQixFQUFFLGdIQUFnSCwwQkFBMEIseUJBQXlCLHFCQUFxQixFQUFFLHNCQUFzQix5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixFQUFFLCtEQUErRCxxQkFBcUIseUJBQXlCLEVBQUUsOERBQThELHlCQUF5QixFQUFFLHNCQUFzQix5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixFQUFFLDZDQUE2QywyQkFBMkIsMkJBQTJCLG9CQUFvQixnQkFBZ0IsaUJBQWlCLGdCQUFnQixFQUFFLG9DQUFvQywrQkFBK0IsNEJBQTRCLHlCQUF5QixxQkFBcUIsRUFBRSw2QkFBNkIsb0JBQW9CLEVBQUUsNENBQTRDLGlDQUFpQyxzQkFBc0IsYUFBYSxFQUFFLDRDQUE0Qyx3QkFBd0IsbUJBQW1CLGVBQWUsRUFBRSxvQ0FBb0MsaUNBQWlDLGtDQUFrQywrQkFBK0IsMkJBQTJCLDZCQUE2QiwwQkFBMEIsNEJBQTRCLEVBQUUsMENBQTBDLG1DQUFtQywwQkFBMEIsRUFBRSxxQkFBcUIseUJBQXlCLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQywrQkFBK0IsMkJBQTJCLHVCQUF1QixFQUFFLHdDQUF3QywwQkFBMEIseUJBQXlCLHFCQUFxQix5QkFBeUIsdUJBQXVCLHNCQUFzQixFQUFFLDhCQUE4Qix5QkFBeUIsYUFBYSxjQUFjLGVBQWUsZ0JBQWdCLEVBQUUsc0NBQXNDLHNCQUFzQixFQUFFLDBDQUEwQyx5QkFBeUIsMkJBQTJCLHNCQUFzQixFQUFFLHNDQUFzQyxzQkFBc0Isd09BQXdPLHNJQUFzSSxFQUFFLHdDQUF3QyxzQkFBc0IsRUFBRSxpREFBaUQsa0JBQWtCLG1CQUFtQixFQUFFLG1EQUFtRCx5R0FBeUcsMkVBQTJFLGtCQUFrQixtQkFBbUIsRUFBRSxtQ0FBbUMsc0JBQXNCLEVBQUUseUNBQXlDLHlCQUF5QiwyQkFBMkIsRUFBRSw2Q0FBNkMsNEJBQTRCLHlCQUF5Qix1QkFBdUIsMEJBQTBCLEVBQUUsbURBQW1ELG9CQUFvQix3QkFBd0IsRUFBRSx1Q0FBdUMsMkJBQTJCLDJCQUEyQixvQkFBb0IsRUFBRSwrQ0FBK0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNB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QUUsd0dBQXdHLHNCQUFzQix1Q0FBdUMsdUNBQXVDLEVBQUUsbUNBQW1DLHNDQUFzQyxzQ0FBc0MsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFB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LHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixF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RCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELHlCQUF5QixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELHlCQUF5QixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELHlCQUF5QixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIs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RUFBRSx3REFBd0QseUJBQXlCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVB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QUUsbURBQW1ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFF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LDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixF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RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0Qs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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjOztBQUVkLGtEQUFrRCxzQkFBc0I7QUFDeEU7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNB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QUVBdEUsUUFBTSxDQUFDcUQsV0FBUCxHQUFxQkEsV0FBckI7QUFDRCxDQWJELEk7Ozs7Ozs7Ozs7OztBQ1JBLGNBQWMsbUJBQU8sQ0FBQyxpTkFBK0c7O0FBRXJJLDRDQUE0QyxRQUFTOztBQUVyRDtBQUNBOzs7O0FBSUEsZUFBZTs7QUFFZjtBQUNBLGtDQUFrQzs7QUFFbEMsYUFBYSxtQkFBTyxDQUFDLHNHQUFtRDs7QUFFeEU7O0FBRUEsR0FBRyxLQUFVLEVBQUUsRSIsImZpbGUiOiJiYmotZ3JpZC13aWRnZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0uY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1ib290c3RyYXAuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYm9vdHN0cmFwLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWZyZXNoLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1mcmVzaC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZnJlc2guY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1tYXRlcmlhbC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtbWF0ZXJpYWwuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLW1hdGVyaWFsLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQmFzaXNcIl0gPSByb290W1wiQmFzaXNcIl0gfHwge30sIHJvb3RbXCJCYXNpc1wiXVtcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vKioqKioqLyBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDI0KTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFBhcmFtczsgfSk7XG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogUGFyYW1zIE1peGlucyBcbipcbiogSGVscGVyIG1ldGhvZHMgdG8gbWFuYWdlIGNvbXBvbmVudHMgcGFyYW1zXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xudmFyIFBhcmFtcyA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFBhcmFtcygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUGFyYW1zKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhQYXJhbXMsIFt7XG4gICAga2V5OiBcImdldFdpblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRXaW4ocGFyYW1zKSB7XG4gICAgICB2YXIgd2luID0gcGFyYW1zLldJTkRPVyB8fCB3aW5kb3cgfHwgbnVsbDtcbiAgICAgIGlmICghd2luKSB0aHJvdyBuZXcgRXJyb3IoJ0N1cnJlbnQgZW52aXJvbWVudCBkb2VzIG5vdCBzdXBwb3J0IHdpbmRvdycpO1xuICAgICAgcmV0dXJuIHdpbjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0RG9jXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERvYyhwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSBwYXJhbXMuRE9DVU1FTlQgfHwgZG9jdW1lbnQgfHwgbnVsbDtcbiAgICAgIGlmICghZG9jKSB0aHJvdyBuZXcgRXJyb3IoJ0N1cnJlbnQgZW52aXJvbWVudCBkb2VzIG5vdCBzdXBwb3J0IGRvY3VtZW50Jyk7XG4gICAgICByZXR1cm4gZG9jO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0T3B0aW9uKG5hbWUsIHBhcmFtcykge1xuICAgICAgdmFyIGZhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuICAgICAgdmFyIG9wdGlvbjsgLy8gdHJ5IHRvIGZldGNoIGZyb20gdGhlIGNvbHVtbiBkZWYgZmlyc3RcblxuICAgICAgaWYgKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgnY29sRGVmJykgJiYgcGFyYW1zLmNvbERlZi5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICBvcHRpb24gPSBwYXJhbXMuY29sRGVmW25hbWVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdHJ5IHRvIGZldGNoIGZyb20gQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZ3xtZXRhIGluIHRoZSBjb250ZXh0XG4gICAgICAgIHZhciBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnID0gcGFyYW1zLmNvbnRleHQuQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZyB8fCBwYXJhbXMuY29udGV4dC5tZXRhO1xuXG4gICAgICAgIGlmIChBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnICYmIEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcuaGFzT3duUHJvcGVydHkocGFyYW1zLmNvbHVtbi5jb2xJZCkgJiYgQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZ1twYXJhbXMuY29sdW1uLmNvbElkXS5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICAgIG9wdGlvbiA9IEFHcmlkQ29tcG9uZW50c01ldGFDb25maWdbcGFyYW1zLmNvbHVtbi5jb2xJZF1bbmFtZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdHJ5IHRvIGZldGNoIGZyb20gdGhlIGNvbnRlY3Qgb2JqZWN0IGl0c2VsZlxuICAgICAgICAgIHZhciBjb250ZXh0ID0gcGFyYW1zLmNvbnRleHQ7XG5cbiAgICAgICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Lmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgICAgICBvcHRpb24gPSBjb250ZXh0W25hbWVdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyB0cnkgdG8gY2hlY2sgcGFyYW1zIGl0c2VsZiBvciBmYWxsYmFjayB0byBkZWZhdWx0IFxuICAgICAgICAgICAgb3B0aW9uID0gcGFyYW1zW25hbWVdIHx8IGZhbGxiYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBQYXJhbXM7XG59KCk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgbGlzdCA9IFtdO1xuXG5cdC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblx0bGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuXHRcdFx0dmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCk7XG5cdFx0XHRpZihpdGVtWzJdKSB7XG5cdFx0XHRcdHJldHVybiBcIkBtZWRpYSBcIiArIGl0ZW1bMl0gKyBcIntcIiArIGNvbnRlbnQgKyBcIn1cIjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH0pLmpvaW4oXCJcIik7XG5cdH07XG5cblx0Ly8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3Rcblx0bGlzdC5pID0gZnVuY3Rpb24obW9kdWxlcywgbWVkaWFRdWVyeSkge1xuXHRcdGlmKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKVxuXHRcdFx0bW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgXCJcIl1dO1xuXHRcdHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cdFx0Zm9yKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpZCA9IHRoaXNbaV1bMF07XG5cdFx0XHRpZih0eXBlb2YgaWQgPT09IFwibnVtYmVyXCIpXG5cdFx0XHRcdGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcblx0XHR9XG5cdFx0Zm9yKGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBtb2R1bGVzW2ldO1xuXHRcdFx0Ly8gc2tpcCBhbHJlYWR5IGltcG9ydGVkIG1vZHVsZVxuXHRcdFx0Ly8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcblx0XHRcdC8vICB3aGVuIGEgbW9kdWxlIGlzIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IG1lZGlhIHF1ZXJpZXMuXG5cdFx0XHQvLyAgSSBob3BlIHRoaXMgd2lsbCBuZXZlciBvY2N1ciAoSGV5IHRoaXMgd2F5IHdlIGhhdmUgc21hbGxlciBidW5kbGVzKVxuXHRcdFx0aWYodHlwZW9mIGl0ZW1bMF0gIT09IFwibnVtYmVyXCIgfHwgIWFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcblx0XHRcdFx0aWYobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuXHRcdFx0XHR9IGVsc2UgaWYobWVkaWFRdWVyeSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBcIihcIiArIGl0ZW1bMl0gKyBcIikgYW5kIChcIiArIG1lZGlhUXVlcnkgKyBcIilcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaXN0LnB1c2goaXRlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4gbGlzdDtcbn07XG5cbmZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKSB7XG5cdHZhciBjb250ZW50ID0gaXRlbVsxXSB8fCAnJztcblx0dmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXHRpZiAoIWNzc01hcHBpbmcpIHtcblx0XHRyZXR1cm4gY29udGVudDtcblx0fVxuXG5cdGlmICh1c2VTb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgPT09ICdmdW5jdGlvbicpIHtcblx0XHR2YXIgc291cmNlTWFwcGluZyA9IHRvQ29tbWVudChjc3NNYXBwaW5nKTtcblx0XHR2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuXHRcdFx0cmV0dXJuICcvKiMgc291cmNlVVJMPScgKyBjc3NNYXBwaW5nLnNvdXJjZVJvb3QgKyBzb3VyY2UgKyAnICovJ1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbignXFxuJyk7XG5cdH1cblxuXHRyZXR1cm4gW2NvbnRlbnRdLmpvaW4oJ1xcbicpO1xufVxuXG4vLyBBZGFwdGVkIGZyb20gY29udmVydC1zb3VyY2UtbWFwIChNSVQpXG5mdW5jdGlvbiB0b0NvbW1lbnQoc291cmNlTWFwKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuXHR2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKTtcblx0dmFyIGRhdGEgPSAnc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJyArIGJhc2U2NDtcblxuXHRyZXR1cm4gJy8qIyAnICsgZGF0YSArICcgKi8nO1xufVxuXG5cbi8qKiovIH0pLFxuLyogMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuXG52YXIgc3R5bGVzSW5Eb20gPSB7fTtcblxudmFyXHRtZW1vaXplID0gZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoKSB7XG5cdFx0aWYgKHR5cGVvZiBtZW1vID09PSBcInVuZGVmaW5lZFwiKSBtZW1vID0gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblx0XHRyZXR1cm4gbWVtbztcblx0fTtcbn07XG5cbnZhciBpc09sZElFID0gbWVtb2l6ZShmdW5jdGlvbiAoKSB7XG5cdC8vIFRlc3QgZm9yIElFIDw9IDkgYXMgcHJvcG9zZWQgYnkgQnJvd3NlcmhhY2tzXG5cdC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcblx0Ly8gVGVzdHMgZm9yIGV4aXN0ZW5jZSBvZiBzdGFuZGFyZCBnbG9iYWxzIGlzIHRvIGFsbG93IHN0eWxlLWxvYWRlclxuXHQvLyB0byBvcGVyYXRlIGNvcnJlY3RseSBpbnRvIG5vbi1zdGFuZGFyZCBlbnZpcm9ubWVudHNcblx0Ly8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG5cdHJldHVybiB3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYjtcbn0pO1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gKHRhcmdldCkge1xuICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpO1xufTtcblxudmFyIGdldEVsZW1lbnQgPSAoZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vID0ge307XG5cblx0cmV0dXJuIGZ1bmN0aW9uKHRhcmdldCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHBhc3NpbmcgZnVuY3Rpb24gaW4gb3B0aW9ucywgdGhlbiB1c2UgaXQgZm9yIHJlc29sdmUgXCJoZWFkXCIgZWxlbWVudC5cbiAgICAgICAgICAgICAgICAvLyBVc2VmdWwgZm9yIFNoYWRvdyBSb290IHN0eWxlIGkuZVxuICAgICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgICAvLyAgIGluc2VydEludG86IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZm9vXCIpLnNoYWRvd1Jvb3QgfVxuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuXHRcdFx0dmFyIHN0eWxlVGFyZ2V0ID0gZ2V0VGFyZ2V0LmNhbGwodGhpcywgdGFyZ2V0KTtcblx0XHRcdC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cdFx0XHRpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Ly8gVGhpcyB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhY2Nlc3MgdG8gaWZyYW1lIGlzIGJsb2NrZWRcblx0XHRcdFx0XHQvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gc3R5bGVUYXJnZXQuY29udGVudERvY3VtZW50LmhlYWQ7XG5cdFx0XHRcdH0gY2F0Y2goZSkge1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG5cdFx0fVxuXHRcdHJldHVybiBtZW1vW3RhcmdldF1cblx0fTtcbn0pKCk7XG5cbnZhciBzaW5nbGV0b24gPSBudWxsO1xudmFyXHRzaW5nbGV0b25Db3VudGVyID0gMDtcbnZhclx0c3R5bGVzSW5zZXJ0ZWRBdFRvcCA9IFtdO1xuXG52YXJcdGZpeFVybHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGxpc3QsIG9wdGlvbnMpIHtcblx0aWYgKHR5cGVvZiBERUJVRyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBERUJVRykge1xuXHRcdGlmICh0eXBlb2YgZG9jdW1lbnQgIT09IFwib2JqZWN0XCIpIHRocm93IG5ldyBFcnJvcihcIlRoZSBzdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudFwiKTtcblx0fVxuXG5cdG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG5cdG9wdGlvbnMuYXR0cnMgPSB0eXBlb2Ygb3B0aW9ucy5hdHRycyA9PT0gXCJvYmplY3RcIiA/IG9wdGlvbnMuYXR0cnMgOiB7fTtcblxuXHQvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cblx0Ly8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXHRpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gXCJib29sZWFuXCIpIG9wdGlvbnMuc2luZ2xldG9uID0gaXNPbGRJRSgpO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIDxoZWFkPiBlbGVtZW50XG4gICAgICAgIGlmICghb3B0aW9ucy5pbnNlcnRJbnRvKSBvcHRpb25zLmluc2VydEludG8gPSBcImhlYWRcIjtcblxuXHQvLyBCeSBkZWZhdWx0LCBhZGQgPHN0eWxlPiB0YWdzIHRvIHRoZSBib3R0b20gb2YgdGhlIHRhcmdldFxuXHRpZiAoIW9wdGlvbnMuaW5zZXJ0QXQpIG9wdGlvbnMuaW5zZXJ0QXQgPSBcImJvdHRvbVwiO1xuXG5cdHZhciBzdHlsZXMgPSBsaXN0VG9TdHlsZXMobGlzdCwgb3B0aW9ucyk7XG5cblx0YWRkU3R5bGVzVG9Eb20oc3R5bGVzLCBvcHRpb25zKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlIChuZXdMaXN0KSB7XG5cdFx0dmFyIG1heVJlbW92ZSA9IFtdO1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gc3R5bGVzW2ldO1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRcdGRvbVN0eWxlLnJlZnMtLTtcblx0XHRcdG1heVJlbW92ZS5wdXNoKGRvbVN0eWxlKTtcblx0XHR9XG5cblx0XHRpZihuZXdMaXN0KSB7XG5cdFx0XHR2YXIgbmV3U3R5bGVzID0gbGlzdFRvU3R5bGVzKG5ld0xpc3QsIG9wdGlvbnMpO1xuXHRcdFx0YWRkU3R5bGVzVG9Eb20obmV3U3R5bGVzLCBvcHRpb25zKTtcblx0XHR9XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG1heVJlbW92ZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gbWF5UmVtb3ZlW2ldO1xuXG5cdFx0XHRpZihkb21TdHlsZS5yZWZzID09PSAwKSB7XG5cdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIGRvbVN0eWxlLnBhcnRzW2pdKCk7XG5cblx0XHRcdFx0ZGVsZXRlIHN0eWxlc0luRG9tW2RvbVN0eWxlLmlkXTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG59O1xuXG5mdW5jdGlvbiBhZGRTdHlsZXNUb0RvbSAoc3R5bGVzLCBvcHRpb25zKSB7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRpZihkb21TdHlsZSkge1xuXHRcdFx0ZG9tU3R5bGUucmVmcysrO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHNbal0oaXRlbS5wYXJ0c1tqXSk7XG5cdFx0XHR9XG5cblx0XHRcdGZvcig7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGRvbVN0eWxlLnBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSwgb3B0aW9ucykpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR2YXIgcGFydHMgPSBbXTtcblxuXHRcdFx0Zm9yKHZhciBqID0gMDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0cGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cblx0XHRcdHN0eWxlc0luRG9tW2l0ZW0uaWRdID0ge2lkOiBpdGVtLmlkLCByZWZzOiAxLCBwYXJ0czogcGFydHN9O1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBsaXN0VG9TdHlsZXMgKGxpc3QsIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlcyA9IFtdO1xuXHR2YXIgbmV3U3R5bGVzID0ge307XG5cblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBsaXN0W2ldO1xuXHRcdHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xuXHRcdHZhciBjc3MgPSBpdGVtWzFdO1xuXHRcdHZhciBtZWRpYSA9IGl0ZW1bMl07XG5cdFx0dmFyIHNvdXJjZU1hcCA9IGl0ZW1bM107XG5cdFx0dmFyIHBhcnQgPSB7Y3NzOiBjc3MsIG1lZGlhOiBtZWRpYSwgc291cmNlTWFwOiBzb3VyY2VNYXB9O1xuXG5cdFx0aWYoIW5ld1N0eWxlc1tpZF0pIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7aWQ6IGlkLCBwYXJ0czogW3BhcnRdfSk7XG5cdFx0ZWxzZSBuZXdTdHlsZXNbaWRdLnBhcnRzLnB1c2gocGFydCk7XG5cdH1cblxuXHRyZXR1cm4gc3R5bGVzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQgKG9wdGlvbnMsIHN0eWxlKSB7XG5cdHZhciB0YXJnZXQgPSBnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0SW50bylcblxuXHRpZiAoIXRhcmdldCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0SW50bycgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuXHR9XG5cblx0dmFyIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcFtzdHlsZXNJbnNlcnRlZEF0VG9wLmxlbmd0aCAtIDFdO1xuXG5cdGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcInRvcFwiKSB7XG5cdFx0aWYgKCFsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcCkge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgdGFyZ2V0LmZpcnN0Q2hpbGQpO1xuXHRcdH0gZWxzZSBpZiAobGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpIHtcblx0XHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wLm5leHRTaWJsaW5nKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0XHR9XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5wdXNoKHN0eWxlKTtcblx0fSBlbHNlIGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcImJvdHRvbVwiKSB7XG5cdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0fSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJvYmplY3RcIiAmJiBvcHRpb25zLmluc2VydEF0LmJlZm9yZSkge1xuXHRcdHZhciBuZXh0U2libGluZyA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvICsgXCIgXCIgKyBvcHRpb25zLmluc2VydEF0LmJlZm9yZSk7XG5cdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbmV4dFNpYmxpbmcpO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIltTdHlsZSBMb2FkZXJdXFxuXFxuIEludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAnaW5zZXJ0QXQnICgnb3B0aW9ucy5pbnNlcnRBdCcpIGZvdW5kLlxcbiBNdXN0IGJlICd0b3AnLCAnYm90dG9tJywgb3IgT2JqZWN0LlxcbiAoaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIjaW5zZXJ0YXQpXFxuXCIpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVN0eWxlRWxlbWVudCAoc3R5bGUpIHtcblx0aWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblx0c3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG5cblx0dmFyIGlkeCA9IHN0eWxlc0luc2VydGVkQXRUb3AuaW5kZXhPZihzdHlsZSk7XG5cdGlmKGlkeCA+PSAwKSB7XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5zcGxpY2UoaWR4LCAxKTtcblx0fVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQgKG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblxuXHRhZGRBdHRycyhzdHlsZSwgb3B0aW9ucy5hdHRycyk7XG5cdGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zLCBzdHlsZSk7XG5cblx0cmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMaW5rRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblx0b3B0aW9ucy5hdHRycy5yZWwgPSBcInN0eWxlc2hlZXRcIjtcblxuXHRhZGRBdHRycyhsaW5rLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIGxpbmspO1xuXG5cdHJldHVybiBsaW5rO1xufVxuXG5mdW5jdGlvbiBhZGRBdHRycyAoZWwsIGF0dHJzKSB7XG5cdE9iamVjdC5rZXlzKGF0dHJzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRlbC5zZXRBdHRyaWJ1dGUoa2V5LCBhdHRyc1trZXldKTtcblx0fSk7XG59XG5cbmZ1bmN0aW9uIGFkZFN0eWxlIChvYmosIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlLCB1cGRhdGUsIHJlbW92ZSwgcmVzdWx0O1xuXG5cdC8vIElmIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIHdhcyBkZWZpbmVkLCBydW4gaXQgb24gdGhlIGNzc1xuXHRpZiAob3B0aW9ucy50cmFuc2Zvcm0gJiYgb2JqLmNzcykge1xuXHQgICAgcmVzdWx0ID0gb3B0aW9ucy50cmFuc2Zvcm0ob2JqLmNzcyk7XG5cblx0ICAgIGlmIChyZXN1bHQpIHtcblx0ICAgIFx0Ly8gSWYgdHJhbnNmb3JtIHJldHVybnMgYSB2YWx1ZSwgdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBydW5uaW5nIHJ1bnRpbWUgdHJhbnNmb3JtYXRpb25zIG9uIHRoZSBjc3MuXG5cdCAgICBcdG9iai5jc3MgPSByZXN1bHQ7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgXHQvLyBJZiB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIHJldHVybnMgYSBmYWxzeSB2YWx1ZSwgZG9uJ3QgYWRkIHRoaXMgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBjb25kaXRpb25hbCBsb2FkaW5nIG9mIGNzc1xuXHQgICAgXHRyZXR1cm4gZnVuY3Rpb24oKSB7XG5cdCAgICBcdFx0Ly8gbm9vcFxuXHQgICAgXHR9O1xuXHQgICAgfVxuXHR9XG5cblx0aWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG5cdFx0dmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG5cblx0XHRzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcblxuXHRcdHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgZmFsc2UpO1xuXHRcdHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgdHJ1ZSk7XG5cblx0fSBlbHNlIGlmIChcblx0XHRvYmouc291cmNlTWFwICYmXG5cdFx0dHlwZW9mIFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5jcmVhdGVPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBVUkwucmV2b2tlT2JqZWN0VVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgQmxvYiA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIGJ0b2EgPT09IFwiZnVuY3Rpb25cIlxuXHQpIHtcblx0XHRzdHlsZSA9IGNyZWF0ZUxpbmtFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IHVwZGF0ZUxpbmsuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblxuXHRcdFx0aWYoc3R5bGUuaHJlZikgVVJMLnJldm9rZU9iamVjdFVSTChzdHlsZS5ocmVmKTtcblx0XHR9O1xuXHR9IGVsc2Uge1xuXHRcdHN0eWxlID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblx0XHR9O1xuXHR9XG5cblx0dXBkYXRlKG9iaik7XG5cblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlIChuZXdPYmopIHtcblx0XHRpZiAobmV3T2JqKSB7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG5ld09iai5jc3MgPT09IG9iai5jc3MgJiZcblx0XHRcdFx0bmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiZcblx0XHRcdFx0bmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcFxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dXBkYXRlKG9iaiA9IG5ld09iaik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbW92ZSgpO1xuXHRcdH1cblx0fTtcbn1cblxudmFyIHJlcGxhY2VUZXh0ID0gKGZ1bmN0aW9uICgpIHtcblx0dmFyIHRleHRTdG9yZSA9IFtdO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG5cdFx0dGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuXG5cdFx0cmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG5cdH07XG59KSgpO1xuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnIChzdHlsZSwgaW5kZXgsIHJlbW92ZSwgb2JqKSB7XG5cdHZhciBjc3MgPSByZW1vdmUgPyBcIlwiIDogb2JqLmNzcztcblxuXHRpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpO1xuXHR9IGVsc2Uge1xuXHRcdHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKTtcblx0XHR2YXIgY2hpbGROb2RlcyA9IHN0eWxlLmNoaWxkTm9kZXM7XG5cblx0XHRpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcblxuXHRcdGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuXHRcdFx0c3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcgKHN0eWxlLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBtZWRpYSA9IG9iai5tZWRpYTtcblxuXHRpZihtZWRpYSkge1xuXHRcdHN0eWxlLnNldEF0dHJpYnV0ZShcIm1lZGlhXCIsIG1lZGlhKVxuXHR9XG5cblx0aWYoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcblx0fSBlbHNlIHtcblx0XHR3aGlsZShzdHlsZS5maXJzdENoaWxkKSB7XG5cdFx0XHRzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcblx0XHR9XG5cblx0XHRzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcblx0fVxufVxuXG5mdW5jdGlvbiB1cGRhdGVMaW5rIChsaW5rLCBvcHRpb25zLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG5cdC8qXG5cdFx0SWYgY29udmVydFRvQWJzb2x1dGVVcmxzIGlzbid0IGRlZmluZWQsIGJ1dCBzb3VyY2VtYXBzIGFyZSBlbmFibGVkXG5cdFx0YW5kIHRoZXJlIGlzIG5vIHB1YmxpY1BhdGggZGVmaW5lZCB0aGVuIGxldHMgdHVybiBjb252ZXJ0VG9BYnNvbHV0ZVVybHNcblx0XHRvbiBieSBkZWZhdWx0LiAgT3RoZXJ3aXNlIGRlZmF1bHQgdG8gdGhlIGNvbnZlcnRUb0Fic29sdXRlVXJscyBvcHRpb25cblx0XHRkaXJlY3RseVxuXHQqL1xuXHR2YXIgYXV0b0ZpeFVybHMgPSBvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyA9PT0gdW5kZWZpbmVkICYmIHNvdXJjZU1hcDtcblxuXHRpZiAob3B0aW9ucy5jb252ZXJ0VG9BYnNvbHV0ZVVybHMgfHwgYXV0b0ZpeFVybHMpIHtcblx0XHRjc3MgPSBmaXhVcmxzKGNzcyk7XG5cdH1cblxuXHRpZiAoc291cmNlTWFwKSB7XG5cdFx0Ly8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY2MDM4NzVcblx0XHRjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiICsgYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSArIFwiICovXCI7XG5cdH1cblxuXHR2YXIgYmxvYiA9IG5ldyBCbG9iKFtjc3NdLCB7IHR5cGU6IFwidGV4dC9jc3NcIiB9KTtcblxuXHR2YXIgb2xkU3JjID0gbGluay5ocmVmO1xuXG5cdGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cblx0aWYob2xkU3JjKSBVUkwucmV2b2tlT2JqZWN0VVJMKG9sZFNyYyk7XG59XG5cblxuLyoqKi8gfSksXG4vKiAzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBCb29sZWFuU3dpdGNoOyB9KTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBCb29sZWFuIFJlbmRlcmVyXG4qXG4qIFNpbXBsZSB0b2dnbGUgc3dpdGNoIHRvIGhhbmRsZSBib29sZWFuIHZhbHVlc1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBCb29sZWFuU3dpdGNoID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdCB0aGUgQm9vbGVhblN3aXRjaCBDb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHtCb29sZWFufSBjaGVja2VkIGNoZWNrZWQgZGVmYXVsdCB2YWx1ZSAsIHRydWUgdG8gY2hlY2sgLCBmYWxzZSB0byB1bmNoZWNrXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkb2MgZG9jdW1lbnQgaW5zdGFuY2VcbiAgICovXG4gIGZ1bmN0aW9uIEJvb2xlYW5Td2l0Y2goKSB7XG4gICAgdmFyIGNoZWNrZWQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZhbHNlO1xuICAgIHZhciBkb2MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRvY3VtZW50O1xuICAgIHZhciBsaXN0ZW5lciA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBCb29sZWFuU3dpdGNoKTtcblxuICAgIHRoaXMuX2J1aWxkKGxpc3RlbmVyLCBjaGVja2VkLCBkb2MpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgKlxuICAgKiBAcmV0dXJuIHtCb29sZWFufVxuICAgKi9cblxuXG4gIF9jcmVhdGVDbGFzcyhCb29sZWFuU3dpdGNoLCBbe1xuICAgIGtleTogXCJnZXRWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmlucHV0LmNoZWNrZWQ7XG4gICAgfVxuICAgIC8qKiBGb2N1cyBvbiB0aGUgY29tcG9uZW50ICovXG5cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1cygpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LmZvY3VzKCk7XG4gICAgfVxuICAgIC8qKiBUb2dnbGUgdGhlIGNvbXBvbmVudCBzdGF0ZSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwidG9nZ2xlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHRvZ2dsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuY2hlY2tlZCA9ICF0aGlzLmlucHV0LmNoZWNrZWQ7XG4gICAgfVxuICAgIC8qKiBTZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byBjaGVja2VkICovXG5cbiAgfSwge1xuICAgIGtleTogXCJjaGVja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjaGVjaygpIHtcbiAgICAgIHRoaXMuaW5wdXQuY2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICAgIC8qKiBTZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byB1bmNoZWNrZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcInVuY2hlY2tcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdW5jaGVjaygpIHtcbiAgICAgIHRoaXMuaW5wdXQuY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgICAvKiogRW5hYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImVuYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBlbmFibGUoKSB7XG4gICAgICB0aGlzLmlucHV0LmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBEaXNhYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRpc2FibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJkZXN0cm95XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICBpZiAodGhpcy5fb25DbGlja0JpbmQpIHRoaXMuY29tcG9uZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fb25DbGlja0JpbmQpO1xuICAgICAgaWYgKHRoaXMuX29uQ2hhbmdlQmluZCkgdGhpcy5jb21wb25lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uQ2hhbmdlQmluZCk7XG4gICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX2J1aWxkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9idWlsZChsaXN0ZW5lcikge1xuICAgICAgdmFyIGNoZWNrZWQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuICAgICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZG9jdW1lbnQ7XG4gICAgICAvLyBsYWJlbCBhcyBjb21wb25lbnRcbiAgICAgIHRoaXMuY29tcG9uZW50ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5jb21wb25lbnQuY2xhc3NOYW1lID0gJ0Jvb2xlYW5Td2l0Y2gnO1xuICAgICAgdGhpcy5jb21wb25lbnQudGFiSW5kZXggPSBcIi0xXCI7IC8vIHNwYW4gYXMgc2xpZGVyXG5cbiAgICAgIHRoaXMuc2xpZGVyID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIHRoaXMuc2xpZGVyLmNsYXNzTmFtZSA9ICdzbGlkZXIgcm91bmQnOyAvLyBpbnB1dFxuXG4gICAgICB0aGlzLmlucHV0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICB0aGlzLmlucHV0LnR5cGUgPSAnY2hlY2tib3gnO1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gY2hlY2tlZDtcbiAgICAgIHRoaXMuaW5wdXQudGFiSW5kZXggPSBcIjBcIjsgLy8gYXR0YWNoZSBpbnB1dCBhbmQgc2xpZGVyIHRvIGNvbXBvbmVudFxuXG4gICAgICB0aGlzLmNvbXBvbmVudC5hcHBlbmRDaGlsZCh0aGlzLmlucHV0KTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuc2xpZGVyKTtcbiAgICAgIHRoaXMuX29uQ2xpY2tCaW5kID0gdGhpcy5fb25DbGljay5iaW5kKHRoaXMsIGxpc3RlbmVyKTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlQmluZCA9IHRoaXMuX29uQ2hhbmdlLmJpbmQodGhpcywgbGlzdGVuZXIpO1xuICAgICAgdGhpcy5jb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsaWNrQmluZCk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2xpY2tcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2xpY2sobGlzdGVuZXIsIGUpIHtcbiAgICAgIGlmICh0aGlzLmlucHV0LmRpc2FibGVkKSByZXR1cm4gZmFsc2U7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgaWYgKGxpc3RlbmVyKSBsaXN0ZW5lcih0aGlzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2hhbmdlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbkNoYW5nZShsaXN0ZW5lciwgZSkge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuZGlzYWJsZWQpIHJldHVybiBmYWxzZTtcbiAgICAgIHZhciBrZXkgPSBlLndoaWNoIHx8IGUua2V5Q29kZTtcblxuICAgICAgaWYgKGtleSA9PSAzMikge1xuICAgICAgICAvLyBzcGFjZVxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gMzkpIHtcbiAgICAgICAgLy8gcmlnaHRcbiAgICAgICAgdGhpcy5jaGVjaygpO1xuICAgICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gMzcpIHtcbiAgICAgICAgLy8gbGVmdFxuICAgICAgICB0aGlzLnVuY2hlY2soKTtcbiAgICAgICAgaWYgKGxpc3RlbmVyKSBsaXN0ZW5lcih0aGlzKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQm9vbGVhblN3aXRjaDtcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRGF0ZVRpbWVzRGlhbG9nOyB9KTtcbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyB2YXIgb3duS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7IGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gJ2Z1bmN0aW9uJykgeyBvd25LZXlzID0gb3duS2V5cy5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzb3VyY2UpLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwgc3ltKS5lbnVtZXJhYmxlOyB9KSk7IH0gb3duS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIERhdGVUaW1lc0RpYWxvZ1xuKlxuKiBBIHdyYXAgYXJvdW5kIGZsYXRwaWNrciBBUElcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgRGF0ZVRpbWVzRGlhbG9nID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdCB0aGUgRGF0ZVRpbWVzRGlhbG9nIENvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge09iamVjdH0gZG9jIGRvY3VtZW50IGluc3RhbmNlXG4gICAqIFxuICAgKiB7QGxpbmsgaHR0cHM6Ly9mbGF0cGlja3IuanMub3JnL29wdGlvbnMvfVxuICAgKi9cbiAgZnVuY3Rpb24gRGF0ZVRpbWVzRGlhbG9nKCkge1xuICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICB2YXIgZG9jID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBkb2N1bWVudDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBEYXRlVGltZXNEaWFsb2cpO1xuXG4gICAgdGhpcy5kb2MgPSBkb2M7XG4gICAgdGhpcy5vcHRpb25zID0gX29iamVjdFNwcmVhZCh7fSwge1xuICAgICAgZGF0ZUZvcm1hdDogb3B0aW9ucy5tYXNrLFxuICAgICAgZm9ybWF0RGF0ZTogdGhpcy5mb3JtYXREYXRlLmJpbmQodGhpcyksXG4gICAgICBwYXJzZURhdGU6IHRoaXMucGFyc2VEYXRlLmJpbmQodGhpcyksXG4gICAgICBvblJlYWR5OiB0aGlzLl9vblJlYWR5LmJpbmQodGhpcylcbiAgICB9LCBvcHRpb25zKTtcblxuICAgIHRoaXMuX2J1aWxkKHRoaXMub3B0aW9ucywgdGhpcy5kb2MpO1xuICB9XG4gIC8qKlxuICAgKiBGb3JtYXQgdGhlIGRhdGUgdXNpbmcgYEJCai5NYXNrcy5UeXBlcy5kYXRlYFxuICAgKiBcbiAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgZGF0ZSBhcyBhIHN0cmluZ1xuICAgKiBAcGFyYW0ge1N0cmluZ30gZm9ybWF0IEJCaiBkYXRlIGZvcm1hdFxuICAgKi9cblxuXG4gIF9jcmVhdGVDbGFzcyhEYXRlVGltZXNEaWFsb2csIFt7XG4gICAga2V5OiBcImZvcm1hdERhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQpIHtcbiAgICAgIGlmIChmb3JtYXQuaW5kZXhPZignJScpIDwgMCkgcmV0dXJuO1xuICAgICAgcmV0dXJuIEJCai5NYXNrcy5UeXBlcy5kYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBkYXRlIG9iamVjdCBmcm9tIGEgZGF0ZSBzdHJpbmcgXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGVTdHJpbmcgZGF0ZSBhcyBhIHN0cmluZ1xuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwicGFyc2VEYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHBhcnNlRGF0ZShkYXRlU3RyaW5nKSB7XG4gICAgICB2YXIgZGF0ZU9iamVjdCA9IERhdGUucGFyc2UoZGF0ZVN0cmluZyk7XG4gICAgICBpZiAoIShkYXRlT2JqZWN0IGluc3RhbmNlb2YgRGF0ZSkpIGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlU3RyaW5nKTtcbiAgICAgIHJldHVybiBkYXRlT2JqZWN0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgY2FsYW5kZXIgZGF0ZVxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkYXRlIFxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gdHJpZ2dlckNoYW5nZSBcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcInNldERhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0RGF0ZShkYXRlKSB7XG4gICAgICB2YXIgdHJpZ2dlckNoYW5nZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG4gICAgICB0aGlzLmZsYXRwaWNrci5zZXREYXRlKGRhdGUgfHwgJycsIHRyaWdnZXJDaGFuZ2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgY2FsYW5kZXIgb3B0aW9uXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbiBcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwic2V0T3B0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNldE9wdGlvbihvcHRpb24sIHZhbHVlKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5zZXQob3B0aW9uLCB2YWx1ZSk7XG4gICAgfVxuICAgIC8qKiBPcGVuIGNhbGFuZGVyICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvcGVuXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9wZW4oKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5vcGVuKCk7XG4gICAgICB0aGlzLmZsYXRwaWNrci5pbnB1dC5mb2N1cygpO1xuICAgIH1cbiAgICAvKiogQ2xvc2UgQ2FsYW5kZXIgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImNsb3NlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNsb3NlKCkge1xuICAgICAgdGhpcy5mbGF0cGlja3IuY2xvc2UoKTtcbiAgICB9XG4gICAgLyoqIEVuYWJsZSB0aGUgY29tcG9uZW50ICovXG5cbiAgfSwge1xuICAgIGtleTogXCJlbmFibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZW5hYmxlKCkge1xuICAgICAgdGhpcy5pbnB1dC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICAvKiogRGlzYWJsZSB0aGUgY29tcG9uZW50ICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkaXNhYmxlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRpc2FibGUoKSB7XG4gICAgICB0aGlzLmlucHV0LmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqIERlc3Ryb3kgVGhlIGNvbXBvbmVudCBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVycyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgdGhpcy5mbGF0cGlja3IuZGVzdHJveSgpO1xuICAgICAgaWYgKHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQpIHRoaXMuY2xlYXJCdXR0b24ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2tCaW5kKTtcbiAgICAgIGlmICh0aGlzLl9vbktleURvd25CaW5kKSB0aGlzLmNvbXBvbmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgfVxuICAgIC8qKiBCdWlsZCB0aGUgY29tcG9uZW50IHN0cnVjdHVyZSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2J1aWxkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9idWlsZCgpIHtcbiAgICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICAgIHZhciBkb2MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRvY3VtZW50O1xuICAgICAgdGhpcy5jb21wb25lbnQgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5jbGFzc05hbWUgPSAnRGF0ZVRpbWVzRGlhbG9nJztcbiAgICAgIHRoaXMuY29tcG9uZW50LnRhYkluZGV4ID0gXCIwXCI7XG4gICAgICB0aGlzLmlucHV0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hcHBlbmRDaGlsZCh0aGlzLmlucHV0KTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyID0gZmxhdHBpY2tyKHRoaXMuaW5wdXQsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5fb25LZXlEb3duQmluZCA9IHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5jb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bkJpbmQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBbGxvdyBhcnJvdyBrZXlzIGluc2lkZSB0aGUgaW5wdXRcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uS2V5RG93blwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25LZXlEb3duKGUpIHtcbiAgICAgIHZhciBrZXkgPSBlLndoaWNoIHx8IGUua2V5Q29kZTtcblxuICAgICAgaWYgKFszNywgMzldLmluZGV4T2Yoa2V5KSA+IC0xKSB7XG4gICAgICAgIC8vIGxlZnQgfHwgcmlnaHRcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoMzggPT09IGtleSkge1xuICAgICAgICAvLyB1cCBcbiAgICAgICAgdmFyIGN1cnJlbnREYXRlID0gdGhpcy5mbGF0cGlja3IuaW5wdXQudmFsdWU7XG5cbiAgICAgICAgdmFyIF9uZXh0ID0gRGF0ZS5wYXJzZShjdXJyZW50RGF0ZSk7XG5cbiAgICAgICAgaWYgKCEoX25leHQgaW5zdGFuY2VvZiBEYXRlKSkgX25leHQgPSBuZXcgRGF0ZShjdXJyZW50RGF0ZSk7XG5cbiAgICAgICAgX25leHQuc2V0RGF0ZShfbmV4dC5nZXREYXRlKCkgKyAxKTtcblxuICAgICAgICB0aGlzLmZsYXRwaWNrci5zZXREYXRlKF9uZXh0LCBmYWxzZSwgdGhpcy5vcHRpb25zLm1hc2spO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZSA9IEJCai5NYXNrcy5UeXBlcy5kYXRlKF9uZXh0LCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKDQwID09PSBrZXkpIHtcbiAgICAgICAgLy8gZG93blxuICAgICAgICB2YXIgX2N1cnJlbnREYXRlID0gdGhpcy5mbGF0cGlja3IuaW5wdXQudmFsdWU7XG4gICAgICAgIHZhciBwcmV2ID0gRGF0ZS5wYXJzZShfY3VycmVudERhdGUpO1xuICAgICAgICBpZiAoIShwcmV2IGluc3RhbmNlb2YgRGF0ZSkpIG5leHQgPSBuZXcgRGF0ZShfY3VycmVudERhdGUpO1xuICAgICAgICBwcmV2LnNldERhdGUocHJldi5nZXREYXRlKCkgLSAxKTtcbiAgICAgICAgdGhpcy5mbGF0cGlja3Iuc2V0RGF0ZShwcmV2LCBmYWxzZSwgdGhpcy5vcHRpb25zLm1hc2spO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZSA9IEJCai5NYXNrcy5UeXBlcy5kYXRlKHByZXYsIHRoaXMub3B0aW9ucy5tYXNrKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoOSA9PT0ga2V5KSB7XG4gICAgICAgIC8vIHRhcFxuICAgICAgICB0aGlzLnNldERhdGUodGhpcy5mbGF0cGlja3IuaW5wdXQudmFsdWUsIHRydWUsIHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjbGVhciBidXR0b24gd2hlbiBmbGF0cGlja3IgaXMgcmVhZHkgXG4gICAgICogXG4gICAgICogQHBhcmFtIHtEYXRlfSBkYXRlT2JqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkYXRlU3RyIFxuICAgICAqIEBwYXJhbSB7ZmxhdHBpY2tyfSBpbnN0YW5jZSBcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9vblJlYWR5XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vblJlYWR5KGRhdGVPYmosIGRhdGVTdHIsIGluc3RhbmNlKSB7XG4gICAgICB2YXIgY2xlYXJCdXR0b24gPSBpbnN0YW5jZS5jYWxlbmRhckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuZmxhdHBpY2tyLWNsZWFyJyk7XG5cbiAgICAgIGlmICghY2xlYXJCdXR0b24pIHtcbiAgICAgICAgdGhpcy5jbGVhckJ1dHRvbiA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uLmNsYXNzTmFtZSA9ICdmbGF0cGlja3ItY2xlYXInO1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uLmlubmVySFRNTCA9ICdDbGVhcic7XG4gICAgICAgIGluc3RhbmNlLmNhbGVuZGFyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuY2xlYXJCdXR0b24pO1xuICAgICAgICB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2tCaW5kID0gdGhpcy5fb25DbGVhckJ1dHRvbkNsaWNrLmJpbmQodGhpcywgaW5zdGFuY2UpO1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fb25DbGVhckJ1dHRvbkNsaWNrQmluZCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExpc3RlbiB0byBmbGF0cGlja3IgY2xlYXIgYnV0dG9uIGNsaWNrcyBhbmQgY2xlYXIgdGhlIGNhbGFuZGVyXG4gICAgICogXG4gICAgICogQHBhcmFtIHtmbGF0cGlja3J9IGluc3RhbmNlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2xlYXJCdXR0b25DbGlja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DbGVhckJ1dHRvbkNsaWNrKGZsYXRwaWNrckluc3RhbmNlKSB7XG4gICAgICBmbGF0cGlja3JJbnN0YW5jZS5jbGVhcigpO1xuICAgICAgZmxhdHBpY2tySW5zdGFuY2UuY2xvc2UoKTtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ29uQ2xlYXInKSkgdGhpcy5vcHRpb25zLm9uQ2xlYXIoKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRGF0ZVRpbWVzRGlhbG9nO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiA1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KTtcblxuaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmksIGNvbnRlbnQsICcnXV07XG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG52YXIgb3B0aW9ucyA9IHtcbiAgXCJobXJcIjogdHJ1ZVxufTtcbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQ7XG59O1xuXG52YXIgdXBkYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYgKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZiAoZmFsc2UpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIik7XG5cbiAgICBpZiAodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cbiAgICB2YXIgbG9jYWxzID0gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHZhciBrZXksXG4gICAgICAgICAgaWR4ID0gMDtcblxuICAgICAgZm9yIChrZXkgaW4gYSkge1xuICAgICAgICBpZiAoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWR4Kys7XG4gICAgICB9XG5cbiAgICAgIGZvciAoa2V5IGluIGIpIHtcbiAgICAgICAgaWR4LS07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpZHggPT09IDA7XG4gICAgfShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpO1xuXG4gICAgaWYgKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG4gICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICB9KTtcbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICB1cGRhdGUoKTtcbiAgfSk7XG59XG5cbi8qKiovIH0pLFxuLyogNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFwiLkJhc2ljQm9vbGVhbnNSZW5kZXJlcntkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87dGV4dC1hbGlnbjpjZW50ZXJ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWx7ZGlzcGxheTpibG9jaztsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyfS5CYXNpY0Jvb2xlYW5zRmlsdGVyIHVsIGxpe3BhZGRpbmc6MTBweDstd2Via2l0LXRyYW5zaXRpb246LjRzO3RyYW5zaXRpb246LjRzO2JvcmRlci1ib3R0b206dGhpbiBzb2xpZCAjY2NjfS5CYXNpY0Jvb2xlYW5zRmlsdGVyIHVsIGxpLnNlbGVjdGVke2JhY2tncm91bmQ6IzU2OWZmNztjb2xvcjojZmZmfS5CYXNpY0Jvb2xlYW5zRmlsdGVyIHVsIGxpOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lfS5Cb29sZWFuU3dpdGNoe291dGxpbmU6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87d2lkdGg6NDBweDtoZWlnaHQ6MjBweH0uQm9vbGVhblN3aXRjaCBpbnB1dHtkaXNwbGF5Om5vbmV9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlcntjdXJzb3I6cG9pbnRlcjt0b3A6MjAlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxMCU7YmFja2dyb3VuZC1jb2xvcjojY2NjfS5Cb29sZWFuU3dpdGNoIC5zbGlkZXIsLkJvb2xlYW5Td2l0Y2ggLnNsaWRlcjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC10cmFuc2l0aW9uOi40czt0cmFuc2l0aW9uOi40c30uQm9vbGVhblN3aXRjaCAuc2xpZGVyOmJlZm9yZXtjb250ZW50OlxcXCJcXFwiO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bGVmdDoxcHg7dG9wOjFweDtib3R0b206MXB4O3JpZ2h0OjFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LkJvb2xlYW5Td2l0Y2ggaW5wdXQ6Y2hlY2tlZCsuc2xpZGVye2JhY2tncm91bmQtY29sb3I6IzU2OWZmN30uQm9vbGVhblN3aXRjaCBpbnB1dDpmb2N1cysuc2xpZGVye2JveC1zaGFkb3c6MCAwIDFweCAjNTY5ZmY3fS5Cb29sZWFuU3dpdGNoIGlucHV0OmNoZWNrZWQrLnNsaWRlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjZweCl9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlci5yb3VuZHtib3JkZXItcmFkaXVzOjI4cHh9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlci5yb3VuZDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCV9XCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cbi8qKiovIH0pLFxuLyogNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5cbi8qKlxuICogV2hlbiBzb3VyY2UgbWFwcyBhcmUgZW5hYmxlZCwgYHN0eWxlLWxvYWRlcmAgdXNlcyBhIGxpbmsgZWxlbWVudCB3aXRoIGEgZGF0YS11cmkgdG9cbiAqIGVtYmVkIHRoZSBjc3Mgb24gdGhlIHBhZ2UuIFRoaXMgYnJlYWtzIGFsbCByZWxhdGl2ZSB1cmxzIGJlY2F1c2Ugbm93IHRoZXkgYXJlIHJlbGF0aXZlIHRvIGFcbiAqIGJ1bmRsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IHBhZ2UuXG4gKlxuICogT25lIHNvbHV0aW9uIGlzIHRvIG9ubHkgdXNlIGZ1bGwgdXJscywgYnV0IHRoYXQgbWF5IGJlIGltcG9zc2libGUuXG4gKlxuICogSW5zdGVhZCwgdGhpcyBmdW5jdGlvbiBcImZpeGVzXCIgdGhlIHJlbGF0aXZlIHVybHMgdG8gYmUgYWJzb2x1dGUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHBhZ2UgbG9jYXRpb24uXG4gKlxuICogQSBydWRpbWVudGFyeSB0ZXN0IHN1aXRlIGlzIGxvY2F0ZWQgYXQgYHRlc3QvZml4VXJscy5qc2AgYW5kIGNhbiBiZSBydW4gdmlhIHRoZSBgbnBtIHRlc3RgIGNvbW1hbmQuXG4gKlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNzcykge1xuICAvLyBnZXQgY3VycmVudCBsb2NhdGlvblxuICB2YXIgbG9jYXRpb24gPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5sb2NhdGlvbjtcblxuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZml4VXJscyByZXF1aXJlcyB3aW5kb3cubG9jYXRpb25cIik7XG4gIH1cblxuXHQvLyBibGFuayBvciBudWxsP1xuXHRpZiAoIWNzcyB8fCB0eXBlb2YgY3NzICE9PSBcInN0cmluZ1wiKSB7XG5cdCAgcmV0dXJuIGNzcztcbiAgfVxuXG4gIHZhciBiYXNlVXJsID0gbG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyBsb2NhdGlvbi5ob3N0O1xuICB2YXIgY3VycmVudERpciA9IGJhc2VVcmwgKyBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC9bXlxcL10qJC8sIFwiL1wiKTtcblxuXHQvLyBjb252ZXJ0IGVhY2ggdXJsKC4uLilcblx0Lypcblx0VGhpcyByZWd1bGFyIGV4cHJlc3Npb24gaXMganVzdCBhIHdheSB0byByZWN1cnNpdmVseSBtYXRjaCBicmFja2V0cyB3aXRoaW5cblx0YSBzdHJpbmcuXG5cblx0IC91cmxcXHMqXFwoICA9IE1hdGNoIG9uIHRoZSB3b3JkIFwidXJsXCIgd2l0aCBhbnkgd2hpdGVzcGFjZSBhZnRlciBpdCBhbmQgdGhlbiBhIHBhcmVuc1xuXHQgICAoICA9IFN0YXJ0IGEgY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgKD86ICA9IFN0YXJ0IGEgbm9uLWNhcHR1cmluZyBncm91cFxuXHQgICAgICAgICBbXikoXSAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICBcXCggID0gTWF0Y2ggYSBzdGFydCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKD86ICA9IFN0YXJ0IGFub3RoZXIgbm9uLWNhcHR1cmluZyBncm91cHNcblx0ICAgICAgICAgICAgICAgICBbXikoXSsgID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgICAgIFteKShdKiAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICBcXCkgID0gTWF0Y2ggYSBlbmQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICkgID0gRW5kIEdyb3VwXG4gICAgICAgICAgICAgICpcXCkgPSBNYXRjaCBhbnl0aGluZyBhbmQgdGhlbiBhIGNsb3NlIHBhcmVuc1xuICAgICAgICAgICkgID0gQ2xvc2Ugbm9uLWNhcHR1cmluZyBncm91cFxuICAgICAgICAgICogID0gTWF0Y2ggYW55dGhpbmdcbiAgICAgICApICA9IENsb3NlIGNhcHR1cmluZyBncm91cFxuXHQgXFwpICA9IE1hdGNoIGEgY2xvc2UgcGFyZW5zXG5cblx0IC9naSAgPSBHZXQgYWxsIG1hdGNoZXMsIG5vdCB0aGUgZmlyc3QuICBCZSBjYXNlIGluc2Vuc2l0aXZlLlxuXHQgKi9cblx0dmFyIGZpeGVkQ3NzID0gY3NzLnJlcGxhY2UoL3VybFxccypcXCgoKD86W14pKF18XFwoKD86W14pKF0rfFxcKFteKShdKlxcKSkqXFwpKSopXFwpL2dpLCBmdW5jdGlvbihmdWxsTWF0Y2gsIG9yaWdVcmwpIHtcblx0XHQvLyBzdHJpcCBxdW90ZXMgKGlmIHRoZXkgZXhpc3QpXG5cdFx0dmFyIHVucXVvdGVkT3JpZ1VybCA9IG9yaWdVcmxcblx0XHRcdC50cmltKClcblx0XHRcdC5yZXBsYWNlKC9eXCIoLiopXCIkLywgZnVuY3Rpb24obywgJDEpeyByZXR1cm4gJDE7IH0pXG5cdFx0XHQucmVwbGFjZSgvXicoLiopJyQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSk7XG5cblx0XHQvLyBhbHJlYWR5IGEgZnVsbCB1cmw/IG5vIGNoYW5nZVxuXHRcdGlmICgvXigjfGRhdGE6fGh0dHA6XFwvXFwvfGh0dHBzOlxcL1xcL3xmaWxlOlxcL1xcL1xcL3xcXHMqJCkvaS50ZXN0KHVucXVvdGVkT3JpZ1VybCkpIHtcblx0XHQgIHJldHVybiBmdWxsTWF0Y2g7XG5cdFx0fVxuXG5cdFx0Ly8gY29udmVydCB0aGUgdXJsIHRvIGEgZnVsbCB1cmxcblx0XHR2YXIgbmV3VXJsO1xuXG5cdFx0aWYgKHVucXVvdGVkT3JpZ1VybC5pbmRleE9mKFwiLy9cIikgPT09IDApIHtcblx0XHQgIFx0Ly9UT0RPOiBzaG91bGQgd2UgYWRkIHByb3RvY29sP1xuXHRcdFx0bmV3VXJsID0gdW5xdW90ZWRPcmlnVXJsO1xuXHRcdH0gZWxzZSBpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvXCIpID09PSAwKSB7XG5cdFx0XHQvLyBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgYmFzZSB1cmxcblx0XHRcdG5ld1VybCA9IGJhc2VVcmwgKyB1bnF1b3RlZE9yaWdVcmw7IC8vIGFscmVhZHkgc3RhcnRzIHdpdGggJy8nXG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIGN1cnJlbnQgZGlyZWN0b3J5XG5cdFx0XHRuZXdVcmwgPSBjdXJyZW50RGlyICsgdW5xdW90ZWRPcmlnVXJsLnJlcGxhY2UoL15cXC5cXC8vLCBcIlwiKTsgLy8gU3RyaXAgbGVhZGluZyAnLi8nXG5cdFx0fVxuXG5cdFx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCB1cmwoLi4uKVxuXHRcdHJldHVybiBcInVybChcIiArIEpTT04uc3RyaW5naWZ5KG5ld1VybCkgKyBcIilcIjtcblx0fSk7XG5cblx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCBjc3Ncblx0cmV0dXJuIGZpeGVkQ3NzO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGNvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDkpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiA5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuZmxhdHBpY2tyLWNhbGVuZGFye2ZvbnQtc2l6ZToxM3B4O2JvcmRlci1yYWRpdXM6NXB4fS5mbGF0cGlja3ItY2FsZW5kYXIgLmZsYXRwaWNrci1jbGVhcntwYWRkaW5nOjdweDttYXJnaW46MTJweDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiM1NjlmZjc7Y29sb3I6I2ZmZjtvdXRsaW5lOjA7Ym9yZGVyOjA7bWluLXdpZHRoOjEwMHB4O2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAwIDJweCAwIHRyYW5zcGFyZW50O3RyYW5zaXRpb246Ym94LXNoYWRvdyAuMzZzfS5mbGF0cGlja3ItY2FsZW5kYXIgLmZsYXRwaWNrci1jbGVhcjpmb2N1cywuZmxhdHBpY2tyLWNhbGVuZGFyIC5mbGF0cGlja3ItY2xlYXI6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMnB4IDAgIzllOWU5ZX0uRGF0ZVRpbWVzRGlhbG9ne21heC13aWR0aDozMDcuODc1cHg7b3ZlcmZsb3c6aGlkZGVufS5EYXRlVGltZXNEaWFsb2cgaW5wdXR7bWluLXdpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3BhZGRpbmc6M3B4O291dGxpbmU6MDtib3JkZXI6bm9uZX1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiAxMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMTEpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiAxMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFwiLkJhc2ljSW1hZ2VzUmVuZGVyZXIgaW1ne2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b31cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiAxMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMTMpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiAxMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFwiLkJhc2ljTnVtYmVyc0VkaXRvcntkaXNwbGF5OmJsb2NrfS5CYXNpY051bWJlcnNFZGl0b3IgaW5wdXR7bWluLXdpZHRoOjEwMCU7b3V0bGluZTowO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztib3JkZXI6bm9uZTtwYWRkaW5nOjNweH1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiAxNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUmVuZGVyZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cblxuLyoqXG4qIEJvb2xlYW5zIFJlbmRlcmVyXG4qXG4qIEhhbmRsZSBib29sZWFuIHZhbHVlcyBSZW5kZXJlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIFJlbmRlcmVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUGFyYW1zTWl4aW5zKSB7XG4gIF9pbmhlcml0cyhSZW5kZXJlciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gUmVuZGVyZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFJlbmRlcmVyKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoUmVuZGVyZXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFJlbmRlcmVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBzd2l0Y2hlciA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0Jvb2xlYW5Td2l0Y2hfX1tcImFcIiAvKiBkZWZhdWx0ICovXShudWxsLCBkb2MpO1xuICAgICAgc3dpdGNoZXIuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5jb250YWluZXIgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NOYW1lID0gXCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXJcIjtcblxuICAgICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgdHJ1ZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ1JFTkRFUkVSX1RSVUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdUUlVFJywgcGFyYW1zKTtcbiAgICAgICAgdmFyIGZhbHNlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignUkVOREVSRVJfRkFMU0UnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdGQUxTRScsIHBhcmFtcyk7XG5cbiAgICAgICAgaWYgKHRydWUgPT09IHBhcmFtcy52YWx1ZSkge1xuICAgICAgICAgIGlmICghdHJ1ZVZhbHVlIHx8IHRydWVWYWx1ZSA9PT0gJ3N3aXRjaCcpIHtcbiAgICAgICAgICAgIHN3aXRjaGVyLmNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChzd2l0Y2hlci5jb21wb25lbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSB0cnVlVmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghZmFsc2VWYWx1ZSB8fCBmYWxzZVZhbHVlID09PSAnc3dpdGNoJykge1xuICAgICAgICAgICAgc3dpdGNoZXIudW5jaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQoc3dpdGNoZXIuY29tcG9uZW50KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gZmFsc2VWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcjtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gUmVuZGVyZXI7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEVkaXRvcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19Cb29sZWFuU3dpdGNoX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG4vKipcbiogQm9vbGVhbnMgRWRpdG9yXG4qXG4qIEhhbmRsZSBib29sZWFuIHZhbHVlcyBFZGl0aW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgRWRpdG9yID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUGFyYW1zTWl4aW5zKSB7XG4gIF9pbmhlcml0cyhFZGl0b3IsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIEVkaXRvcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWRpdG9yKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoRWRpdG9yKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhFZGl0b3IsIFt7XG4gICAga2V5OiBcImluaXRcIixcblxuICAgIC8qKlxuICAgICAqIFNldHVwIHRoZSBjb21wb25lbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN0YXJ0VmFsdWU7XG4gICAgICBpZiAocGFyYW1zLmtleVByZXNzICE9PSBudWxsKSBzdGFydFZhbHVlID0gQm9vbGVhbihwYXJhbXMua2V5UHJlc3MpO2Vsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MgIT09IG51bGwpIHN0YXJ0VmFsdWUgPSBCb29sZWFuKHBhcmFtcy5jaGFyUHJlc3MpO1xuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuXG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdmFyIGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUgPSBwYXJhbXMua2V5UHJlc3MgPT0gMzIgLy8gc3BhY2VcbiAgICAgICAgfHwgcGFyYW1zLmtleVByZXNzID09IDQ2OyAvLyBkZWxldGVcblxuICAgICAgICBpZiAoa2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSkge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMuY2hhclByZXNzKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IEJvb2xlYW4ocGFyYW1zLmNoYXJQcmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuICAgICAgdGhpcy5zd2l0Y2hlciA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0Jvb2xlYW5Td2l0Y2hfX1tcImFcIiAvKiBkZWZhdWx0ICovXShzdGFydFZhbHVlLCBkb2MsIGZ1bmN0aW9uIChzd2l0Y2hlcikge1xuICAgICAgICBfdGhpcy5jdXJyZW50VmFsdWUgPSBzd2l0Y2hlci5nZXRWYWx1ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmZvY3VzSW4oKTsgLy8gdXBkYXRlIGBjdXJyZW50VmFsdWVgIHRoZSB2YWx1ZSB3aGljaCB0aGlzIGNvbXBvbmVudCBpcyBtYW5hZ2luZ1xuXG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcmVmcmVuY2UgdG8gdGhlIGNvbXBvbmVudCBlbGVtZW50XG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtIVE1MRWxlbWVudH1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5zd2l0Y2hlci5jb21wb25lbnQ7XG4gICAgfVxuICAgIC8qKiBNYWtlIHN1cmUgY29udGFpbmVyIGlzIGFsd2F5cyBmb2N1c2VkIHRvIGxpc3RlbiB0byBrZXkgY2hhbmdlcyovXG5cbiAgfSwge1xuICAgIGtleTogXCJhZnRlckd1aUF0dGFjaGVkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGFmdGVyR3VpQXR0YWNoZWQoKSB7XG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0luKCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzSW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNJbigpIHtcbiAgICAgIHRoaXMuc3dpdGNoZXIuZm9jdXMoKTtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNPdXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNPdXQoKSB7XG4gICAgICB0aGlzLnN3aXRjaGVyLmRpc2FibGUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IFRoZSBjb21wb25lbnQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcG9uZW50IGRvZXMgbm90IG92ZXJmbG93IHRoZSBjZWxsXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufSBhbHdheXMgZmFsc2VcbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc1BvcHVwXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzUG9wdXAoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qKiByZW1vdmUgZXZlbnQgbGlzdGVuZXJzIG9uIGRlc3RvcnkgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIHRoaXMuc3dpdGNoZXIuZGVzdHJveSgpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBFZGl0b3I7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEZpbHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogQm9vbGVhbnMgRmlsdGVyXG4qXG4qIEhhbmRsZSBib29sZWFuIHZhbHVlcyBGaWx0ZXJpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBGaWx0ZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEZpbHRlciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRmlsdGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBGaWx0ZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihGaWx0ZXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEZpbHRlciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0IHRoZSBCb29sZWFuIEZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgdHJ1ZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9UUlVFJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignVFJVRScsIHBhcmFtcyk7XG4gICAgICB2YXIgZmFsc2VWYWx1ZSA9IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRkFMU0UnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdGQUxTRScsIHBhcmFtcyk7XG4gICAgICB2YXIgbm9uZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9OT05FJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTk9ORScsIHBhcmFtcyk7XG4gICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgIHRoaXMudmFsdWVHZXR0ZXIgPSBwYXJhbXMudmFsdWVHZXR0ZXI7XG4gICAgICB0aGlzLmZpbHRlclRleHQgPSBudWxsO1xuICAgICAgdGhpcy5ndWkgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmd1aS5jbGFzc05hbWUgPSAnQmFzaWNCb29sZWFuc0ZpbHRlcic7XG4gICAgICB0aGlzLmd1aS50YWJJbmRleCA9IFwiMFwiO1xuICAgICAgdGhpcy5ndWkuaW5uZXJIVE1MID0gXCJcXG4gICAgICAgIDx1bCBjbGFzcz1cXFwiYWctZmlsdGVyLWJvZHlcXFwiPlxcbiAgICAgICAgICA8bGkgdmFsdWU9XFxcInRydWVcXFwiPlwiLmNvbmNhdCh0cnVlVmFsdWUgfHwgJyYjOTY3MyBUcnVlJywgXCI8L2xpPlxcbiAgICAgICAgICA8bGkgdmFsdWU9XFxcImZhbHNlXFxcIj5cIikuY29uY2F0KGZhbHNlVmFsdWUgfHwgJyYjOTY3ODsgRmFsc2UnLCBcIjwvbGk+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwibm9uZVxcXCI+XCIpLmNvbmNhdChub25lVmFsdWUgfHwgJyYjOTY3NzsgTm9uZScsIFwiPC9saT5cXG4gICAgICAgIDwvdWw+XFxuICAgIFwiKTtcbiAgICAgIHRoaXMuZmlsdGVyRWxlbWVudHMgPSB0aGlzLmd1aS5xdWVyeVNlbGVjdG9yQWxsKCdsaScpO1xuICAgICAgdGhpcy5fb25DaGFuZ2VCaW5kID0gdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbHRlckVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5maWx0ZXJFbGVtZW50c1tpXTtcbiAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqIEByZXR1cm4ge0hUTUxFbGVtZW50fSovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ3VpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayB3aGV0aGVyIHNlbGVjdGVkIGZpbHRlciBtYXRjaHMgdGhlIHBhc3NlZCBjZWxsIGRhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBwYXNzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRvZXNGaWx0ZXJQYXNzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRvZXNGaWx0ZXJQYXNzKHBhcmFtcykge1xuICAgICAgdmFyIHZhbHVlID0gdGhpcy52YWx1ZUdldHRlcihwYXJhbXMpO1xuICAgICAgdmFyIHBhc3NlZDtcblxuICAgICAgaWYgKHRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnICYmIHZhbHVlID09IGZhbHNlKSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgJiYgdmFsdWUgPT0gdHJ1ZSkge1xuICAgICAgICBwYXNzZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclRleHQudG9Mb3dlckNhc2UoKSA9PT0gJ25vbmUnKSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXNzZWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhc3NlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2sgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGFwcGx5aW5nIGFueSBmaWx0ZXIgb24gdGhlIGNvbHVtblxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc0ZpbHRlckFjdGl2ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0ZpbHRlckFjdGl2ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlclRleHQgIT09IG51bGwgJiYgdGhpcy5maWx0ZXJUZXh0ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5maWx0ZXJUZXh0ICE9PSAnbm9uZSc7XG4gICAgfVxuICAgIC8qKiBHZXRzIHRoZSBmaWx0ZXIgc3RhdGUgZm9yIHN0b3JpbmcgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldE1vZGVsXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE1vZGVsKCkge1xuICAgICAgdmFyIG1vZGVsID0ge1xuICAgICAgICB2YWx1ZTogdGhpcy5maWx0ZXJUZXh0XG4gICAgICB9O1xuICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMaXN0ZW4gdG8gc2VsZWN0aW9uIGNoYW5nZXMgaW4gdGhlIGZpbHRlciBsaXN0IGFuZCB1cGRhdGUgdGhlIGdyaWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKGV2ZW50KSB7XG4gICAgICB0aGlzLmZpbHRlclRleHQgPSBldmVudC50YXJnZXQuZ2V0QXR0cmlidXRlKCd2YWx1ZScpO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsdGVyRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLmZpbHRlckVsZW1lbnRzW2ldO1xuXG4gICAgICAgIGlmIChlbGVtZW50ID09PSBldmVudC50YXJnZXQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBGaWx0ZXI7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEVkaXRvcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19EYXRlVGltZXNEaWFsb2dfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBEYXRlIC8gVGltZXMgRWRpdG9yXG4qXG4qIEhhbmRsZSBEYXRlL1RpbWUgdmFsdWVzIEVkaXRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBFZGl0b3IgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEVkaXRvciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRWRpdG9yKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBFZGl0b3IpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihFZGl0b3IpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEVkaXRvciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogU2V0dXAgdGhlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgc3RhcnRWYWx1ZTtcbiAgICAgIHRoaXMuZm9jdXNBZnRlckF0dGFjaGVkID0gcGFyYW1zLmNlbGxTdGFydGVkRWRpdDtcblxuICAgICAgaWYgKHRoaXMuZm9jdXNBZnRlckF0dGFjaGVkKSB7XG4gICAgICAgIHZhciBrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlID0gcGFyYW1zLmtleVByZXNzID09IDMyIC8vIHNwYWNlXG4gICAgICAgIHx8IHBhcmFtcy5rZXlQcmVzcyA9PSA0NjsgLy8gZGVsZXRlXG5cbiAgICAgICAgaWYgKGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSBpZiAocGFyYW1zLmNoYXJQcmVzcykge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSBwYXJhbXMuY2hhclByZXNzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSBwYXJhbXMudmFsdWU7XG5cbiAgICAgICAgICBpZiAocGFyYW1zLmtleVByZXNzICE9IDExMykge1xuICAgICAgICAgICAgLy9GMlxuICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRBbGxPbkZvY3VzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0VmFsdWUgPSBwYXJhbXMudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlhbG9nID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fRGF0ZVRpbWVzRGlhbG9nX19bXCJhXCIgLyogZGVmYXVsdCAqL10oe1xuICAgICAgICBlbmFibGVUaW1lOiB0aGlzLmdldE9wdGlvbignRURJVE9SX0VOQUJMRV9USU1FJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBlbmFibGVTZWNvbmRzOiB0aGlzLmdldE9wdGlvbignRURJVE9SX0VOQUJMRV9TRUNPTkRTJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtYXhEYXRlOiB0aGlzLmdldE9wdGlvbignRURJVE9SX01BWCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01BWCcsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWluRGF0ZTogdGhpcy5nZXRPcHRpb24oJ0VESVRPUl9NSU4nLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdNSU4nLCBwYXJhbXMpIHx8IG51bGwsXG4gICAgICAgIG1hc2s6IHRoaXMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRURJVE9SX01BU0snLCBwYXJhbXMpLFxuICAgICAgICBhbGxvd0lucHV0OiB0aGlzLmdldE9wdGlvbignRURJVE9SX0FMTE9XX0lOUFVUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtb2RlOiAnc2luZ2xlJyxcbiAgICAgICAgLy90aGlzLmdldE9wdGlvbignRURJVE9SX01PREUnLCBwYXJhbXMpIHx8ICdyYW5nZScsXG4gICAgICAgIHRpbWVfMjRocjogdGhpcy5nZXRPcHRpb24oJ0VESVRPUl8yNEgnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCcyNEgnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBvblZhbHVlVXBkYXRlOiB0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcylcbiAgICAgIH0sIGRvYyk7XG4gICAgICB0aGlzLmRpYWxvZy5zZXREYXRlKHN0YXJ0VmFsdWUsIHRydWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgYGN1cnJlbnRWYWx1ZWAgIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwib25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2UoZGF0ZXMsIGRhdGVTdHIpIHtcbiAgICAgIHRoaXMuZGlhbG9nLnNldERhdGUoZGF0ZVN0ciwgZmFsc2UpO1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBkYXRlU3RyO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHJlZnJlbmNlIHRvIHRoZSBjb21wb25lbnQgZWxlbWVudFxuICAgICAqXG4gICAgICogQHJldHVybiB7SFRNTEVsZW1lbnR9XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nLmNvbXBvbmVudDtcbiAgICB9XG4gICAgLyoqIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgYWx3YXlzIGZvY3VzZWQgdG8gbGlzdGVuIHRvIGtleSBjaGFuZ2VzKi9cblxuICB9LCB7XG4gICAga2V5OiBcImFmdGVyR3VpQXR0YWNoZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWZ0ZXJHdWlBdHRhY2hlZCgpIHtcbiAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMpIHtcbiAgICAgICAgdGhpcy5kaWFsb2cuaW5wdXQuc2VsZWN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzSW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvKiogQ2FsbGVkIGlmIGVkaXRUeXBlID0gJ2Z1bGxSb3cnICovXG5cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c0luXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzSW4oKSB7XG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKCk7XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzT3V0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzT3V0KCkge1xuICAgICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IFRoZSBjb21wb25lbnQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1N0cmluZ31cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgb3ZlcmZsb3dzIHRoZSBjZWxsXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufSBhbHdheXMgdHJ1ZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIERlc3RvcnkgRGF0ZVRpbWVzRGlhbG9nICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkZXN0cm95XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmRpYWxvZy5kZXN0cm95KCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEVkaXRvcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gVmFsdWVGb3JtYXR0ZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBEYXRlcyAvIFRpbWVzIEZvcm1hdHRlclxuKlxuKiBIYW5kbGUgRGF0ZSAvIFRpbWUgdmFsdWVzIGZvcm1hdHRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBWYWx1ZUZvcm1hdHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFZhbHVlRm9ybWF0dGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBWYWx1ZUZvcm1hdHRlcik7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVmFsdWVGb3JtYXR0ZXIsIG51bGwsIFt7XG4gICAga2V5OiBcImZvcm1hdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXQocGFyYW1zKSB7XG4gICAgICB2YXIgcGFyYW1zTWl4aW5zID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKCk7XG4gICAgICB2YXIgZG9jID0gcGFyYW1zTWl4aW5zLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIG1hc2sgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9NQVNLJywgcGFyYW1zKTtcblxuICAgICAgaWYgKG1hc2sgJiYgcGFyYW1zLmhhc093blByb3BlcnR5KCd2YWx1ZScpICYmIHBhcmFtcy52YWx1ZSkge1xuICAgICAgICByZXR1cm4gQkJqLk1hc2tzLlR5cGVzLmRhdGUocGFyYW1zLnZhbHVlLCBtYXNrKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcmFtcy52YWx1ZSB8fCAnJzsgLy8gYXZvaWQgdW5kZWZpbmVkIFxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBWYWx1ZUZvcm1hdHRlcjtcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEZpbHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19EYXRlVGltZXNEaWFsb2dfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX3NsaWNlZFRvQXJyYXkoYXJyLCBpKSB7IHJldHVybiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB8fCBfbm9uSXRlcmFibGVSZXN0KCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2VcIik7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgeyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG4vKipcbiogRGF0ZSAvIFRpbWUgRmlsdGVyXG4qXG4qIEhhbmRsZSBEYXRlcyAvIFRpbWVzIHZhbHVlcyBGaWx0ZXJpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBGaWx0ZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEZpbHRlciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRmlsdGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBGaWx0ZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihGaWx0ZXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEZpbHRlciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0IHRoZSBCb29sZWFuIEZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB0aGlzLmRpYWxvZyA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKHtcbiAgICAgICAgaW5saW5lOiB0cnVlLFxuICAgICAgICBlbmFibGVUaW1lOiB0aGlzLmdldE9wdGlvbignRklMVEVSX0VOQUJMRV9USU1FJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBlbmFibGVTZWNvbmRzOiB0aGlzLmdldE9wdGlvbignRklMVEVSX0VOQUJMRV9TRUNPTkRTJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtYXhEYXRlOiB0aGlzLmdldE9wdGlvbignRklMVEVSX01BWCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01BWCcsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWluRGF0ZTogdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NSU4nLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdNSU4nLCBwYXJhbXMpIHx8IG51bGwsXG4gICAgICAgIG1hc2s6IHRoaXMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRklMVEVSX01BU0snLCBwYXJhbXMpLFxuICAgICAgICBhbGxvd0lucHV0OiB0aGlzLmdldE9wdGlvbignRklMVEVSX0FMTE9XX0lOUFVUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtb2RlOiAncmFuZ2UnLFxuICAgICAgICAvL3RoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTU9ERScsIHBhcmFtcykgfHwgJ3JhbmdlJyxcbiAgICAgICAgdGltZV8yNGhyOiB0aGlzLmdldE9wdGlvbignRklMVEVSXzI0SCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJzI0SCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG9uVmFsdWVVcGRhdGU6IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgb25DbGVhcjogdGhpcy5vbkNsZWFyLmJpbmQodGhpcylcbiAgICAgIH0sIGRvYyk7IC8vIG1ha2Ugc3VyZSBubyBkYXRlIGlzIHNlbGVjdGVkXG5cbiAgICAgIHRoaXMuZGlhbG9nLnNldERhdGUoJycsIHRydWUpO1xuICAgICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgICB0aGlzLnZhbHVlR2V0dGVyID0gcGFyYW1zLnZhbHVlR2V0dGVyO1xuICAgICAgdGhpcy5maWx0ZXJEYXRlcyA9IG51bGw7XG4gICAgfVxuICAgIC8qKiBSZXNldCBmaWx0ZXIgd2hlbiBjYWxhbmRlciBpcyBjbGVhcmVkICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNsZWFyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uQ2xlYXIoKSB7XG4gICAgICB0aGlzLmZpbHRlckRhdGVzID0gW107XG4gICAgICB0aGlzLnBhcmFtcy5maWx0ZXJDaGFuZ2VkQ2FsbGJhY2soKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTGlzdGVuIHRvIHNlbGVjdGlvbiBjaGFuZ2VzIGluIHRoZSBjYWxhbmRlciBhbmQgdXBkYXRlIHRoZSBncmlkXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwib25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2UoZGF0ZXMsIGRhdGVTdHIpIHtcbiAgICAgIHRoaXMuZmlsdGVyRGF0ZXMgPSBkYXRlcztcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xuICAgIH1cbiAgICAvKiogQHJldHVybiB7SFRNTEVsZW1lbnR9Ki9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2cuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayB3aGV0aGVyIHNlbGVjdGVkIGZpbHRlciBtYXRjaHMgdGhlIHBhc3NlZCBjZWxsIGRhdGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBwYXNzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRvZXNGaWx0ZXJQYXNzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRvZXNGaWx0ZXJQYXNzKHBhcmFtcykge1xuICAgICAgdmFyIHZhbHVlID0gbmV3IERhdGUodGhpcy52YWx1ZUdldHRlcihwYXJhbXMpKTtcblxuICAgICAgdmFyIF90aGlzJGZpbHRlckRhdGVzID0gX3NsaWNlZFRvQXJyYXkodGhpcy5maWx0ZXJEYXRlcywgMiksXG4gICAgICAgICAgc3RhcnQgPSBfdGhpcyRmaWx0ZXJEYXRlc1swXSxcbiAgICAgICAgICBlbmQgPSBfdGhpcyRmaWx0ZXJEYXRlc1sxXTtcblxuICAgICAgdmFyIHBhc3NlZDtcblxuICAgICAgaWYgKHR5cGVvZiBlbmQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBzdGFydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFyIHN0YXJ0QXNEYXRlID0gbmV3IERhdGUoc3RhcnQpO1xuICAgICAgICB2YXIgZW5kQXNEYXRlID0gbmV3IERhdGUoZW5kKTtcbiAgICAgICAgcGFzc2VkID0gdmFsdWUgPj0gc3RhcnRBc0RhdGUgJiYgdmFsdWUgPD0gZW5kQXNEYXRlO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHZhciBfc3RhcnRBc0RhdGUgPSBuZXcgRGF0ZShzdGFydCk7XG5cbiAgICAgICAgcGFzc2VkID0gX3N0YXJ0QXNEYXRlID09PSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXNzZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBhcHBseWluZyBhbnkgZmlsdGVyIG9uIHRoZSBjb2x1bW5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAgICoqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiaXNGaWx0ZXJBY3RpdmVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNGaWx0ZXJBY3RpdmUoKSB7XG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmZpbHRlckRhdGVzKSAmJiB0aGlzLmZpbHRlckRhdGVzLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqIEdldHMgdGhlIGZpbHRlciBzdGF0ZSBmb3Igc3RvcmluZyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0TW9kZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWwoKSB7XG4gICAgICB2YXIgbW9kZWwgPSB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmZpbHRlckRhdGVzXG4gICAgICB9O1xuICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQcm92aWRlIGEgcmVhZCBvbmx5IGZsb2F0aW5nIGZpbHRlciBcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRNb2RlbEFzU3RyaW5nXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE1vZGVsQXNTdHJpbmcoKSB7XG4gICAgICB2YXIgbWFzayA9IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFTSycsIHRoaXMucGFyYW1zKTtcblxuICAgICAgdmFyIF90aGlzJGZpbHRlckRhdGVzMiA9IF9zbGljZWRUb0FycmF5KHRoaXMuZmlsdGVyRGF0ZXMsIDIpLFxuICAgICAgICAgIHN0YXJ0ID0gX3RoaXMkZmlsdGVyRGF0ZXMyWzBdLFxuICAgICAgICAgIGVuZCA9IF90aGlzJGZpbHRlckRhdGVzMlsxXTtcblxuICAgICAgdmFyIHJlc3VsdCA9ICcnO1xuICAgICAgaWYgKHN0YXJ0KSByZXN1bHQgKz0gXCJcIi5jb25jYXQoQkJqLk1hc2tzLlR5cGVzLmRhdGUoc3RhcnQsIG1hc2spKTtcbiAgICAgIGlmIChlbmQpIHJlc3VsdCArPSBcIiAtIFwiLmNvbmNhdChCQmouTWFza3MuVHlwZXMuZGF0ZShlbmQsIG1hc2spKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEZpbHRlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAyMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUmVuZGVyZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIEltYWdlcyBSZW5kZXJlclxuKlxuKiBIYW5kbGUgSW1hZ2VzIFJlbmRlcmVyaW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgUmVuZGVyZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKFJlbmRlcmVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBSZW5kZXJlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUmVuZGVyZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihSZW5kZXJlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUmVuZGVyZXIsIFt7XG4gICAga2V5OiBcImluaXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdGhpcy5jb250YWluZXIgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NOYW1lID0gXCJCYXNpY0ltYWdlc1JlbmRlcmVyXCI7XG5cbiAgICAgIGlmICghcGFyYW1zLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5nZXRPcHRpb24oJ0lNQUdFU19XSURUSCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1dJRFRIJywgcGFyYW1zKSB8fCAnMjVweCc7XG4gICAgICAgIHZhciBoZWlnaHQgPSB0aGlzLmdldE9wdGlvbignSU1BR0VTX0hFSUdIVCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0hFSUdIVCcsIHBhcmFtcykgfHwgJzI1cHgnO1xuICAgICAgICB2YXIgbGlzdCA9IHRoaXMuZ2V0T3B0aW9uKCdJTUFHRVNfTElTVCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0xJU1QnLCBwYXJhbXMpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbGlzdCA9IEpTT04ucGFyc2UobGlzdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBsaXN0ID0gbGlzdCB8fCB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaXN0ICYmIGxpc3QuaGFzT3duUHJvcGVydHkocGFyYW1zLnZhbHVlKSkge1xuICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IFwiPGltZyBzcmM9XFxcIlwiLmNvbmNhdChsaXN0W3BhcmFtcy52YWx1ZV0sIFwiXFxcIiB3aWR0aD1cXFwiXCIpLmNvbmNhdCh3aWR0aCwgXCJcXFwiIGhlaWdodD1cXFwiXCIpLmNvbmNhdChoZWlnaHQsIFwiXFxcIi8+XCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IHBhcmFtcy52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBSZW5kZXJlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAyMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gVmFsdWVGb3JtYXR0ZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBOdW1iZXJzIFZhbHVlIEZvcm1hdHRlclxuKlxuKiBIYW5kbGUgTnVtYmVyIHZhbHVlcyBmb3JtYXR0aW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgVmFsdWVGb3JtYXR0ZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBWYWx1ZUZvcm1hdHRlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgVmFsdWVGb3JtYXR0ZXIpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFZhbHVlRm9ybWF0dGVyLCBudWxsLCBbe1xuICAgIGtleTogXCJmb3JtYXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9ybWF0KHBhcmFtcykge1xuICAgICAgdmFyIHBhcmFtc01peGlucyA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSgpO1xuICAgICAgdmFyIGRvYyA9IHBhcmFtc01peGlucy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBtYXNrID0gcGFyYW1zTWl4aW5zLmdldE9wdGlvbignTUFTSycsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfTUFTSycsIHBhcmFtcyk7XG4gICAgICB2YXIgZ3JvdXBTZXAgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdHUk9VUF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ1JFTkRFUkVSX0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignTlVNQkVSU19SRU5ERVJFUl9HUk9VUF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8ICcsJztcbiAgICAgIHZhciBkZWNpbWFsU2VwID0gcGFyYW1zTWl4aW5zLmdldE9wdGlvbignREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ1JFTkRFUkVSX0RFQ0lNQUxfU0VQQVJBVE9SJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdOVU1CRVJTX1JFTkRFUkVSX0RFQ0lNQUxfU0VQQVJBVE9SJywgcGFyYW1zKSB8fCAnLic7XG5cbiAgICAgIGlmIChtYXNrICYmIHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSAmJiBwYXJhbXMudmFsdWUgIT0gbnVsbCAmJiAhaXNOYU4ocGFyYW1zLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gQkJqLk1hc2tzLlR5cGVzLm51bWJlcihwYXJhbXMudmFsdWUsIG1hc2ssIGdyb3VwU2VwLCBkZWNpbWFsU2VwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcmFtcy52YWx1ZSB8fCAnJzsgLy8gYXZvaWQgdW5kZWZpbmVkIFxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBWYWx1ZUZvcm1hdHRlcjtcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMjIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEVkaXRvcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogTnVtYmVycyBFZGl0b3JcbipcbiogSGFuZGxlIG51bWJlciB2YWx1ZXMgRWRpdGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEVkaXRvciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRWRpdG9yLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBFZGl0b3IoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEVkaXRvcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEVkaXRvcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRWRpdG9yLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBTZXR1cCB0aGUgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBzdGFydFZhbHVlO1xuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuXG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdmFyIGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUgPSBwYXJhbXMua2V5UHJlc3MgPT0gMzIgLy8gc3BhY2VcbiAgICAgICAgfHwgcGFyYW1zLmtleVByZXNzID09IDQ2OyAvLyBkZWxldGVcblxuICAgICAgICBpZiAoa2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSkge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSAnJztcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMuY2hhclByZXNzKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy5jaGFyUHJlc3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT0gMTEzKSB7XG4gICAgICAgICAgICAvL0YyXG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb21wb25lbnQgPSBkb2MuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmNsYXNzTmFtZSA9ICdCYXNpY051bWJlcnNFZGl0b3InO1xuICAgICAgdGhpcy5jb21wb25lbnQudGFiSW5kZXggPSBcIjBcIjsgLy8gaW5wdXRcblxuICAgICAgdGhpcy5pbnB1dCA9IGRvYy5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgdGhpcy5pbnB1dC50eXBlID0gXCJudW1iZXJcIjtcbiAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSBzdGFydFZhbHVlO1xuICAgICAgdGhpcy5pbnB1dC50YWJJbmRleCA9IDA7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hcHBlbmRDaGlsZCh0aGlzLmlucHV0KTtcbiAgICAgIHZhciBtaW4gPSB0aGlzLmdldE9wdGlvbignRURJVE9SX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcyk7XG4gICAgICB2YXIgbWF4ID0gdGhpcy5nZXRPcHRpb24oJ0VESVRPUl9NQVgnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdNQVgnLCBwYXJhbXMpO1xuICAgICAgdmFyIHN0ZXAgPSB0aGlzLmdldE9wdGlvbignRURJVE9SX1NURVAnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdTVEVQJywgcGFyYW1zKTtcbiAgICAgIGlmIChtaW4pIHRoaXMuaW5wdXQubWluID0gbWluO1xuICAgICAgaWYgKG1heCkgdGhpcy5pbnB1dC5tYXggPSBtYXg7XG4gICAgICBpZiAoc3RlcCkgdGhpcy5pbnB1dC5tYXggPSBzdGVwO1xuICAgICAgdGhpcy5fb25LZXlEb3duQmluZCA9IHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5fb25DaGFuZ2VCaW5kID0gdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzKTtcbiAgICAgIHRoaXMuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bkJpbmQpO1xuICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9vbkNoYW5nZUJpbmQpOyAvLyB1cGRhdGUgYGN1cnJlbnRWYWx1ZWAgdGhlIHZhbHVlIHdoaWNoIHRoaXMgY29tcG9uZW50IGlzIG1hbmFnaW5nXG5cbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gc3RhcnRWYWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSByZWZyZW5jZSB0byB0aGUgY29tcG9uZW50IGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0hUTUxFbGVtZW50fVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudDtcbiAgICB9XG4gICAgLyoqIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgYWx3YXlzIGZvY3VzZWQgdG8gbGlzdGVuIHRvIGtleSBjaGFuZ2VzKi9cblxuICB9LCB7XG4gICAga2V5OiBcImFmdGVyR3VpQXR0YWNoZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWZ0ZXJHdWlBdHRhY2hlZCgpIHtcbiAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMpIHtcbiAgICAgICAgdGhpcy5pbnB1dC5zZWxlY3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNJbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBUaGUgY29tcG9uZW50IHZhbHVlXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0VmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0VmFsdWUoKSB7XG4gICAgICB2YXIgY2FzdGVkID0gTnVtYmVyKHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICAgIHJldHVybiBpc05hTihjYXN0ZWQpID8gdGhpcy5jdXJyZW50VmFsdWUgOiBjYXN0ZWQ7XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzSW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNJbigpIHtcbiAgICAgIHRoaXMuaW5wdXQuZm9jdXMoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcG9uZW50IGRvZXMgbm90IG92ZXJmbG93IHRoZSBjZWxsXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufSBhbHdheXMgZmFsc2VcbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc1BvcHVwXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzUG9wdXAoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qKiByZW1vdmUgZXZlbnQgbGlzdGVuZXJzIG9uIGRlc3RvcnkgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIGlmICh0aGlzLl9vbktleURvd24pIHRoaXMuaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bik7XG4gICAgICBpZiAodGhpcy5fb25DaGFuZ2VCaW5kKSB0aGlzLmlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX29uQ2hhbmdlQmluZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICogVXBkYXRlIGBjdXJyZW50VmFsdWVgIHdoZW4gdGhlIGNoZWNrYm94IHZhbHVlIGlzIGNoYW5nZWRcbiAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2hhbmdlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbkNoYW5nZShwYXJhbXMpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTW9uaXRvciBrZXlzIFt0b3AsYm90dG9tLGVudGVyXSB0byBjaGFuZ2UgdGhlIGlucHV0IHZhbHVlXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9vbktleURvd25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uS2V5RG93bihldmVudCkge1xuICAgICAgdmFyIGtleSA9IGV2ZW50LndoaWNoIHx8IGV2ZW50LmtleUNvZGU7XG5cbiAgICAgIGlmIChrZXkgPT0gMzggfHwga2V5ID09IDQwKSB7XG4gICAgICAgIC8vIHRvcCB8IGRvd25cbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09IDEzKSB7XG4gICAgICAgIC8vIGVudGVyXG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRWRpdG9yO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIzICovLFxuLyogMjQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX2V4cG9zZV9sb2FkZXJfQkJqX01hc2tzX25vZGVfbW9kdWxlc19iYmpfbWFza3NfZGlzdF9iYmpfbWFza3NfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9leHBvc2VfbG9hZGVyX0JCal9NYXNrc19ub2RlX21vZHVsZXNfYmJqX21hc2tzX2Rpc3RfYmJqX21hc2tzX2pzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfZXhwb3NlX2xvYWRlcl9CQmpfTWFza3Nfbm9kZV9tb2R1bGVzX2Jial9tYXNrc19kaXN0X2Jial9tYXNrc19qc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfZmxhdHBpY2tyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfZmxhdHBpY2tyX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfZmxhdHBpY2tyX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fQm9vbGVhbnNfc3R5bGVfY3NzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fQm9vbGVhbnNfc3R5bGVfY3NzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX0Jvb2xlYW5zX3N0eWxlX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX0RhdGVUaW1lc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19EYXRlVGltZXNfc3R5bGVfY3NzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX0RhdGVUaW1lc19zdHlsZV9jc3NfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19JbWFnZXNfc3R5bGVfY3NzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX0ltYWdlc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fSW1hZ2VzX3N0eWxlX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX051bWJlcnNfc3R5bGVfY3NzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX051bWJlcnNfc3R5bGVfY3NzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX051bWJlcnNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fbm9kZV9tb2R1bGVzX2ZsYXRwaWNrcl9kaXN0X2ZsYXRwaWNrcl9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjkpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fbm9kZV9tb2R1bGVzX2ZsYXRwaWNrcl9kaXN0X2ZsYXRwaWNrcl9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fbm9kZV9tb2R1bGVzX2ZsYXRwaWNrcl9kaXN0X2ZsYXRwaWNrcl9jc3NfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19Cb29sZWFuc19SZW5kZXJlcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNCk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX0Jvb2xlYW5zX1JlbmRlcmVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX0Jvb2xlYW5zX0VkaXRvcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNSk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0Jvb2xlYW5zRWRpdG9yXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19Cb29sZWFuc19FZGl0b3JfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fQm9vbGVhbnNfRmlsdGVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNGaWx0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX0Jvb2xlYW5zX0ZpbHRlcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fRGF0ZVRpbWVzX0VkaXRvcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNyk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0RhdGVUaW1lc0VkaXRvclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX0RhdGVUaW1lc19FZGl0b3JfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX0RhdGVUaW1lc19WYWx1ZUZvcm1hdHRlcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOCk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0RhdGVUaW1lc1ZhbHVlRm9ybWF0dGVyXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fRGF0ZVRpbWVzX1ZhbHVlRm9ybWF0dGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19EYXRlVGltZXNfRmlsdGVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzRmlsdGVyXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMl9fRGF0ZVRpbWVzX0ZpbHRlcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xM19fSW1hZ2VzX1JlbmRlcmVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwKTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEzX19JbWFnZXNfUmVuZGVyZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX051bWJlcnNfVmFsdWVGb3JtYXR0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjEpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNOdW1iZXJzVmFsdWVGb3JtYXR0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X19OdW1iZXJzX1ZhbHVlRm9ybWF0dGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19OdW1iZXJzX0VkaXRvcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMik7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY051bWJlcnNFZGl0b3JcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19OdW1iZXJzX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKioqLyB9KSxcbi8qIDI1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihnbG9iYWwpIHtpZighZ2xvYmFsW1wiQkJqXCJdKSBnbG9iYWxbXCJCQmpcIl0gPSB7fTtcbm1vZHVsZS5leHBvcnRzID0gZ2xvYmFsW1wiQkJqXCJdW1wiTWFza3NcIl0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3KTtcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbChleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2KSkpXG5cbi8qKiovIH0pLFxuLyogMjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxudmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCkgfHwgKDEsZXZhbCkoXCJ0aGlzXCIpO1xufSBjYXRjaChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpXG5cdFx0ZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuXG5cbi8qKiovIH0pLFxuLyogMjcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHJ1ZSlcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIk1hc2tzXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIkJCalwiXSA9IHJvb3RbXCJCQmpcIl0gfHwge30sIHJvb3RbXCJCQmpcIl1bXCJNYXNrc1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAvKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbi8qKioqKiovIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuLyoqKioqKi8gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbi8qKioqKiovIFx0XHRcdGk6IG1vZHVsZUlkLFxuLyoqKioqKi8gXHRcdFx0bDogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRleHBvcnRzOiB7fVxuLyoqKioqKi8gXHRcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4vKioqKioqLyBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuLyoqKioqKi8gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbi8qKioqKiovIFx0fVxuLyoqKioqKi9cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMik7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJiai1tYXNrcyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKiBcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKiogXG4gKiBEYXRlTWFza1xuICogXG4gKiBIYW5kbGUgQkJqIGRhdGVzIG1hc2tpbmcgXG4gKiBcbiAqIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xudmFyIERhdGVNYXNrID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gRGF0ZU1hc2soKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERhdGVNYXNrKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhEYXRlTWFzaywgbnVsbCwgW3tcbiAgICBrZXk6IFwibWFza1wiLFxuXG4gICAgLyoqIFxuICAgICAqIE1hc2sgZGF0ZVxuICAgICAqIFxuICAgICAqIE1hc2sgdGhlIHBhc3NlZCBkYXRlIHdpdGggdGhlIHBhc3NlZCBtYXNrXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgZGF0ZSBhcyBhIHN0cmluZ1xuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtYXNrIG1hc2sgYXMgYSBzdHJpbmdcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IGEgZGF0ZSBtYXNrZWQgd2l0aHQgdGhlIGdpdmVuIG1hc2tcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gbWFzayhkYXRlLCBfbWFzaykge1xuICAgICAgaWYgKCFkYXRlKSByZXR1cm47XG4gICAgICBpZiAoIV9tYXNrKSByZXR1cm4gZGF0ZTtcblxuICAgICAgdmFyIGRhdGVEZXRhaWxzID0gRGF0ZU1hc2suX3BhcnNlRGF0ZShkYXRlKTtcblxuICAgICAgdmFyIHRyYW5zbGF0aW9ucyA9IERhdGVNYXNrLl9idWlsZFRyYW5zaWxhdGlvbihkYXRlRGV0YWlscyk7XG5cbiAgICAgIHZhciByZXN1bHQgPSBfbWFzaztcblxuICAgICAgZm9yICh2YXIgayBpbiB0cmFuc2xhdGlvbnMpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UobmV3IFJlZ0V4cCgnKCUnICsgayArICcpJywgJ2cnKSwgdHJhbnNsYXRpb25zW2tdKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUGFyc2UgdGhlIHBhc3NlZCBkYXRlIHN0cmluZyBhZG4gcmV0dXJuIGl0cyBkZXRpbGFzXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgZGF0ZSBhcyBhIHN0cmluZ1xuICAgICAqIFxuICAgICAqIEByZXR1cm4ge09iamVjdH0gXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfcGFyc2VEYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9wYXJzZURhdGUoZGF0ZSkge1xuICAgICAgdmFyIGRhdGVPYmplY3QgPSBEYXRlLnBhcnNlKGRhdGUpO1xuICAgICAgaWYgKCEoZGF0ZU9iamVjdCBpbnN0YW5jZW9mIERhdGUpKSBkYXRlT2JqZWN0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgICB2YXIgaG91cnMyNCA9IGRhdGVPYmplY3QuZ2V0SG91cnMoKTtcbiAgICAgIHZhciBob3VyczEyID0gaG91cnMyNCAlIDEyIHx8IDEyO1xuXG4gICAgICB2YXIgZGF5T2ZZZWFyID0gRGF0ZU1hc2suX2dldERheU9mWWVhcihkYXRlKTsgLy8gY29uc3QgZGF5T2ZXZWVrID0gZGF0ZU9iamVjdC5nZXREYXkoKSA/XG5cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgXCJ5ZWFyXCI6IGRhdGVPYmplY3QuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgXCJtb250aFwiOiBkYXRlT2JqZWN0LmdldE1vbnRoKCkgKyAxLFxuICAgICAgICBcImRheVwiOiBkYXRlT2JqZWN0LmdldERhdGUoKSxcbiAgICAgICAgXCJtaW51dGVzXCI6IGRhdGVPYmplY3QuZ2V0TWludXRlcygpLFxuICAgICAgICBcInNlY29uZHNcIjogZGF0ZU9iamVjdC5nZXRTZWNvbmRzKCksXG4gICAgICAgIFwiaG91cnMyNFwiOiBob3VyczI0LFxuICAgICAgICBcImhvdXJzMTJcIjogaG91cnMxMixcbiAgICAgICAgXCJkYXlPZlllYXJcIjogZGF5T2ZZZWFyLFxuICAgICAgICBcImRheU9mV2Vla1wiOiBkYXRlT2JqZWN0LmdldERheSgpICsgMSAvLyBTdW5kYXkgPSAxIGluIEJCaiBidXQgU3VuZGF5ID0gMCBpbiBKU1xuXG4gICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgYSBtYXAgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGFsbCBwb3NzaWJsZSBmb3JtcyBvZiBtYXNrc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRlRGV0YWlscyBkYXRlIGRldGFpbHMgYnVpbHQgYnkgYF9wYXJzZURhdGVgXG4gICAgICogXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBmb3JtcyBtYXNrc1xuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2J1aWxkVHJhbnNpbGF0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9idWlsZFRyYW5zaWxhdGlvbihkYXRlRGV0YWlscykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLy8geWVhciBcbiAgICAgICAgXCJZelwiOiBkYXRlRGV0YWlscy55ZWFyLnRvU3RyaW5nKCkuc3Vic3RyKC0yKSxcbiAgICAgICAgXCJZc1wiOiBkYXRlRGV0YWlscy55ZWFyLFxuICAgICAgICBcIllsXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWXBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy55ZWFyKSxcbiAgICAgICAgXCJZZFwiOiBkYXRlRGV0YWlscy55ZWFyLFxuICAgICAgICBcIllcIjogZGF0ZURldGFpbHMueWVhcixcbiAgICAgICAgLy8gbW9udGhcbiAgICAgICAgXCJNelwiOiBTdHJpbmcoZGF0ZURldGFpbHMubW9udGgpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5tb250aCA6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1zXCI6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1sXCI6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1wXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMubW9udGgpLFxuICAgICAgICBcIk1kXCI6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1cIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIC8vIGRheVxuICAgICAgICBcIkR6XCI6IFN0cmluZyhkYXRlRGV0YWlscy5kYXkpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5kYXkgOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRHNcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICBcIkRsXCI6IGRhdGVEZXRhaWxzLmRheSxcbiAgICAgICAgXCJEcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLmRheSksXG4gICAgICAgIFwiRGRcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICBcIkRcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICAvLyBob3VyIDI0XG4gICAgICAgIFwiSHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmhvdXJzMjQpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5ob3VyczI0IDogZGF0ZURldGFpbHMuaG91cnMyNCxcbiAgICAgICAgXCJIc1wiOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICBcIkhsXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSHBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5ob3VyczI0KSxcbiAgICAgICAgXCJIZFwiOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICBcIkhcIjogZGF0ZURldGFpbHMuaG91cnMyNCxcbiAgICAgICAgLy8gaG91ciAxMlxuICAgICAgICBcImh6XCI6IFN0cmluZyhkYXRlRGV0YWlscy5ob3VyczEyKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuaG91cnMxMiA6IGRhdGVEZXRhaWxzLmhvdXJzMTIsXG4gICAgICAgIFwiaHNcIjogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgXCJobFwiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhwXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMuaG91cnMxMiksXG4gICAgICAgIFwiaGRcIjogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgXCJoXCI6IGRhdGVEZXRhaWxzLmhvdXJzMTIsXG4gICAgICAgIC8vIG1pbnV0ZXNcbiAgICAgICAgXCJtelwiOiBTdHJpbmcoZGF0ZURldGFpbHMubWludXRlcykubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLm1pbnV0ZXMgOiBkYXRlRGV0YWlscy5taW51dGVzLFxuICAgICAgICBcIm1zXCI6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIFwibWxcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLm1pbnV0ZXMpLFxuICAgICAgICBcIm1kXCI6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIFwibVwiOiBkYXRlRGV0YWlscy5taW51dGVzLFxuICAgICAgICAvLyBzZWNvbmRzXG4gICAgICAgIFwic3pcIjogU3RyaW5nKGRhdGVEZXRhaWxzLnNlY29uZHMpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5zZWNvbmRzIDogZGF0ZURldGFpbHMuc2Vjb25kcyxcbiAgICAgICAgXCJzc1wiOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICBcInNsXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic3BcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5zZWNvbmRzKSxcbiAgICAgICAgXCJzZFwiOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICBcInNcIjogZGF0ZURldGFpbHMuc2Vjb25kcyxcbiAgICAgICAgLy8gQU0gLCBQTVxuICAgICAgICBcIlBQXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwiUE1cIiA6IFwiUE1cIixcbiAgICAgICAgXCJQXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwiUE1cIiA6IFwiQU1cIixcbiAgICAgICAgXCJwcFwiOiBkYXRlRGV0YWlscy5ob3VyczI0ID4gMTIgPyBcInBtXCIgOiBcImFtXCIsXG4gICAgICAgIFwicFwiOiBkYXRlRGV0YWlscy5ob3VyczI0ID4gMTIgPyBcInBtXCIgOiBcImFtXCIsXG4gICAgICAgIC8vIERheSBvZiBZZWFyXG4gICAgICAgIFwiSnpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmRheU9mWWVhcikubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmRheU9mWWVhciA6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgXCJKc1wiOiBkYXRlRGV0YWlscy5kYXlPZlllYXIsXG4gICAgICAgIFwiSmxcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpkXCI6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgXCJKXCI6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgLy8gRGF5IE9mIFdlZWsgXG4gICAgICAgIFwiV3pcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmRheU9mV2VlaykubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmRheU9mV2VlayA6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXc1wiOiBkYXRlRGV0YWlscy5kYXlPZldlZWssXG4gICAgICAgIFwiV2xcIjogZGF0ZURldGFpbHMuZGF5T2ZXZWVrLFxuICAgICAgICBcIldwXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMuZGF5T2ZXZWVrKSxcbiAgICAgICAgXCJXZFwiOiBkYXRlRGV0YWlscy5kYXlPZldlZWssXG4gICAgICAgIFwiV1wiOiBkYXRlRGV0YWlscy5kYXlPZldlZWtcbiAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgRGF5IG51bWJlciB3aXRoaW4gdGhlIHllYXIgKDEtMzY2KS5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogXG4gICAgICogQHJldHVybnMge051bWJlcn1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9nZXREYXlPZlllYXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldERheU9mWWVhcihkYXRlKSB7XG4gICAgICB2YXIgbm93ID0gRGF0ZS5wYXJzZShkYXRlKTtcbiAgICAgIGlmICghKG5vdyBpbnN0YW5jZW9mIERhdGUpKSBub3cgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKG5vdy5nZXRGdWxsWWVhcigpLCAwLCAwKTtcbiAgICAgIHZhciBkaWZmID0gbm93IC0gc3RhcnQgKyAoc3RhcnQuZ2V0VGltZXpvbmVPZmZzZXQoKSAtIG5vdy5nZXRUaW1lem9uZU9mZnNldCgpKSAqIDYwICogMTAwMDtcbiAgICAgIHZhciBvbmVEYXkgPSAxMDAwICogNjAgKiA2MCAqIDI0O1xuICAgICAgdmFyIGRheSA9IE1hdGguZmxvb3IoZGlmZiAvIG9uZURheSk7XG4gICAgICByZXR1cm4gZGF5O1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEYXRlTWFzaztcbn0oKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gRGF0ZU1hc2s7XG5cbi8qKiovIH0pLFxuLyogMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYmotbWFza3MgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICogXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqIFxuICogTnVtYmVyTWFza1xuICogXG4gKiBIYW5kbGUgQkJqIG51bWJlcnMgbWFza2luZyBcbiAqIFxuICogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgTnVtYmVyTWFzayA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIE51bWJlck1hc2soKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIE51bWJlck1hc2spO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKE51bWJlck1hc2ssIG51bGwsIFt7XG4gICAga2V5OiBcIm1hc2tcIixcblxuICAgIC8qKlxuICAgICAqIE1hc2sgdGhlIGdpdmVuIG51bWJlciB3aXRoIHRoZSBnaXZlbiBtYXNrIGFjY29yZGluZyB0byBCQmogcnVsZXNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbnVtYmVyIHRoZSBudW1iZXIgdG8gZm9ybWF0XG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgdGhlIG1hc2sgdG8gdXNlIGZvciBmb3JtYXR0aW5nXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGdyb3VwaW5nU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBncm91cGluZyBzZXBhcmF0b3JcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGVjaW1hbFNlcGFyYXRvciBhIGNoYXIgd2hpY2ggd2lsbCBiZSB1c2VkIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgbWFza2VkIG51bWJlclxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBtYXNrKG51bWJlciwgX21hc2spIHtcbiAgICAgIHZhciBncm91cGluZ1NlcGFyYXRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogJywnO1xuICAgICAgdmFyIGRlY2ltYWxTZXBhcmF0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6ICcuJztcbiAgICAgIHZhciBtYXNrTGVuZ3RoID0gX21hc2subGVuZ3RoO1xuICAgICAgaWYgKDAgPT09IG1hc2tMZW5ndGgpIHJldHVybiBudW1iZXI7IC8vIEdldCBtYWduaXR1ZGUgYW5kIHByZWNpc2lvbiBvZiBNQVNLXG5cbiAgICAgIHZhciBtYXNrQmVmb3JlRGVjaW1hbCA9IDA7XG4gICAgICB2YXIgbWFza0FmdGVyRGVjaW1hbCA9IDA7XG4gICAgICB2YXIgZm91bmREZWNpbWFsID0gZmFsc2U7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFza0xlbmd0aDsgKytpKSB7XG4gICAgICAgIHZhciBtID0gX21hc2suY2hhckF0KGkpO1xuXG4gICAgICAgIGlmIChtID09ICcwJyB8fCBtID09ICcjJykge1xuICAgICAgICAgIGlmIChmb3VuZERlY2ltYWwpICsrbWFza0FmdGVyRGVjaW1hbDtlbHNlICsrbWFza0JlZm9yZURlY2ltYWw7XG4gICAgICAgIH0gZWxzZSBpZiAobSA9PSAnLicpIGZvdW5kRGVjaW1hbCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBudW0gPSBOdW1iZXJNYXNrLl9yb3VuZChudW1iZXIsIG1hc2tBZnRlckRlY2ltYWwpO1xuXG4gICAgICB2YXIgZGlnaXRzID0gTnVtYmVyTWFzay5fdG9DaGFyQXJyYXkobnVtKTsgLy8gR2V0IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE5VTUJFUlxuXG5cbiAgICAgIHZhciBudW1MZW4gPSBkaWdpdHMubGVuZ3RoO1xuICAgICAgdmFyIG51bUJlZm9yZURlY2ltYWwgPSAwO1xuICAgICAgdmFyIG51bUFmdGVyRGVjaW1hbCA9IDA7XG4gICAgICBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IG51bUxlbjsgX2krKykge1xuICAgICAgICBpZiAoZGlnaXRzW19pXSA9PSAnLicpIGZvdW5kRGVjaW1hbCA9IHRydWU7ZWxzZSB7XG4gICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgKytudW1BZnRlckRlY2ltYWw7ZWxzZSArK251bUJlZm9yZURlY2ltYWw7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gYWx3YXlzIGlnbm9yZSBtYXNrIG92ZXJmbG93XG5cblxuICAgICAgaWYgKG51bUJlZm9yZURlY2ltYWwgPiBtYXNrQmVmb3JlRGVjaW1hbCkgcmV0dXJuIG51bWJlci50b1N0cmluZygpOyAvLyByb3VuZCBpZiBtYXNrIGlzIGZvciBhIGxvd2VyIHByZWNpc2lvbiBudW1iZXJcblxuICAgICAgaWYgKG51bUFmdGVyRGVjaW1hbCA+IG1hc2tBZnRlckRlY2ltYWwpIHtcbiAgICAgICAgbnVtID0gTnVtYmVyTWFzay5fcm91bmQobnVtLCBtYXNrQWZ0ZXJEZWNpbWFsKTtcbiAgICAgICAgZGlnaXRzID0gTnVtYmVyTWFzay5fdG9DaGFyQXJyYXkobnVtKTtcbiAgICAgICAgbnVtTGVuID0gZGlnaXRzLmxlbmd0aDsgLy8gR2V0IG5ldyBtYWduaXR1ZGUgYW5kIHByZWNpc2lvbiBvZiBOVU1CRVJcblxuICAgICAgICBudW1CZWZvcmVEZWNpbWFsID0gMDtcbiAgICAgICAgbnVtQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgICAgZm91bmREZWNpbWFsID0gZmFsc2U7XG5cbiAgICAgICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgbnVtTGVuOyBfaTIrKykge1xuICAgICAgICAgIGlmIChkaWdpdHNbX2kyXSA9PSAnLicpIGZvdW5kRGVjaW1hbCA9IHRydWU7ZWxzZSB7XG4gICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSArK251bUFmdGVyRGVjaW1hbDtlbHNlICsrbnVtQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gYWx3YXlzIGlnbm9yZSBtYXNrIG92ZXJmbG93XG5cblxuICAgICAgICBpZiAobnVtQmVmb3JlRGVjaW1hbCA+IG1hc2tCZWZvcmVEZWNpbWFsKSB7XG4gICAgICAgICAgcmV0dXJuIG51bWJlci50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBpc05lZ2F0aXZlID0gTnVtYmVyTWFzay5fZ2V0U2lnbihudW0pID09PSAtMTtcbiAgICAgIHZhciBlbWl0RGVjaW1hbCA9IG51bUxlbiA+IDAgfHwgX21hc2suaW5kZXhPZignMCcpID49IDA7XG4gICAgICB2YXIgZm91bmRaZXJvID0gZmFsc2U7XG4gICAgICB2YXIgY3VycmVuY3kgPSBmYWxzZTtcbiAgICAgIHZhciBidWZmZXIgPSAnJztcbiAgICAgIGZvdW5kRGVjaW1hbCA9IGZhbHNlO1xuXG4gICAgICBmb3IgKHZhciBudW1Qb3MgPSAwLCBtYXNrUG9zID0gMDsgbWFza1BvcyA8IG1hc2tMZW5ndGg7IG1hc2tQb3MrKykge1xuICAgICAgICB2YXIgX20gPSBfbWFzay5jaGFyQXQobWFza1Bvcyk7XG5cbiAgICAgICAgc3dpdGNoIChfbSkge1xuICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgLS1tYXNrQmVmb3JlRGVjaW1hbDtcblxuICAgICAgICAgICAgaWYgKG1hc2tCZWZvcmVEZWNpbWFsIDwgbnVtQmVmb3JlRGVjaW1hbCAmJiBudW1Qb3MgPCBudW1MZW4pIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9IGRpZ2l0c1tudW1Qb3NdO1xuICAgICAgICAgICAgICArK251bVBvcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGJ1ZmZlciArPSAnMCc7XG4gICAgICAgICAgICAgIGZvdW5kWmVybyA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnIyc6XG4gICAgICAgICAgICAtLW1hc2tCZWZvcmVEZWNpbWFsO1xuXG4gICAgICAgICAgICBpZiAobWFza0JlZm9yZURlY2ltYWwgPCBudW1CZWZvcmVEZWNpbWFsICYmIG51bVBvcyA8IG51bUxlbikge1xuICAgICAgICAgICAgICBidWZmZXIgKz0gZGlnaXRzW251bVBvc107XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgYnVmZmVyICs9ICcwJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgICAgIGlmIChmb3VuZFplcm8gfHwgbnVtUG9zID4gMCkgYnVmZmVyICs9IGdyb3VwaW5nU2VwYXJhdG9yO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICctJzpcbiAgICAgICAgICBjYXNlICcoJzpcbiAgICAgICAgICBjYXNlICcpJzpcbiAgICAgICAgICAgIGlmIChpc05lZ2F0aXZlKSBidWZmZXIgKz0gX207XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJysnOlxuICAgICAgICAgICAgYnVmZmVyICs9IGlzTmVnYXRpdmUgPyAnLScgOiAnKyc7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJy4nOlxuICAgICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgYnVmZmVyICs9IF9tO2Vsc2Uge1xuICAgICAgICAgICAgICBpZiAoZW1pdERlY2ltYWwpIGJ1ZmZlciArPSBkZWNpbWFsU2VwYXJhdG9yO1xuICAgICAgICAgICAgICBmb3VuZERlY2ltYWwgPSB0cnVlO1xuICAgICAgICAgICAgICArK251bVBvcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnQyc6XG4gICAgICAgICAgICBpZiAobWFza1BvcyA8IG1hc2tMZW5ndGggLSAxICYmIF9tYXNrLmNoYXJBdChtYXNrUG9zICsgMSkgPT0gJ1InKSB7XG4gICAgICAgICAgICAgIGlmIChpc05lZ2F0aXZlKSBidWZmZXIgKz0gJ0NSJztcbiAgICAgICAgICAgICAgKyttYXNrUG9zO1xuICAgICAgICAgICAgfSBlbHNlIGJ1ZmZlciArPSBfbTtcblxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdEJzpcbiAgICAgICAgICAgIGlmIChtYXNrUG9zIDwgbWFza0xlbmd0aCAtIDEgJiYgcF9tYXNrLmNoYXJBdChtYXNrUG9zICsgMSkgPT0gJ1InKSB7XG4gICAgICAgICAgICAgIGJ1ZmZlciArPSBpc05lZ2F0aXZlID8gXCJDUlwiIDogXCJEUlwiO1xuICAgICAgICAgICAgICArK21hc2tQb3M7XG4gICAgICAgICAgICB9IGVsc2UgYnVmZmVyICs9IF9tO1xuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ0InOlxuICAgICAgICAgICAgYnVmZmVyICs9ICcgJztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJ1ZmZlciArPSBfbTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBidWZmZXI7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIl9zaGlmdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfc2hpZnQobnVtYmVyLCBwcmVjaXNpb24sIHJldmVyc2VTaGlmdCkge1xuICAgICAgaWYgKHJldmVyc2VTaGlmdCkgcHJlY2lzaW9uID0gLXByZWNpc2lvbjtcbiAgICAgIHZhciBudW1BcnJheSA9IChcIlwiICsgbnVtYmVyKS5zcGxpdChcImVcIik7XG4gICAgICByZXR1cm4gKyhudW1BcnJheVswXSArIFwiZVwiICsgKG51bUFycmF5WzFdID8gK251bUFycmF5WzFdICsgcHJlY2lzaW9uIDogcHJlY2lzaW9uKSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIl9yb3VuZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfcm91bmQobnVtYmVyLCBwcmVjaXNpb24pIHtcbiAgICAgIHJldHVybiBOdW1iZXJNYXNrLl9zaGlmdChNYXRoLnJvdW5kKE51bWJlck1hc2suX3NoaWZ0KG51bWJlciwgcHJlY2lzaW9uLCBmYWxzZSkpLCBwcmVjaXNpb24sIHRydWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfdG9DaGFyQXJyYXlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX3RvQ2hhckFycmF5KG51bWJlcikge1xuICAgICAgdmFyIHNpZ251bSA9IE51bWJlck1hc2suX2dldFNpZ24obnVtYmVyKTtcblxuICAgICAgdmFyIGNoYXJzID0gW107XG5cbiAgICAgIGlmIChzaWdudW0gIT09IDApIHtcbiAgICAgICAgdmFyIHN0cmluZyA9IHNpZ251bSA8IDAgPyBcIlwiLmNvbmNhdCgtMSAqIG51bWJlci50b1N0cmluZygpKSA6IG51bWJlci50b1N0cmluZygpO1xuICAgICAgICBpZiAoc3RyaW5nLmxlbmd0aCA+IDEgJiYgc3RyaW5nLmNoYXJBdCgwKSA9PSAnMCcpIHN0cmluZyA9IHN0cmluZy5zdWJzdHJpbmcoMSk7IC8vIFRoZSBzdHJpbmcgY29udGFpbnMgb25seSBbMC05XSBhbmQgJy4nXG5cbiAgICAgICAgY2hhcnMgPSBzdHJpbmcuc3BsaXQoJycpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY2hhcnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNpZ24gb2YgYSBudW1iZXJcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge051bWJlcn0geCBudW1iZXJcbiAgICAgKiBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciByZXByZXNlbnRpbmcgdGhlIHNpZ24gb2YgdGhlIGdpdmVuIGFyZ3VtZW50LiBcbiAgICAgKiAgICAgICAgICAgICAgICAgICBJZiB0aGUgYXJndW1lbnQgaXMgYSBwb3NpdGl2ZSBudW1iZXIsIG5lZ2F0aXZlIG51bWJlciwgcG9zaXRpdmUgemVybyBcbiAgICAgKiAgICAgICAgICAgICAgICAgICBvciBuZWdhdGl2ZSB6ZXJvLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gMSwgLTEsIDAgb3IgLTAgcmVzcGVjdGl2ZWx5LlxuICAgICAqICAgICAgICAgICAgICAgICAgIE90aGVyd2lzZSwgTmFOIGlzIHJldHVybmVkLlxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2dldFNpZ25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldFNpZ24oeCkge1xuICAgICAgcmV0dXJuICh4ID4gMCkgLSAoeCA8IDApIHx8ICt4O1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBOdW1iZXJNYXNrO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBOdW1iZXJNYXNrO1xuXG4vKioqLyB9KSxcbi8qIDIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkRhdGVNYXNrXCIsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIF9EYXRlTWFzay5kZWZhdWx0O1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk51bWJlck1hc2tcIiwge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gX051bWJlck1hc2suZGVmYXVsdDtcbiAgfVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUeXBlc1wiLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfVHlwZXMuZGVmYXVsdDtcbiAgfVxufSk7XG5cbnZhciBfRGF0ZU1hc2sgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMCkpO1xuXG52YXIgX051bWJlck1hc2sgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMSkpO1xuXG52YXIgX1R5cGVzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfX3dlYnBhY2tfcmVxdWlyZV9fKDMpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLyoqKi8gfSksXG4vKiAzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfTnVtYmVyTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygxKSk7XG5cbnZhciBfRGF0ZU1hc2sgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMCkpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qKiBcbiAqIFR5cGVzXG4gKiBcbiAqIEhhbmRsZSBCQmogbWFza2luZyBcbiAqIFxuICogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgVHlwZXMgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBUeXBlcygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgVHlwZXMpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFR5cGVzLCBudWxsLCBbe1xuICAgIGtleTogXCJudW1iZXJcIixcblxuICAgIC8qKlxuICAgICAqIE1hc2sgYSBudW1iZXIgYWNjb3JkaW5nIHRvIGJiaiBtYXNraW5nIHJ1bGVzIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBudW1iZXIgdGhlIG51bWJlciB0byBmb3JtYXRcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWFzayB0aGUgbWFzayB0byB1c2UgXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGdyb3VwaW5nU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBncm91cGluZyBzZXBhcmF0b3JcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGVjaW1hbFNlcGFyYXRvciBhIGNoYXIgd2hpY2ggd2lsbCBiZSB1c2VkIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IG51bWJlciBtYXNrZWQgd2l0aCB0aGUgZ2l2ZW4gbWFza1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBudW1iZXIoX251bWJlciwgbWFzaykge1xuICAgICAgdmFyIGdyb3VwaW5nU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiAnLCc7XG4gICAgICB2YXIgZGVjaW1hbFNlcGFyYXRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJy4nO1xuICAgICAgcmV0dXJuIF9OdW1iZXJNYXNrLmRlZmF1bHQubWFzayhfbnVtYmVyLCBtYXNrLCBncm91cGluZ1NlcGFyYXRvciwgZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1hc2sgYSBkYXRlIGFjY29yZGluZyB0byBiYmogbWFza2luZyBydWxlcyBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbnVtYmVyIHRoZSBkYXRlIHRvIGZvcm1hdFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtYXNrIHRoZSBtYXNrIHRvIHVzZSBcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IG51bWJlciBtYXNrZWQgd2l0aCB0aGUgZ2l2ZW4gbWFza1xuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkYXRlKF9kYXRlLCBtYXNrKSB7XG4gICAgICByZXR1cm4gX0RhdGVNYXNrLmRlZmF1bHQubWFzayhfZGF0ZSwgbWFzayk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFR5cGVzO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBUeXBlcztcblxuLyoqKi8gfSlcbi8qKioqKiovIF0pO1xufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1iYmotbWFza3MuanMubWFwXG5cbi8qKiovIH0pLFxuLyogMjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLyogZmxhdHBpY2tyIHY0LjUuMCwgQGxpY2Vuc2UgTUlUICovXG4oZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkge1xuICAgICB0cnVlID8gbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCkgOlxuICAgIHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShmYWN0b3J5KSA6XG4gICAgKGdsb2JhbC5mbGF0cGlja3IgPSBmYWN0b3J5KCkpO1xufSh0aGlzLCAoZnVuY3Rpb24gKCkgeyAndXNlIHN0cmljdCc7XG5cbiAgICB2YXIgcGFkID0gZnVuY3Rpb24gcGFkKG51bWJlcikge1xuICAgICAgcmV0dXJuIChcIjBcIiArIG51bWJlcikuc2xpY2UoLTIpO1xuICAgIH07XG4gICAgdmFyIGludCA9IGZ1bmN0aW9uIGludChib29sKSB7XG4gICAgICByZXR1cm4gYm9vbCA9PT0gdHJ1ZSA/IDEgOiAwO1xuICAgIH07XG4gICAgZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7XG4gICAgICBpZiAoaW1tZWRpYXRlID09PSB2b2lkIDApIHtcbiAgICAgICAgaW1tZWRpYXRlID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHZhciB0aW1lb3V0O1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLFxuICAgICAgICAgICAgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgdGltZW91dCAhPT0gbnVsbCAmJiBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICAgICAgaWYgKCFpbW1lZGlhdGUpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICAgIH0sIHdhaXQpO1xuICAgICAgICBpZiAoaW1tZWRpYXRlICYmICF0aW1lb3V0KSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGFycmF5aWZ5ID0gZnVuY3Rpb24gYXJyYXlpZnkob2JqKSB7XG4gICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQXJyYXkgPyBvYmogOiBbb2JqXTtcbiAgICB9O1xuXG4gICAgdmFyIGRvX25vdGhpbmcgPSBmdW5jdGlvbiBkb19ub3RoaW5nKCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9O1xuXG4gICAgdmFyIG1vbnRoVG9TdHIgPSBmdW5jdGlvbiBtb250aFRvU3RyKG1vbnRoTnVtYmVyLCBzaG9ydGhhbmQsIGxvY2FsZSkge1xuICAgICAgcmV0dXJuIGxvY2FsZS5tb250aHNbc2hvcnRoYW5kID8gXCJzaG9ydGhhbmRcIiA6IFwibG9uZ2hhbmRcIl1bbW9udGhOdW1iZXJdO1xuICAgIH07XG4gICAgdmFyIHJldkZvcm1hdCA9IHtcbiAgICAgIEQ6IGRvX25vdGhpbmcsXG4gICAgICBGOiBmdW5jdGlvbiBGKGRhdGVPYmosIG1vbnRoTmFtZSwgbG9jYWxlKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgobG9jYWxlLm1vbnRocy5sb25naGFuZC5pbmRleE9mKG1vbnRoTmFtZSkpO1xuICAgICAgfSxcbiAgICAgIEc6IGZ1bmN0aW9uIEcoZGF0ZU9iaiwgaG91cikge1xuICAgICAgICBkYXRlT2JqLnNldEhvdXJzKHBhcnNlRmxvYXQoaG91cikpO1xuICAgICAgfSxcbiAgICAgIEg6IGZ1bmN0aW9uIEgoZGF0ZU9iaiwgaG91cikge1xuICAgICAgICBkYXRlT2JqLnNldEhvdXJzKHBhcnNlRmxvYXQoaG91cikpO1xuICAgICAgfSxcbiAgICAgIEo6IGZ1bmN0aW9uIEooZGF0ZU9iaiwgZGF5KSB7XG4gICAgICAgIGRhdGVPYmouc2V0RGF0ZShwYXJzZUZsb2F0KGRheSkpO1xuICAgICAgfSxcbiAgICAgIEs6IGZ1bmN0aW9uIEsoZGF0ZU9iaiwgYW1QTSwgbG9jYWxlKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMoZGF0ZU9iai5nZXRIb3VycygpICUgMTIgKyAxMiAqIGludChuZXcgUmVnRXhwKGxvY2FsZS5hbVBNWzFdLCBcImlcIikudGVzdChhbVBNKSkpO1xuICAgICAgfSxcbiAgICAgIE06IGZ1bmN0aW9uIE0oZGF0ZU9iaiwgc2hvcnRNb250aCwgbG9jYWxlKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgobG9jYWxlLm1vbnRocy5zaG9ydGhhbmQuaW5kZXhPZihzaG9ydE1vbnRoKSk7XG4gICAgICB9LFxuICAgICAgUzogZnVuY3Rpb24gUyhkYXRlT2JqLCBzZWNvbmRzKSB7XG4gICAgICAgIGRhdGVPYmouc2V0U2Vjb25kcyhwYXJzZUZsb2F0KHNlY29uZHMpKTtcbiAgICAgIH0sXG4gICAgICBVOiBmdW5jdGlvbiBVKF8sIHVuaXhTZWNvbmRzKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShwYXJzZUZsb2F0KHVuaXhTZWNvbmRzKSAqIDEwMDApO1xuICAgICAgfSxcbiAgICAgIFc6IGZ1bmN0aW9uIFcoZGF0ZU9iaiwgd2Vla051bSkge1xuICAgICAgICB2YXIgd2Vla051bWJlciA9IHBhcnNlSW50KHdlZWtOdW0pO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZU9iai5nZXRGdWxsWWVhcigpLCAwLCAyICsgKHdlZWtOdW1iZXIgLSAxKSAqIDcsIDAsIDAsIDAsIDApO1xuICAgICAgfSxcbiAgICAgIFk6IGZ1bmN0aW9uIFkoZGF0ZU9iaiwgeWVhcikge1xuICAgICAgICBkYXRlT2JqLnNldEZ1bGxZZWFyKHBhcnNlRmxvYXQoeWVhcikpO1xuICAgICAgfSxcbiAgICAgIFo6IGZ1bmN0aW9uIFooXywgSVNPRGF0ZSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoSVNPRGF0ZSk7XG4gICAgICB9LFxuICAgICAgZDogZnVuY3Rpb24gZChkYXRlT2JqLCBkYXkpIHtcbiAgICAgICAgZGF0ZU9iai5zZXREYXRlKHBhcnNlRmxvYXQoZGF5KSk7XG4gICAgICB9LFxuICAgICAgaDogZnVuY3Rpb24gaChkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgaTogZnVuY3Rpb24gaShkYXRlT2JqLCBtaW51dGVzKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TWludXRlcyhwYXJzZUZsb2F0KG1pbnV0ZXMpKTtcbiAgICAgIH0sXG4gICAgICBqOiBmdW5jdGlvbiBqKGRhdGVPYmosIGRheSkge1xuICAgICAgICBkYXRlT2JqLnNldERhdGUocGFyc2VGbG9hdChkYXkpKTtcbiAgICAgIH0sXG4gICAgICBsOiBkb19ub3RoaW5nLFxuICAgICAgbTogZnVuY3Rpb24gbShkYXRlT2JqLCBtb250aCkge1xuICAgICAgICBkYXRlT2JqLnNldE1vbnRoKHBhcnNlRmxvYXQobW9udGgpIC0gMSk7XG4gICAgICB9LFxuICAgICAgbjogZnVuY3Rpb24gbihkYXRlT2JqLCBtb250aCkge1xuICAgICAgICBkYXRlT2JqLnNldE1vbnRoKHBhcnNlRmxvYXQobW9udGgpIC0gMSk7XG4gICAgICB9LFxuICAgICAgczogZnVuY3Rpb24gcyhkYXRlT2JqLCBzZWNvbmRzKSB7XG4gICAgICAgIGRhdGVPYmouc2V0U2Vjb25kcyhwYXJzZUZsb2F0KHNlY29uZHMpKTtcbiAgICAgIH0sXG4gICAgICB3OiBkb19ub3RoaW5nLFxuICAgICAgeTogZnVuY3Rpb24geShkYXRlT2JqLCB5ZWFyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0RnVsbFllYXIoMjAwMCArIHBhcnNlRmxvYXQoeWVhcikpO1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIHRva2VuUmVnZXggPSB7XG4gICAgICBEOiBcIihcXFxcdyspXCIsXG4gICAgICBGOiBcIihcXFxcdyspXCIsXG4gICAgICBHOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgSDogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIEo6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXFxcXHcrXCIsXG4gICAgICBLOiBcIlwiLFxuICAgICAgTTogXCIoXFxcXHcrKVwiLFxuICAgICAgUzogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIFU6IFwiKC4rKVwiLFxuICAgICAgVzogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIFk6IFwiKFxcXFxkezR9KVwiLFxuICAgICAgWjogXCIoLispXCIsXG4gICAgICBkOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgaDogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIGk6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBqOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgbDogXCIoXFxcXHcrKVwiLFxuICAgICAgbTogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIG46IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBzOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgdzogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIHk6IFwiKFxcXFxkezJ9KVwiXG4gICAgfTtcbiAgICB2YXIgZm9ybWF0cyA9IHtcbiAgICAgIFo6IGZ1bmN0aW9uIFooZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgfSxcbiAgICAgIEQ6IGZ1bmN0aW9uIEQoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUud2Vla2RheXMuc2hvcnRoYW5kW2Zvcm1hdHMudyhkYXRlLCBsb2NhbGUsIG9wdGlvbnMpXTtcbiAgICAgIH0sXG4gICAgICBGOiBmdW5jdGlvbiBGKGRhdGUsIGxvY2FsZSwgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbW9udGhUb1N0cihmb3JtYXRzLm4oZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSAtIDEsIGZhbHNlLCBsb2NhbGUpO1xuICAgICAgfSxcbiAgICAgIEc6IGZ1bmN0aW9uIEcoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBwYWQoZm9ybWF0cy5oKGRhdGUsIGxvY2FsZSwgb3B0aW9ucykpO1xuICAgICAgfSxcbiAgICAgIEg6IGZ1bmN0aW9uIEgoZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0SG91cnMoKSk7XG4gICAgICB9LFxuICAgICAgSjogZnVuY3Rpb24gSihkYXRlLCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5vcmRpbmFsICE9PSB1bmRlZmluZWQgPyBkYXRlLmdldERhdGUoKSArIGxvY2FsZS5vcmRpbmFsKGRhdGUuZ2V0RGF0ZSgpKSA6IGRhdGUuZ2V0RGF0ZSgpO1xuICAgICAgfSxcbiAgICAgIEs6IGZ1bmN0aW9uIEsoZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUuYW1QTVtpbnQoZGF0ZS5nZXRIb3VycygpID4gMTEpXTtcbiAgICAgIH0sXG4gICAgICBNOiBmdW5jdGlvbiBNKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbW9udGhUb1N0cihkYXRlLmdldE1vbnRoKCksIHRydWUsIGxvY2FsZSk7XG4gICAgICB9LFxuICAgICAgUzogZnVuY3Rpb24gUyhkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgfSxcbiAgICAgIFU6IGZ1bmN0aW9uIFUoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgICAgfSxcbiAgICAgIFc6IGZ1bmN0aW9uIFcoZGF0ZSwgXywgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5nZXRXZWVrKGRhdGUpO1xuICAgICAgfSxcbiAgICAgIFk6IGZ1bmN0aW9uIFkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgfSxcbiAgICAgIGQ6IGZ1bmN0aW9uIGQoZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0RGF0ZSgpKTtcbiAgICAgIH0sXG4gICAgICBoOiBmdW5jdGlvbiBoKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKSAlIDEyID8gZGF0ZS5nZXRIb3VycygpICUgMTIgOiAxMjtcbiAgICAgIH0sXG4gICAgICBpOiBmdW5jdGlvbiBpKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIHBhZChkYXRlLmdldE1pbnV0ZXMoKSk7XG4gICAgICB9LFxuICAgICAgajogZnVuY3Rpb24gaihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldERhdGUoKTtcbiAgICAgIH0sXG4gICAgICBsOiBmdW5jdGlvbiBsKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbG9jYWxlLndlZWtkYXlzLmxvbmdoYW5kW2RhdGUuZ2V0RGF5KCldO1xuICAgICAgfSxcbiAgICAgIG06IGZ1bmN0aW9uIG0oZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0TW9udGgoKSArIDEpO1xuICAgICAgfSxcbiAgICAgIG46IGZ1bmN0aW9uIG4oZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRNb250aCgpICsgMTtcbiAgICAgIH0sXG4gICAgICBzOiBmdW5jdGlvbiBzKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgfSxcbiAgICAgIHc6IGZ1bmN0aW9uIHcoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgICAgIH0sXG4gICAgICB5OiBmdW5jdGlvbiB5KGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhkYXRlLmdldEZ1bGxZZWFyKCkpLnN1YnN0cmluZygyKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGVuZ2xpc2ggPSB7XG4gICAgICB3ZWVrZGF5czoge1xuICAgICAgICBzaG9ydGhhbmQ6IFtcIlN1blwiLCBcIk1vblwiLCBcIlR1ZVwiLCBcIldlZFwiLCBcIlRodVwiLCBcIkZyaVwiLCBcIlNhdFwiXSxcbiAgICAgICAgbG9uZ2hhbmQ6IFtcIlN1bmRheVwiLCBcIk1vbmRheVwiLCBcIlR1ZXNkYXlcIiwgXCJXZWRuZXNkYXlcIiwgXCJUaHVyc2RheVwiLCBcIkZyaWRheVwiLCBcIlNhdHVyZGF5XCJdXG4gICAgICB9LFxuICAgICAgbW9udGhzOiB7XG4gICAgICAgIHNob3J0aGFuZDogW1wiSmFuXCIsIFwiRmViXCIsIFwiTWFyXCIsIFwiQXByXCIsIFwiTWF5XCIsIFwiSnVuXCIsIFwiSnVsXCIsIFwiQXVnXCIsIFwiU2VwXCIsIFwiT2N0XCIsIFwiTm92XCIsIFwiRGVjXCJdLFxuICAgICAgICBsb25naGFuZDogW1wiSmFudWFyeVwiLCBcIkZlYnJ1YXJ5XCIsIFwiTWFyY2hcIiwgXCJBcHJpbFwiLCBcIk1heVwiLCBcIkp1bmVcIiwgXCJKdWx5XCIsIFwiQXVndXN0XCIsIFwiU2VwdGVtYmVyXCIsIFwiT2N0b2JlclwiLCBcIk5vdmVtYmVyXCIsIFwiRGVjZW1iZXJcIl1cbiAgICAgIH0sXG4gICAgICBkYXlzSW5Nb250aDogWzMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzFdLFxuICAgICAgZmlyc3REYXlPZldlZWs6IDAsXG4gICAgICBvcmRpbmFsOiBmdW5jdGlvbiBvcmRpbmFsKG50aCkge1xuICAgICAgICB2YXIgcyA9IG50aCAlIDEwMDtcbiAgICAgICAgaWYgKHMgPiAzICYmIHMgPCAyMSkgcmV0dXJuIFwidGhcIjtcblxuICAgICAgICBzd2l0Y2ggKHMgJSAxMCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIHJldHVybiBcInN0XCI7XG5cbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICByZXR1cm4gXCJuZFwiO1xuXG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgcmV0dXJuIFwicmRcIjtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gXCJ0aFwiO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcmFuZ2VTZXBhcmF0b3I6IFwiIHRvIFwiLFxuICAgICAgd2Vla0FiYnJldmlhdGlvbjogXCJXa1wiLFxuICAgICAgc2Nyb2xsVGl0bGU6IFwiU2Nyb2xsIHRvIGluY3JlbWVudFwiLFxuICAgICAgdG9nZ2xlVGl0bGU6IFwiQ2xpY2sgdG8gdG9nZ2xlXCIsXG4gICAgICBhbVBNOiBbXCJBTVwiLCBcIlBNXCJdLFxuICAgICAgeWVhckFyaWFMYWJlbDogXCJZZWFyXCJcbiAgICB9O1xuXG4gICAgdmFyIGNyZWF0ZURhdGVGb3JtYXR0ZXIgPSBmdW5jdGlvbiBjcmVhdGVEYXRlRm9ybWF0dGVyKF9yZWYpIHtcbiAgICAgIHZhciBfcmVmJGNvbmZpZyA9IF9yZWYuY29uZmlnLFxuICAgICAgICAgIGNvbmZpZyA9IF9yZWYkY29uZmlnID09PSB2b2lkIDAgPyBkZWZhdWx0cyA6IF9yZWYkY29uZmlnLFxuICAgICAgICAgIF9yZWYkbDEwbiA9IF9yZWYubDEwbixcbiAgICAgICAgICBsMTBuID0gX3JlZiRsMTBuID09PSB2b2lkIDAgPyBlbmdsaXNoIDogX3JlZiRsMTBuO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChkYXRlT2JqLCBmcm10LCBvdmVycmlkZUxvY2FsZSkge1xuICAgICAgICBpZiAoY29uZmlnLmZvcm1hdERhdGUgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGNvbmZpZy5mb3JtYXREYXRlKGRhdGVPYmosIGZybXQpO1xuICAgICAgICB2YXIgbG9jYWxlID0gb3ZlcnJpZGVMb2NhbGUgfHwgbDEwbjtcbiAgICAgICAgcmV0dXJuIGZybXQuc3BsaXQoXCJcIikubWFwKGZ1bmN0aW9uIChjLCBpLCBhcnIpIHtcbiAgICAgICAgICByZXR1cm4gZm9ybWF0c1tjXSAmJiBhcnJbaSAtIDFdICE9PSBcIlxcXFxcIiA/IGZvcm1hdHNbY10oZGF0ZU9iaiwgbG9jYWxlLCBjb25maWcpIDogYyAhPT0gXCJcXFxcXCIgPyBjIDogXCJcIjtcbiAgICAgICAgfSkuam9pbihcIlwiKTtcbiAgICAgIH07XG4gICAgfTtcbiAgICB2YXIgY3JlYXRlRGF0ZVBhcnNlciA9IGZ1bmN0aW9uIGNyZWF0ZURhdGVQYXJzZXIoX3JlZjIpIHtcbiAgICAgIHZhciBfcmVmMiRjb25maWcgPSBfcmVmMi5jb25maWcsXG4gICAgICAgICAgY29uZmlnID0gX3JlZjIkY29uZmlnID09PSB2b2lkIDAgPyBkZWZhdWx0cyA6IF9yZWYyJGNvbmZpZyxcbiAgICAgICAgICBfcmVmMiRsMTBuID0gX3JlZjIubDEwbixcbiAgICAgICAgICBsMTBuID0gX3JlZjIkbDEwbiA9PT0gdm9pZCAwID8gZW5nbGlzaCA6IF9yZWYyJGwxMG47XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGUsIGdpdmVuRm9ybWF0LCB0aW1lbGVzcykge1xuICAgICAgICBpZiAoZGF0ZSAhPT0gMCAmJiAhZGF0ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgdmFyIHBhcnNlZERhdGU7XG4gICAgICAgIHZhciBkYXRlX29yaWcgPSBkYXRlO1xuICAgICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUpIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7ZWxzZSBpZiAodHlwZW9mIGRhdGUgIT09IFwic3RyaW5nXCIgJiYgZGF0ZS50b0ZpeGVkICE9PSB1bmRlZmluZWQpIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlKTtlbHNlIGlmICh0eXBlb2YgZGF0ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHZhciBmb3JtYXQgPSBnaXZlbkZvcm1hdCB8fCAoY29uZmlnIHx8IGRlZmF1bHRzKS5kYXRlRm9ybWF0O1xuICAgICAgICAgIHZhciBkYXRlc3RyID0gU3RyaW5nKGRhdGUpLnRyaW0oKTtcblxuICAgICAgICAgIGlmIChkYXRlc3RyID09PSBcInRvZGF5XCIpIHtcbiAgICAgICAgICAgIHBhcnNlZERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgdGltZWxlc3MgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSBpZiAoL1okLy50ZXN0KGRhdGVzdHIpIHx8IC9HTVQkLy50ZXN0KGRhdGVzdHIpKSBwYXJzZWREYXRlID0gbmV3IERhdGUoZGF0ZSk7ZWxzZSBpZiAoY29uZmlnICYmIGNvbmZpZy5wYXJzZURhdGUpIHBhcnNlZERhdGUgPSBjb25maWcucGFyc2VEYXRlKGRhdGUsIGZvcm1hdCk7ZWxzZSB7XG4gICAgICAgICAgICBwYXJzZWREYXRlID0gIWNvbmZpZyB8fCAhY29uZmlnLm5vQ2FsZW5kYXIgPyBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIDAsIDEsIDAsIDAsIDAsIDApIDogbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gICAgICAgICAgICB2YXIgbWF0Y2hlZCxcbiAgICAgICAgICAgICAgICBvcHMgPSBbXTtcblxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIG1hdGNoSW5kZXggPSAwLCByZWdleFN0ciA9IFwiXCI7IGkgPCBmb3JtYXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFyIHRva2VuID0gZm9ybWF0W2ldO1xuICAgICAgICAgICAgICB2YXIgaXNCYWNrU2xhc2ggPSB0b2tlbiA9PT0gXCJcXFxcXCI7XG4gICAgICAgICAgICAgIHZhciBlc2NhcGVkID0gZm9ybWF0W2kgLSAxXSA9PT0gXCJcXFxcXCIgfHwgaXNCYWNrU2xhc2g7XG5cbiAgICAgICAgICAgICAgaWYgKHRva2VuUmVnZXhbdG9rZW5dICYmICFlc2NhcGVkKSB7XG4gICAgICAgICAgICAgICAgcmVnZXhTdHIgKz0gdG9rZW5SZWdleFt0b2tlbl07XG4gICAgICAgICAgICAgICAgdmFyIG1hdGNoID0gbmV3IFJlZ0V4cChyZWdleFN0cikuZXhlYyhkYXRlKTtcblxuICAgICAgICAgICAgICAgIGlmIChtYXRjaCAmJiAobWF0Y2hlZCA9IHRydWUpKSB7XG4gICAgICAgICAgICAgICAgICBvcHNbdG9rZW4gIT09IFwiWVwiID8gXCJwdXNoXCIgOiBcInVuc2hpZnRcIl0oe1xuICAgICAgICAgICAgICAgICAgICBmbjogcmV2Rm9ybWF0W3Rva2VuXSxcbiAgICAgICAgICAgICAgICAgICAgdmFsOiBtYXRjaFsrK21hdGNoSW5kZXhdXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzQmFja1NsYXNoKSByZWdleFN0ciArPSBcIi5cIjtcblxuICAgICAgICAgICAgICBvcHMuZm9yRWFjaChmdW5jdGlvbiAoX3JlZjMpIHtcbiAgICAgICAgICAgICAgICB2YXIgZm4gPSBfcmVmMy5mbixcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gX3JlZjMudmFsO1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWREYXRlID0gZm4ocGFyc2VkRGF0ZSwgdmFsLCBsMTBuKSB8fCBwYXJzZWREYXRlO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFyc2VkRGF0ZSA9IG1hdGNoZWQgPyBwYXJzZWREYXRlIDogdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghKHBhcnNlZERhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihwYXJzZWREYXRlLmdldFRpbWUoKSkpKSB7XG4gICAgICAgICAgY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoXCJJbnZhbGlkIGRhdGUgcHJvdmlkZWQ6IFwiICsgZGF0ZV9vcmlnKSk7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aW1lbGVzcyA9PT0gdHJ1ZSkgcGFyc2VkRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgICAgcmV0dXJuIHBhcnNlZERhdGU7XG4gICAgICB9O1xuICAgIH07XG4gICAgZnVuY3Rpb24gY29tcGFyZURhdGVzKGRhdGUxLCBkYXRlMiwgdGltZWxlc3MpIHtcbiAgICAgIGlmICh0aW1lbGVzcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHRpbWVsZXNzID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRpbWVsZXNzICE9PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZTEuZ2V0VGltZSgpKS5zZXRIb3VycygwLCAwLCAwLCAwKSAtIG5ldyBEYXRlKGRhdGUyLmdldFRpbWUoKSkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkYXRlMS5nZXRUaW1lKCkgLSBkYXRlMi5nZXRUaW1lKCk7XG4gICAgfVxuICAgIHZhciBnZXRXZWVrID0gZnVuY3Rpb24gZ2V0V2VlayhnaXZlbkRhdGUpIHtcbiAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoZ2l2ZW5EYXRlLmdldFRpbWUoKSk7XG4gICAgICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgMyAtIChkYXRlLmdldERheSgpICsgNikgJSA3KTtcbiAgICAgIHZhciB3ZWVrMSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMCwgNCk7XG4gICAgICByZXR1cm4gMSArIE1hdGgucm91bmQoKChkYXRlLmdldFRpbWUoKSAtIHdlZWsxLmdldFRpbWUoKSkgLyA4NjQwMDAwMCAtIDMgKyAod2VlazEuZ2V0RGF5KCkgKyA2KSAlIDcpIC8gNyk7XG4gICAgfTtcbiAgICB2YXIgaXNCZXR3ZWVuID0gZnVuY3Rpb24gaXNCZXR3ZWVuKHRzLCB0czEsIHRzMikge1xuICAgICAgcmV0dXJuIHRzID4gTWF0aC5taW4odHMxLCB0czIpICYmIHRzIDwgTWF0aC5tYXgodHMxLCB0czIpO1xuICAgIH07XG4gICAgdmFyIGR1cmF0aW9uID0ge1xuICAgICAgREFZOiA4NjQwMDAwMFxuICAgIH07XG5cbiAgICB2YXIgZGVmYXVsdHMgPSB7XG4gICAgICBfZGlzYWJsZTogW10sXG4gICAgICBfZW5hYmxlOiBbXSxcbiAgICAgIGFsbG93SW5wdXQ6IGZhbHNlLFxuICAgICAgYWx0Rm9ybWF0OiBcIkYgaiwgWVwiLFxuICAgICAgYWx0SW5wdXQ6IGZhbHNlLFxuICAgICAgYWx0SW5wdXRDbGFzczogXCJmb3JtLWNvbnRyb2wgaW5wdXRcIixcbiAgICAgIGFuaW1hdGU6IHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIgJiYgd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIk1TSUVcIikgPT09IC0xLFxuICAgICAgYXJpYURhdGVGb3JtYXQ6IFwiRiBqLCBZXCIsXG4gICAgICBjbGlja09wZW5zOiB0cnVlLFxuICAgICAgY2xvc2VPblNlbGVjdDogdHJ1ZSxcbiAgICAgIGNvbmp1bmN0aW9uOiBcIiwgXCIsXG4gICAgICBkYXRlRm9ybWF0OiBcIlktbS1kXCIsXG4gICAgICBkZWZhdWx0SG91cjogMTIsXG4gICAgICBkZWZhdWx0TWludXRlOiAwLFxuICAgICAgZGVmYXVsdFNlY29uZHM6IDAsXG4gICAgICBkaXNhYmxlOiBbXSxcbiAgICAgIGRpc2FibGVNb2JpbGU6IGZhbHNlLFxuICAgICAgZW5hYmxlOiBbXSxcbiAgICAgIGVuYWJsZVNlY29uZHM6IGZhbHNlLFxuICAgICAgZW5hYmxlVGltZTogZmFsc2UsXG4gICAgICBlcnJvckhhbmRsZXI6IGZ1bmN0aW9uIGVycm9ySGFuZGxlcihlcnIpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBjb25zb2xlICE9PSBcInVuZGVmaW5lZFwiICYmIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgfSxcbiAgICAgIGdldFdlZWs6IGdldFdlZWssXG4gICAgICBob3VySW5jcmVtZW50OiAxLFxuICAgICAgaWdub3JlZEZvY3VzRWxlbWVudHM6IFtdLFxuICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgIGxvY2FsZTogXCJkZWZhdWx0XCIsXG4gICAgICBtaW51dGVJbmNyZW1lbnQ6IDUsXG4gICAgICBtb2RlOiBcInNpbmdsZVwiLFxuICAgICAgbmV4dEFycm93OiBcIjxzdmcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2aWV3Qm94PScwIDAgMTcgMTcnPjxnPjwvZz48cGF0aCBkPSdNMTMuMjA3IDguNDcybC03Ljg1NCA3Ljg1NC0wLjcwNy0wLjcwNyA3LjE0Ni03LjE0Ni03LjE0Ni03LjE0OCAwLjcwNy0wLjcwNyA3Ljg1NCA3Ljg1NHonIC8+PC9zdmc+XCIsXG4gICAgICBub0NhbGVuZGFyOiBmYWxzZSxcbiAgICAgIG5vdzogbmV3IERhdGUoKSxcbiAgICAgIG9uQ2hhbmdlOiBbXSxcbiAgICAgIG9uQ2xvc2U6IFtdLFxuICAgICAgb25EYXlDcmVhdGU6IFtdLFxuICAgICAgb25EZXN0cm95OiBbXSxcbiAgICAgIG9uS2V5RG93bjogW10sXG4gICAgICBvbk1vbnRoQ2hhbmdlOiBbXSxcbiAgICAgIG9uT3BlbjogW10sXG4gICAgICBvblBhcnNlQ29uZmlnOiBbXSxcbiAgICAgIG9uUmVhZHk6IFtdLFxuICAgICAgb25WYWx1ZVVwZGF0ZTogW10sXG4gICAgICBvblllYXJDaGFuZ2U6IFtdLFxuICAgICAgb25QcmVDYWxlbmRhclBvc2l0aW9uOiBbXSxcbiAgICAgIHBsdWdpbnM6IFtdLFxuICAgICAgcG9zaXRpb246IFwiYXV0b1wiLFxuICAgICAgcG9zaXRpb25FbGVtZW50OiB1bmRlZmluZWQsXG4gICAgICBwcmV2QXJyb3c6IFwiPHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHZpZXdCb3g9JzAgMCAxNyAxNyc+PGc+PC9nPjxwYXRoIGQ9J001LjIwNyA4LjQ3MWw3LjE0NiA3LjE0Ny0wLjcwNyAwLjcwNy03Ljg1My03Ljg1NCA3Ljg1NC03Ljg1MyAwLjcwNyAwLjcwNy03LjE0NyA3LjE0NnonIC8+PC9zdmc+XCIsXG4gICAgICBzaG9ydGhhbmRDdXJyZW50TW9udGg6IGZhbHNlLFxuICAgICAgc2hvd01vbnRoczogMSxcbiAgICAgIHN0YXRpYzogZmFsc2UsXG4gICAgICB0aW1lXzI0aHI6IGZhbHNlLFxuICAgICAgd2Vla051bWJlcnM6IGZhbHNlLFxuICAgICAgd3JhcDogZmFsc2VcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gdG9nZ2xlQ2xhc3MoZWxlbSwgY2xhc3NOYW1lLCBib29sKSB7XG4gICAgICBpZiAoYm9vbCA9PT0gdHJ1ZSkgcmV0dXJuIGVsZW0uY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgZWxlbS5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodGFnLCBjbGFzc05hbWUsIGNvbnRlbnQpIHtcbiAgICAgIHZhciBlID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtcbiAgICAgIGNsYXNzTmFtZSA9IGNsYXNzTmFtZSB8fCBcIlwiO1xuICAgICAgY29udGVudCA9IGNvbnRlbnQgfHwgXCJcIjtcbiAgICAgIGUuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICAgICAgaWYgKGNvbnRlbnQgIT09IHVuZGVmaW5lZCkgZS50ZXh0Q29udGVudCA9IGNvbnRlbnQ7XG4gICAgICByZXR1cm4gZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY2xlYXJOb2RlKG5vZGUpIHtcbiAgICAgIHdoaWxlIChub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChub2RlLmZpcnN0Q2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmaW5kUGFyZW50KG5vZGUsIGNvbmRpdGlvbikge1xuICAgICAgaWYgKGNvbmRpdGlvbihub2RlKSkgcmV0dXJuIG5vZGU7ZWxzZSBpZiAobm9kZS5wYXJlbnROb2RlKSByZXR1cm4gZmluZFBhcmVudChub2RlLnBhcmVudE5vZGUsIGNvbmRpdGlvbik7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVOdW1iZXJJbnB1dChpbnB1dENsYXNzTmFtZSwgb3B0cykge1xuICAgICAgdmFyIHdyYXBwZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwibnVtSW5wdXRXcmFwcGVyXCIpLFxuICAgICAgICAgIG51bUlucHV0ID0gY3JlYXRlRWxlbWVudChcImlucHV0XCIsIFwibnVtSW5wdXQgXCIgKyBpbnB1dENsYXNzTmFtZSksXG4gICAgICAgICAgYXJyb3dVcCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiYXJyb3dVcFwiKSxcbiAgICAgICAgICBhcnJvd0Rvd24gPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImFycm93RG93blwiKTtcbiAgICAgIG51bUlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgIG51bUlucHV0LnBhdHRlcm4gPSBcIlxcXFxkKlwiO1xuICAgICAgaWYgKG9wdHMgIT09IHVuZGVmaW5lZCkgZm9yICh2YXIga2V5IGluIG9wdHMpIHtcbiAgICAgICAgbnVtSW5wdXQuc2V0QXR0cmlidXRlKGtleSwgb3B0c1trZXldKTtcbiAgICAgIH1cbiAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQobnVtSW5wdXQpO1xuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChhcnJvd1VwKTtcbiAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoYXJyb3dEb3duKTtcbiAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgT2JqZWN0LmFzc2lnbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBPYmplY3QuYXNzaWduID0gZnVuY3Rpb24gKHRhcmdldCkge1xuICAgICAgICBpZiAoIXRhcmdldCkge1xuICAgICAgICAgIHRocm93IFR5cGVFcnJvcihcIkNhbm5vdCBjb252ZXJ0IHVuZGVmaW5lZCBvciBudWxsIHRvIG9iamVjdFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKCkge1xuICAgICAgICAgIHZhciBzb3VyY2UgPSBhcmdzW19pXTtcblxuICAgICAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAgIHJldHVybiB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmdzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgIF9sb29wKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgREVCT1VOQ0VEX0NIQU5HRV9NUyA9IDMwMDtcblxuICAgIGZ1bmN0aW9uIEZsYXRwaWNrckluc3RhbmNlKGVsZW1lbnQsIGluc3RhbmNlQ29uZmlnKSB7XG4gICAgICB2YXIgc2VsZiA9IHtcbiAgICAgICAgY29uZmlnOiBPYmplY3QuYXNzaWduKHt9LCBmbGF0cGlja3IuZGVmYXVsdENvbmZpZyksXG4gICAgICAgIGwxMG46IGVuZ2xpc2hcbiAgICAgIH07XG4gICAgICBzZWxmLnBhcnNlRGF0ZSA9IGNyZWF0ZURhdGVQYXJzZXIoe1xuICAgICAgICBjb25maWc6IHNlbGYuY29uZmlnLFxuICAgICAgICBsMTBuOiBzZWxmLmwxMG5cbiAgICAgIH0pO1xuICAgICAgc2VsZi5faGFuZGxlcnMgPSBbXTtcbiAgICAgIHNlbGYuX2JpbmQgPSBiaW5kO1xuICAgICAgc2VsZi5fc2V0SG91cnNGcm9tRGF0ZSA9IHNldEhvdXJzRnJvbURhdGU7XG4gICAgICBzZWxmLl9wb3NpdGlvbkNhbGVuZGFyID0gcG9zaXRpb25DYWxlbmRhcjtcbiAgICAgIHNlbGYuY2hhbmdlTW9udGggPSBjaGFuZ2VNb250aDtcbiAgICAgIHNlbGYuY2hhbmdlWWVhciA9IGNoYW5nZVllYXI7XG4gICAgICBzZWxmLmNsZWFyID0gY2xlYXI7XG4gICAgICBzZWxmLmNsb3NlID0gY2xvc2U7XG4gICAgICBzZWxmLl9jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudDtcbiAgICAgIHNlbGYuZGVzdHJveSA9IGRlc3Ryb3k7XG4gICAgICBzZWxmLmlzRW5hYmxlZCA9IGlzRW5hYmxlZDtcbiAgICAgIHNlbGYuanVtcFRvRGF0ZSA9IGp1bXBUb0RhdGU7XG4gICAgICBzZWxmLm9wZW4gPSBvcGVuO1xuICAgICAgc2VsZi5yZWRyYXcgPSByZWRyYXc7XG4gICAgICBzZWxmLnNldCA9IHNldDtcbiAgICAgIHNlbGYuc2V0RGF0ZSA9IHNldERhdGU7XG4gICAgICBzZWxmLnRvZ2dsZSA9IHRvZ2dsZTtcblxuICAgICAgZnVuY3Rpb24gc2V0dXBIZWxwZXJGdW5jdGlvbnMoKSB7XG4gICAgICAgIHNlbGYudXRpbHMgPSB7XG4gICAgICAgICAgZ2V0RGF5c0luTW9udGg6IGZ1bmN0aW9uIGdldERheXNJbk1vbnRoKG1vbnRoLCB5cikge1xuICAgICAgICAgICAgaWYgKG1vbnRoID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgbW9udGggPSBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHlyID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgeXIgPSBzZWxmLmN1cnJlbnRZZWFyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobW9udGggPT09IDEgJiYgKHlyICUgNCA9PT0gMCAmJiB5ciAlIDEwMCAhPT0gMCB8fCB5ciAlIDQwMCA9PT0gMCkpIHJldHVybiAyOTtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmwxMG4uZGF5c0luTW9udGhbbW9udGhdO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaW5pdCgpIHtcbiAgICAgICAgc2VsZi5lbGVtZW50ID0gc2VsZi5pbnB1dCA9IGVsZW1lbnQ7XG4gICAgICAgIHNlbGYuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgIHBhcnNlQ29uZmlnKCk7XG4gICAgICAgIHNldHVwTG9jYWxlKCk7XG4gICAgICAgIHNldHVwSW5wdXRzKCk7XG4gICAgICAgIHNldHVwRGF0ZXMoKTtcbiAgICAgICAgc2V0dXBIZWxwZXJGdW5jdGlvbnMoKTtcbiAgICAgICAgaWYgKCFzZWxmLmlzTW9iaWxlKSBidWlsZCgpO1xuICAgICAgICBiaW5kRXZlbnRzKCk7XG5cbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggfHwgc2VsZi5jb25maWcubm9DYWxlbmRhcikge1xuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgICBzZXRIb3Vyc0Zyb21EYXRlKHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiB8fCBzZWxmLmNvbmZpZy5taW5EYXRlIDogdW5kZWZpbmVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVWYWx1ZShmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRDYWxlbmRhcldpZHRoKCk7XG4gICAgICAgIHNlbGYuc2hvd1RpbWVJbnB1dCA9IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwIHx8IHNlbGYuY29uZmlnLm5vQ2FsZW5kYXI7XG4gICAgICAgIHZhciBpc1NhZmFyaSA9IC9eKCg/IWNocm9tZXxhbmRyb2lkKS4pKnNhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbiAgICAgICAgaWYgKCFzZWxmLmlzTW9iaWxlICYmIGlzU2FmYXJpKSB7XG4gICAgICAgICAgcG9zaXRpb25DYWxlbmRhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25SZWFkeVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYmluZFRvSW5zdGFuY2UoZm4pIHtcbiAgICAgICAgcmV0dXJuIGZuLmJpbmQoc2VsZik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldENhbGVuZGFyV2lkdGgoKSB7XG4gICAgICAgIHZhciBjb25maWcgPSBzZWxmLmNvbmZpZztcbiAgICAgICAgaWYgKGNvbmZpZy53ZWVrTnVtYmVycyA9PT0gZmFsc2UgJiYgY29uZmlnLnNob3dNb250aHMgPT09IDEpIHJldHVybjtlbHNlIGlmIChjb25maWcubm9DYWxlbmRhciAhPT0gdHJ1ZSkge1xuICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS52aXNpYmlsaXR5ID0gXCJoaWRkZW5cIjtcbiAgICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcblxuICAgICAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHZhciBkYXlzV2lkdGggPSAoc2VsZi5kYXlzLm9mZnNldFdpZHRoICsgMSkgKiBjb25maWcuc2hvd01vbnRocztcbiAgICAgICAgICAgICAgc2VsZi5kYXlzQ29udGFpbmVyLnN0eWxlLndpZHRoID0gZGF5c1dpZHRoICsgXCJweFwiO1xuICAgICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLndpZHRoID0gZGF5c1dpZHRoICsgKHNlbGYud2Vla1dyYXBwZXIgIT09IHVuZGVmaW5lZCA/IHNlbGYud2Vla1dyYXBwZXIub2Zmc2V0V2lkdGggOiAwKSArIFwicHhcIjtcbiAgICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcInZpc2liaWxpdHlcIik7XG4gICAgICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoXCJkaXNwbGF5XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZVRpbWUoZSkge1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgICAgICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudHlwZSAhPT0gXCJibHVyXCIpIHRpbWVXcmFwcGVyKGUpO1xuICAgICAgICBzZXRIb3Vyc0Zyb21JbnB1dHMoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUoKTtcblxuICAgICAgICBzZWxmLl9kZWJvdW5jZWRDaGFuZ2UoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYW1wbTJtaWxpdGFyeShob3VyLCBhbVBNKSB7XG4gICAgICAgIHJldHVybiBob3VyICUgMTIgKyAxMiAqIGludChhbVBNID09PSBzZWxmLmwxMG4uYW1QTVsxXSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG1pbGl0YXJ5MmFtcG0oaG91cikge1xuICAgICAgICBzd2l0Y2ggKGhvdXIgJSAyNCkge1xuICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICBjYXNlIDEyOlxuICAgICAgICAgICAgcmV0dXJuIDEyO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBob3VyICUgMTI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0SG91cnNGcm9tSW5wdXRzKCkge1xuICAgICAgICBpZiAoc2VsZi5ob3VyRWxlbWVudCA9PT0gdW5kZWZpbmVkIHx8IHNlbGYubWludXRlRWxlbWVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHZhciBob3VycyA9IChwYXJzZUludChzZWxmLmhvdXJFbGVtZW50LnZhbHVlLnNsaWNlKC0yKSwgMTApIHx8IDApICUgMjQsXG4gICAgICAgICAgICBtaW51dGVzID0gKHBhcnNlSW50KHNlbGYubWludXRlRWxlbWVudC52YWx1ZSwgMTApIHx8IDApICUgNjAsXG4gICAgICAgICAgICBzZWNvbmRzID0gc2VsZi5zZWNvbmRFbGVtZW50ICE9PSB1bmRlZmluZWQgPyAocGFyc2VJbnQoc2VsZi5zZWNvbmRFbGVtZW50LnZhbHVlLCAxMCkgfHwgMCkgJSA2MCA6IDA7XG5cbiAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaG91cnMgPSBhbXBtMm1pbGl0YXJ5KGhvdXJzLCBzZWxmLmFtUE0udGV4dENvbnRlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGxpbWl0TWluSG91cnMgPSBzZWxmLmNvbmZpZy5taW5UaW1lICE9PSB1bmRlZmluZWQgfHwgc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLm1pbkRhdGVIYXNUaW1lICYmIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICYmIGNvbXBhcmVEYXRlcyhzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5jb25maWcubWluRGF0ZSwgdHJ1ZSkgPT09IDA7XG4gICAgICAgIHZhciBsaW1pdE1heEhvdXJzID0gc2VsZi5jb25maWcubWF4VGltZSAhPT0gdW5kZWZpbmVkIHx8IHNlbGYuY29uZmlnLm1heERhdGUgJiYgc2VsZi5tYXhEYXRlSGFzVGltZSAmJiBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiAmJiBjb21wYXJlRGF0ZXMoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmosIHNlbGYuY29uZmlnLm1heERhdGUsIHRydWUpID09PSAwO1xuXG4gICAgICAgIGlmIChsaW1pdE1heEhvdXJzKSB7XG4gICAgICAgICAgdmFyIG1heFRpbWUgPSBzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQgPyBzZWxmLmNvbmZpZy5tYXhUaW1lIDogc2VsZi5jb25maWcubWF4RGF0ZTtcbiAgICAgICAgICBob3VycyA9IE1hdGgubWluKGhvdXJzLCBtYXhUaW1lLmdldEhvdXJzKCkpO1xuICAgICAgICAgIGlmIChob3VycyA9PT0gbWF4VGltZS5nZXRIb3VycygpKSBtaW51dGVzID0gTWF0aC5taW4obWludXRlcywgbWF4VGltZS5nZXRNaW51dGVzKCkpO1xuICAgICAgICAgIGlmIChtaW51dGVzID09PSBtYXhUaW1lLmdldE1pbnV0ZXMoKSkgc2Vjb25kcyA9IE1hdGgubWluKHNlY29uZHMsIG1heFRpbWUuZ2V0U2Vjb25kcygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaW1pdE1pbkhvdXJzKSB7XG4gICAgICAgICAgdmFyIG1pblRpbWUgPSBzZWxmLmNvbmZpZy5taW5UaW1lICE9PSB1bmRlZmluZWQgPyBzZWxmLmNvbmZpZy5taW5UaW1lIDogc2VsZi5jb25maWcubWluRGF0ZTtcbiAgICAgICAgICBob3VycyA9IE1hdGgubWF4KGhvdXJzLCBtaW5UaW1lLmdldEhvdXJzKCkpO1xuICAgICAgICAgIGlmIChob3VycyA9PT0gbWluVGltZS5nZXRIb3VycygpKSBtaW51dGVzID0gTWF0aC5tYXgobWludXRlcywgbWluVGltZS5nZXRNaW51dGVzKCkpO1xuICAgICAgICAgIGlmIChtaW51dGVzID09PSBtaW5UaW1lLmdldE1pbnV0ZXMoKSkgc2Vjb25kcyA9IE1hdGgubWF4KHNlY29uZHMsIG1pblRpbWUuZ2V0U2Vjb25kcygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEhvdXJzKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0SG91cnNGcm9tRGF0ZShkYXRlT2JqKSB7XG4gICAgICAgIHZhciBkYXRlID0gZGF0ZU9iaiB8fCBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iajtcbiAgICAgICAgaWYgKGRhdGUpIHNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSwgZGF0ZS5nZXRNaW51dGVzKCksIGRhdGUuZ2V0U2Vjb25kcygpKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0RGVmYXVsdEhvdXJzKCkge1xuICAgICAgICB2YXIgaG91cnMgPSBzZWxmLmNvbmZpZy5kZWZhdWx0SG91cjtcbiAgICAgICAgdmFyIG1pbnV0ZXMgPSBzZWxmLmNvbmZpZy5kZWZhdWx0TWludXRlO1xuICAgICAgICB2YXIgc2Vjb25kcyA9IHNlbGYuY29uZmlnLmRlZmF1bHRTZWNvbmRzO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5taW5EYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2YXIgbWluX2hyID0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRIb3VycygpO1xuICAgICAgICAgIHZhciBtaW5fbWludXRlcyA9IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0TWludXRlcygpO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5tYXgoaG91cnMsIG1pbl9ocik7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtaW5faHIpIG1pbnV0ZXMgPSBNYXRoLm1heChtaW5fbWludXRlcywgbWludXRlcyk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtaW5faHIgJiYgbWludXRlcyA9PT0gbWluX21pbnV0ZXMpIHNlY29uZHMgPSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldFNlY29uZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2YXIgbWF4X2hyID0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRIb3VycygpO1xuICAgICAgICAgIHZhciBtYXhfbWludXRlcyA9IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0TWludXRlcygpO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5taW4oaG91cnMsIG1heF9ocik7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtYXhfaHIpIG1pbnV0ZXMgPSBNYXRoLm1pbihtYXhfbWludXRlcywgbWludXRlcyk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtYXhfaHIgJiYgbWludXRlcyA9PT0gbWF4X21pbnV0ZXMpIHNlY29uZHMgPSBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldFNlY29uZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEhvdXJzKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpIHtcbiAgICAgICAgaWYgKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5zZXRIb3Vycyhob3VycyAlIDI0LCBtaW51dGVzLCBzZWNvbmRzIHx8IDAsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmhvdXJFbGVtZW50IHx8ICFzZWxmLm1pbnV0ZUVsZW1lbnQgfHwgc2VsZi5pc01vYmlsZSkgcmV0dXJuO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnZhbHVlID0gcGFkKCFzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyAoMTIgKyBob3VycykgJSAxMiArIDEyICogaW50KGhvdXJzICUgMTIgPT09IDApIDogaG91cnMpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQudmFsdWUgPSBwYWQobWludXRlcyk7XG4gICAgICAgIGlmIChzZWxmLmFtUE0gIT09IHVuZGVmaW5lZCkgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1baW50KGhvdXJzID49IDEyKV07XG4gICAgICAgIGlmIChzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCkgc2VsZi5zZWNvbmRFbGVtZW50LnZhbHVlID0gcGFkKHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvblllYXJJbnB1dChldmVudCkge1xuICAgICAgICB2YXIgeWVhciA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgKyAoZXZlbnQuZGVsdGEgfHwgMCk7XG5cbiAgICAgICAgaWYgKHllYXIgLyAxMDAwID4gMSB8fCBldmVudC5rZXkgPT09IFwiRW50ZXJcIiAmJiAhL1teXFxkXS8udGVzdCh5ZWFyLnRvU3RyaW5nKCkpKSB7XG4gICAgICAgICAgY2hhbmdlWWVhcih5ZWFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBiaW5kKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKSB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEFycmF5KSByZXR1cm4gZXZlbnQuZm9yRWFjaChmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICByZXR1cm4gYmluZChlbGVtZW50LCBldiwgaGFuZGxlciwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEFycmF5KSByZXR1cm4gZWxlbWVudC5mb3JFYWNoKGZ1bmN0aW9uIChlbCkge1xuICAgICAgICAgIHJldHVybiBiaW5kKGVsLCBldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpO1xuXG4gICAgICAgIHNlbGYuX2hhbmRsZXJzLnB1c2goe1xuICAgICAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXG4gICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgIGhhbmRsZXI6IGhhbmRsZXIsXG4gICAgICAgICAgb3B0aW9uczogb3B0aW9uc1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25DbGljayhoYW5kbGVyKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgZXZ0LndoaWNoID09PSAxICYmIGhhbmRsZXIoZXZ0KTtcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdHJpZ2dlckNoYW5nZSgpIHtcbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25DaGFuZ2VcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJpbmRFdmVudHMoKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy53cmFwKSB7XG4gICAgICAgICAgW1wib3BlblwiLCBcImNsb3NlXCIsIFwidG9nZ2xlXCIsIFwiY2xlYXJcIl0uZm9yRWFjaChmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHNlbGYuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtXCIgKyBldnQgKyBcIl1cIiksIGZ1bmN0aW9uIChlbCkge1xuICAgICAgICAgICAgICByZXR1cm4gYmluZChlbCwgXCJjbGlja1wiLCBzZWxmW2V2dF0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5pc01vYmlsZSkge1xuICAgICAgICAgIHNldHVwTW9iaWxlKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRlYm91bmNlZFJlc2l6ZSA9IGRlYm91bmNlKG9uUmVzaXplLCA1MCk7XG4gICAgICAgIHNlbGYuX2RlYm91bmNlZENoYW5nZSA9IGRlYm91bmNlKHRyaWdnZXJDaGFuZ2UsIERFQk9VTkNFRF9DSEFOR0VfTVMpO1xuICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICYmICEvaVBob25lfGlQYWR8aVBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpIGJpbmQoc2VsZi5kYXlzQ29udGFpbmVyLCBcIm1vdXNlb3ZlclwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIpIG9uTW91c2VPdmVyKGUudGFyZ2V0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGJpbmQod2luZG93LmRvY3VtZW50LmJvZHksIFwia2V5ZG93blwiLCBvbktleURvd24pO1xuICAgICAgICBpZiAoIXNlbGYuY29uZmlnLnN0YXRpYykgYmluZChzZWxmLl9pbnB1dCwgXCJrZXlkb3duXCIsIG9uS2V5RG93bik7XG4gICAgICAgIGlmICghc2VsZi5jb25maWcuaW5saW5lICYmICFzZWxmLmNvbmZpZy5zdGF0aWMpIGJpbmQod2luZG93LCBcInJlc2l6ZVwiLCBkZWJvdW5jZWRSZXNpemUpO1xuICAgICAgICBpZiAod2luZG93Lm9udG91Y2hzdGFydCAhPT0gdW5kZWZpbmVkKSBiaW5kKHdpbmRvdy5kb2N1bWVudCwgXCJjbGlja1wiLCBkb2N1bWVudENsaWNrKTtlbHNlIGJpbmQod2luZG93LmRvY3VtZW50LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKGRvY3VtZW50Q2xpY2spKTtcbiAgICAgICAgYmluZCh3aW5kb3cuZG9jdW1lbnQsIFwiZm9jdXNcIiwgZG9jdW1lbnRDbGljaywge1xuICAgICAgICAgIGNhcHR1cmU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmNsaWNrT3BlbnMgPT09IHRydWUpIHtcbiAgICAgICAgICBiaW5kKHNlbGYuX2lucHV0LCBcImZvY3VzXCIsIHNlbGYub3Blbik7XG4gICAgICAgICAgYmluZChzZWxmLl9pbnB1dCwgXCJtb3VzZWRvd25cIiwgb25DbGljayhzZWxmLm9wZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGJpbmQoc2VsZi5tb250aE5hdiwgXCJtb3VzZWRvd25cIiwgb25DbGljayhvbk1vbnRoTmF2Q2xpY2spKTtcbiAgICAgICAgICBiaW5kKHNlbGYubW9udGhOYXYsIFtcImtleXVwXCIsIFwiaW5jcmVtZW50XCJdLCBvblllYXJJbnB1dCk7XG4gICAgICAgICAgYmluZChzZWxmLmRheXNDb250YWluZXIsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2soc2VsZWN0RGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYudGltZUNvbnRhaW5lciAhPT0gdW5kZWZpbmVkICYmIHNlbGYubWludXRlRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHNlbGYuaG91ckVsZW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBzZWxUZXh0ID0gZnVuY3Rpb24gc2VsVGV4dChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZS50YXJnZXQuc2VsZWN0KCk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGJpbmQoc2VsZi50aW1lQ29udGFpbmVyLCBbXCJpbmNyZW1lbnRcIl0sIHVwZGF0ZVRpbWUpO1xuICAgICAgICAgIGJpbmQoc2VsZi50aW1lQ29udGFpbmVyLCBcImJsdXJcIiwgdXBkYXRlVGltZSwge1xuICAgICAgICAgICAgY2FwdHVyZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJpbmQoc2VsZi50aW1lQ29udGFpbmVyLCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKHRpbWVJbmNyZW1lbnQpKTtcbiAgICAgICAgICBiaW5kKFtzZWxmLmhvdXJFbGVtZW50LCBzZWxmLm1pbnV0ZUVsZW1lbnRdLCBbXCJmb2N1c1wiLCBcImNsaWNrXCJdLCBzZWxUZXh0KTtcbiAgICAgICAgICBpZiAoc2VsZi5zZWNvbmRFbGVtZW50ICE9PSB1bmRlZmluZWQpIGJpbmQoc2VsZi5zZWNvbmRFbGVtZW50LCBcImZvY3VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLnNlY29uZEVsZW1lbnQgJiYgc2VsZi5zZWNvbmRFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBiaW5kKHNlbGYuYW1QTSwgXCJtb3VzZWRvd25cIiwgb25DbGljayhmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICB1cGRhdGVUaW1lKGUpO1xuICAgICAgICAgICAgICB0cmlnZ2VyQ2hhbmdlKCk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGp1bXBUb0RhdGUoanVtcERhdGUpIHtcbiAgICAgICAgdmFyIGp1bXBUbyA9IGp1bXBEYXRlICE9PSB1bmRlZmluZWQgPyBzZWxmLnBhcnNlRGF0ZShqdW1wRGF0ZSkgOiBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiB8fCAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmNvbmZpZy5taW5EYXRlID4gc2VsZi5ub3cgPyBzZWxmLmNvbmZpZy5taW5EYXRlIDogc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLmNvbmZpZy5tYXhEYXRlIDwgc2VsZi5ub3cgPyBzZWxmLmNvbmZpZy5tYXhEYXRlIDogc2VsZi5ub3cpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKGp1bXBUbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0ganVtcFRvLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IGp1bXBUby5nZXRNb250aCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGUubWVzc2FnZSA9IFwiSW52YWxpZCBkYXRlIHN1cHBsaWVkOiBcIiArIGp1bXBUbztcbiAgICAgICAgICBzZWxmLmNvbmZpZy5lcnJvckhhbmRsZXIoZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0aW1lSW5jcmVtZW50KGUpIHtcbiAgICAgICAgaWYgKH5lLnRhcmdldC5jbGFzc05hbWUuaW5kZXhPZihcImFycm93XCIpKSBpbmNyZW1lbnROdW1JbnB1dChlLCBlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoXCJhcnJvd1VwXCIpID8gMSA6IC0xKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaW5jcmVtZW50TnVtSW5wdXQoZSwgZGVsdGEsIGlucHV0RWxlbSkge1xuICAgICAgICB2YXIgdGFyZ2V0ID0gZSAmJiBlLnRhcmdldDtcbiAgICAgICAgdmFyIGlucHV0ID0gaW5wdXRFbGVtIHx8IHRhcmdldCAmJiB0YXJnZXQucGFyZW50Tm9kZSAmJiB0YXJnZXQucGFyZW50Tm9kZS5maXJzdENoaWxkO1xuICAgICAgICB2YXIgZXZlbnQgPSBjcmVhdGVFdmVudChcImluY3JlbWVudFwiKTtcbiAgICAgICAgZXZlbnQuZGVsdGEgPSBkZWx0YTtcbiAgICAgICAgaW5wdXQgJiYgaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkKCkge1xuICAgICAgICB2YXIgZnJhZ21lbnQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1jYWxlbmRhclwiKTtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci50YWJJbmRleCA9IC0xO1xuXG4gICAgICAgIGlmICghc2VsZi5jb25maWcubm9DYWxlbmRhcikge1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGJ1aWxkTW9udGhOYXYoKSk7XG4gICAgICAgICAgc2VsZi5pbm5lckNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItaW5uZXJDb250YWluZXJcIik7XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcud2Vla051bWJlcnMpIHtcbiAgICAgICAgICAgIHZhciBfYnVpbGRXZWVrcyA9IGJ1aWxkV2Vla3MoKSxcbiAgICAgICAgICAgICAgICB3ZWVrV3JhcHBlciA9IF9idWlsZFdlZWtzLndlZWtXcmFwcGVyLFxuICAgICAgICAgICAgICAgIHdlZWtOdW1iZXJzID0gX2J1aWxkV2Vla3Mud2Vla051bWJlcnM7XG5cbiAgICAgICAgICAgIHNlbGYuaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQod2Vla1dyYXBwZXIpO1xuICAgICAgICAgICAgc2VsZi53ZWVrTnVtYmVycyA9IHdlZWtOdW1iZXJzO1xuICAgICAgICAgICAgc2VsZi53ZWVrV3JhcHBlciA9IHdlZWtXcmFwcGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNlbGYuckNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItckNvbnRhaW5lclwiKTtcbiAgICAgICAgICBzZWxmLnJDb250YWluZXIuYXBwZW5kQ2hpbGQoYnVpbGRXZWVrZGF5cygpKTtcblxuICAgICAgICAgIGlmICghc2VsZi5kYXlzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICBzZWxmLmRheXNDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLWRheXNcIik7XG4gICAgICAgICAgICBzZWxmLmRheXNDb250YWluZXIudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBidWlsZERheXMoKTtcbiAgICAgICAgICBzZWxmLnJDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VsZi5kYXlzQ29udGFpbmVyKTtcbiAgICAgICAgICBzZWxmLmlubmVyQ29udGFpbmVyLmFwcGVuZENoaWxkKHNlbGYuckNvbnRhaW5lcik7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoc2VsZi5pbm5lckNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuZW5hYmxlVGltZSkge1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGJ1aWxkVGltZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwicmFuZ2VNb2RlXCIsIHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIik7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwiYW5pbWF0ZVwiLCBzZWxmLmNvbmZpZy5hbmltYXRlID09PSB0cnVlKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJtdWx0aU1vbnRoXCIsIHNlbGYuY29uZmlnLnNob3dNb250aHMgPiAxKTtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnbWVudCk7XG4gICAgICAgIHZhciBjdXN0b21BcHBlbmQgPSBzZWxmLmNvbmZpZy5hcHBlbmRUbyAhPT0gdW5kZWZpbmVkICYmIHNlbGYuY29uZmlnLmFwcGVuZFRvLm5vZGVUeXBlICE9PSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmlubGluZSB8fCBzZWxmLmNvbmZpZy5zdGF0aWMpIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoc2VsZi5jb25maWcuaW5saW5lID8gXCJpbmxpbmVcIiA6IFwic3RhdGljXCIpO1xuXG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLmlubGluZSkge1xuICAgICAgICAgICAgaWYgKCFjdXN0b21BcHBlbmQgJiYgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUpIHNlbGYuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzZWxmLmNhbGVuZGFyQ29udGFpbmVyLCBzZWxmLl9pbnB1dC5uZXh0U2libGluZyk7ZWxzZSBpZiAoc2VsZi5jb25maWcuYXBwZW5kVG8gIT09IHVuZGVmaW5lZCkgc2VsZi5jb25maWcuYXBwZW5kVG8uYXBwZW5kQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLnN0YXRpYykge1xuICAgICAgICAgICAgdmFyIHdyYXBwZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdyYXBwZXJcIik7XG4gICAgICAgICAgICBpZiAoc2VsZi5lbGVtZW50LnBhcmVudE5vZGUpIHNlbGYuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh3cmFwcGVyLCBzZWxmLmVsZW1lbnQpO1xuICAgICAgICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChzZWxmLmVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQpIHdyYXBwZXIuYXBwZW5kQ2hpbGQoc2VsZi5hbHRJbnB1dCk7XG4gICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHNlbGYuY2FsZW5kYXJDb250YWluZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VsZi5jb25maWcuc3RhdGljICYmICFzZWxmLmNvbmZpZy5pbmxpbmUpIChzZWxmLmNvbmZpZy5hcHBlbmRUbyAhPT0gdW5kZWZpbmVkID8gc2VsZi5jb25maWcuYXBwZW5kVG8gOiB3aW5kb3cuZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNyZWF0ZURheShjbGFzc05hbWUsIGRhdGUsIGRheU51bWJlciwgaSkge1xuICAgICAgICB2YXIgZGF0ZUlzRW5hYmxlZCA9IGlzRW5hYmxlZChkYXRlLCB0cnVlKSxcbiAgICAgICAgICAgIGRheUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci1kYXkgXCIgKyBjbGFzc05hbWUsIGRhdGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkpO1xuICAgICAgICBkYXlFbGVtZW50LmRhdGVPYmogPSBkYXRlO1xuICAgICAgICBkYXlFbGVtZW50LiRpID0gaTtcbiAgICAgICAgZGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIHNlbGYuZm9ybWF0RGF0ZShkYXRlLCBzZWxmLmNvbmZpZy5hcmlhRGF0ZUZvcm1hdCkpO1xuXG4gICAgICAgIGlmIChjbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYubm93KSA9PT0gMCkge1xuICAgICAgICAgIHNlbGYudG9kYXlEYXRlRWxlbSA9IGRheUVsZW1lbnQ7XG4gICAgICAgICAgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidG9kYXlcIik7XG4gICAgICAgICAgZGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWN1cnJlbnRcIiwgXCJkYXRlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGVJc0VuYWJsZWQpIHtcbiAgICAgICAgICBkYXlFbGVtZW50LnRhYkluZGV4ID0gLTE7XG5cbiAgICAgICAgICBpZiAoaXNEYXRlU2VsZWN0ZWQoZGF0ZSkpIHtcbiAgICAgICAgICAgIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInNlbGVjdGVkXCIpO1xuICAgICAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVFbGVtID0gZGF5RWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhkYXlFbGVtZW50LCBcInN0YXJ0UmFuZ2VcIiwgc2VsZi5zZWxlY3RlZERhdGVzWzBdICYmIGNvbXBhcmVEYXRlcyhkYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0sIHRydWUpID09PSAwKTtcbiAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3MoZGF5RWxlbWVudCwgXCJlbmRSYW5nZVwiLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMV0gJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSwgdHJ1ZSkgPT09IDApO1xuICAgICAgICAgICAgICBpZiAoY2xhc3NOYW1lID09PSBcIm5leHRNb250aERheVwiKSBkYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJpblJhbmdlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJkaXNhYmxlZFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIpIHtcbiAgICAgICAgICBpZiAoaXNEYXRlSW5SYW5nZShkYXRlKSAmJiAhaXNEYXRlU2VsZWN0ZWQoZGF0ZSkpIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImluUmFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi53ZWVrTnVtYmVycyAmJiBzZWxmLmNvbmZpZy5zaG93TW9udGhzID09PSAxICYmIGNsYXNzTmFtZSAhPT0gXCJwcmV2TW9udGhEYXlcIiAmJiBkYXlOdW1iZXIgJSA3ID09PSAxKSB7XG4gICAgICAgICAgc2VsZi53ZWVrTnVtYmVycy5pbnNlcnRBZGphY2VudEhUTUwoXCJiZWZvcmVlbmRcIiwgXCI8c3BhbiBjbGFzcz0nZmxhdHBpY2tyLWRheSc+XCIgKyBzZWxmLmNvbmZpZy5nZXRXZWVrKGRhdGUpICsgXCI8L3NwYW4+XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25EYXlDcmVhdGVcIiwgZGF5RWxlbWVudCk7XG4gICAgICAgIHJldHVybiBkYXlFbGVtZW50O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBmb2N1c09uRGF5RWxlbSh0YXJnZXROb2RlKSB7XG4gICAgICAgIHRhcmdldE5vZGUuZm9jdXMoKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikgb25Nb3VzZU92ZXIodGFyZ2V0Tm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGdldEZpcnN0QXZhaWxhYmxlRGF5KGRlbHRhKSB7XG4gICAgICAgIHZhciBzdGFydE1vbnRoID0gZGVsdGEgPiAwID8gMCA6IHNlbGYuY29uZmlnLnNob3dNb250aHMgLSAxO1xuICAgICAgICB2YXIgZW5kTW9udGggPSBkZWx0YSA+IDAgPyBzZWxmLmNvbmZpZy5zaG93TW9udGhzIDogLTE7XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IHN0YXJ0TW9udGg7IG0gIT0gZW5kTW9udGg7IG0gKz0gZGVsdGEpIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBzZWxmLmRheXNDb250YWluZXIuY2hpbGRyZW5bbV07XG4gICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSBkZWx0YSA+IDAgPyAwIDogbW9udGguY2hpbGRyZW4ubGVuZ3RoIC0gMTtcbiAgICAgICAgICB2YXIgZW5kSW5kZXggPSBkZWx0YSA+IDAgPyBtb250aC5jaGlsZHJlbi5sZW5ndGggOiAtMTtcblxuICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydEluZGV4OyBpICE9IGVuZEluZGV4OyBpICs9IGRlbHRhKSB7XG4gICAgICAgICAgICB2YXIgYyA9IG1vbnRoLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGMuY2xhc3NOYW1lLmluZGV4T2YoXCJoaWRkZW5cIikgPT09IC0xICYmIGlzRW5hYmxlZChjLmRhdGVPYmopKSByZXR1cm4gYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBnZXROZXh0QXZhaWxhYmxlRGF5KGN1cnJlbnQsIGRlbHRhKSB7XG4gICAgICAgIHZhciBnaXZlbk1vbnRoID0gY3VycmVudC5jbGFzc05hbWUuaW5kZXhPZihcIk1vbnRoXCIpID09PSAtMSA/IGN1cnJlbnQuZGF0ZU9iai5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50TW9udGg7XG4gICAgICAgIHZhciBlbmRNb250aCA9IGRlbHRhID4gMCA/IHNlbGYuY29uZmlnLnNob3dNb250aHMgOiAtMTtcbiAgICAgICAgdmFyIGxvb3BEZWx0YSA9IGRlbHRhID4gMCA/IDEgOiAtMTtcblxuICAgICAgICBmb3IgKHZhciBtID0gZ2l2ZW5Nb250aCAtIHNlbGYuY3VycmVudE1vbnRoOyBtICE9IGVuZE1vbnRoOyBtICs9IGxvb3BEZWx0YSkge1xuICAgICAgICAgIHZhciBtb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttXTtcbiAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IGdpdmVuTW9udGggLSBzZWxmLmN1cnJlbnRNb250aCA9PT0gbSA/IGN1cnJlbnQuJGkgKyBkZWx0YSA6IGRlbHRhIDwgMCA/IG1vbnRoLmNoaWxkcmVuLmxlbmd0aCAtIDEgOiAwO1xuICAgICAgICAgIHZhciBudW1Nb250aERheXMgPSBtb250aC5jaGlsZHJlbi5sZW5ndGg7XG5cbiAgICAgICAgICBmb3IgKHZhciBpID0gc3RhcnRJbmRleDsgaSA+PSAwICYmIGkgPCBudW1Nb250aERheXMgJiYgaSAhPSAoZGVsdGEgPiAwID8gbnVtTW9udGhEYXlzIDogLTEpOyBpICs9IGxvb3BEZWx0YSkge1xuICAgICAgICAgICAgdmFyIGMgPSBtb250aC5jaGlsZHJlbltpXTtcbiAgICAgICAgICAgIGlmIChjLmNsYXNzTmFtZS5pbmRleE9mKFwiaGlkZGVuXCIpID09PSAtMSAmJiBpc0VuYWJsZWQoYy5kYXRlT2JqKSAmJiBNYXRoLmFicyhjdXJyZW50LiRpIC0gaSkgPj0gTWF0aC5hYnMoZGVsdGEpKSByZXR1cm4gZm9jdXNPbkRheUVsZW0oYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5jaGFuZ2VNb250aChsb29wRGVsdGEpO1xuICAgICAgICBmb2N1c09uRGF5KGdldEZpcnN0QXZhaWxhYmxlRGF5KGxvb3BEZWx0YSksIDApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBmb2N1c09uRGF5KGN1cnJlbnQsIG9mZnNldCkge1xuICAgICAgICB2YXIgZGF5Rm9jdXNlZCA9IGlzSW5WaWV3KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICAgICAgICB2YXIgc3RhcnRFbGVtID0gY3VycmVudCAhPT0gdW5kZWZpbmVkID8gY3VycmVudCA6IGRheUZvY3VzZWQgPyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IDogc2VsZi5zZWxlY3RlZERhdGVFbGVtICE9PSB1bmRlZmluZWQgJiYgaXNJblZpZXcoc2VsZi5zZWxlY3RlZERhdGVFbGVtKSA/IHNlbGYuc2VsZWN0ZWREYXRlRWxlbSA6IHNlbGYudG9kYXlEYXRlRWxlbSAhPT0gdW5kZWZpbmVkICYmIGlzSW5WaWV3KHNlbGYudG9kYXlEYXRlRWxlbSkgPyBzZWxmLnRvZGF5RGF0ZUVsZW0gOiBnZXRGaXJzdEF2YWlsYWJsZURheShvZmZzZXQgPiAwID8gMSA6IC0xKTtcbiAgICAgICAgaWYgKHN0YXJ0RWxlbSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gc2VsZi5faW5wdXQuZm9jdXMoKTtcbiAgICAgICAgaWYgKCFkYXlGb2N1c2VkKSByZXR1cm4gZm9jdXNPbkRheUVsZW0oc3RhcnRFbGVtKTtcbiAgICAgICAgZ2V0TmV4dEF2YWlsYWJsZURheShzdGFydEVsZW0sIG9mZnNldCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGhEYXlzKHllYXIsIG1vbnRoKSB7XG4gICAgICAgIHZhciBmaXJzdE9mTW9udGggPSAobmV3IERhdGUoeWVhciwgbW9udGgsIDEpLmdldERheSgpIC0gc2VsZi5sMTBuLmZpcnN0RGF5T2ZXZWVrICsgNykgJSA3O1xuICAgICAgICB2YXIgcHJldk1vbnRoRGF5cyA9IHNlbGYudXRpbHMuZ2V0RGF5c0luTW9udGgoKG1vbnRoIC0gMSArIDEyKSAlIDEyKTtcbiAgICAgICAgdmFyIGRheXNJbk1vbnRoID0gc2VsZi51dGlscy5nZXREYXlzSW5Nb250aChtb250aCksXG4gICAgICAgICAgICBkYXlzID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxcbiAgICAgICAgICAgIGlzTXVsdGlNb250aCA9IHNlbGYuY29uZmlnLnNob3dNb250aHMgPiAxLFxuICAgICAgICAgICAgcHJldk1vbnRoRGF5Q2xhc3MgPSBpc011bHRpTW9udGggPyBcInByZXZNb250aERheSBoaWRkZW5cIiA6IFwicHJldk1vbnRoRGF5XCIsXG4gICAgICAgICAgICBuZXh0TW9udGhEYXlDbGFzcyA9IGlzTXVsdGlNb250aCA/IFwibmV4dE1vbnRoRGF5IGhpZGRlblwiIDogXCJuZXh0TW9udGhEYXlcIjtcbiAgICAgICAgdmFyIGRheU51bWJlciA9IHByZXZNb250aERheXMgKyAxIC0gZmlyc3RPZk1vbnRoLFxuICAgICAgICAgICAgZGF5SW5kZXggPSAwO1xuXG4gICAgICAgIGZvciAoOyBkYXlOdW1iZXIgPD0gcHJldk1vbnRoRGF5czsgZGF5TnVtYmVyKyssIGRheUluZGV4KyspIHtcbiAgICAgICAgICBkYXlzLmFwcGVuZENoaWxkKGNyZWF0ZURheShwcmV2TW9udGhEYXlDbGFzcywgbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXlOdW1iZXIpLCBkYXlOdW1iZXIsIGRheUluZGV4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGRheU51bWJlciA9IDE7IGRheU51bWJlciA8PSBkYXlzSW5Nb250aDsgZGF5TnVtYmVyKyssIGRheUluZGV4KyspIHtcbiAgICAgICAgICBkYXlzLmFwcGVuZENoaWxkKGNyZWF0ZURheShcIlwiLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5TnVtYmVyKSwgZGF5TnVtYmVyLCBkYXlJbmRleCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgZGF5TnVtID0gZGF5c0luTW9udGggKyAxOyBkYXlOdW0gPD0gNDIgLSBmaXJzdE9mTW9udGggJiYgKHNlbGYuY29uZmlnLnNob3dNb250aHMgPT09IDEgfHwgZGF5SW5kZXggJSA3ICE9PSAwKTsgZGF5TnVtKyssIGRheUluZGV4KyspIHtcbiAgICAgICAgICBkYXlzLmFwcGVuZENoaWxkKGNyZWF0ZURheShuZXh0TW9udGhEYXlDbGFzcywgbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCBkYXlOdW0gJSBkYXlzSW5Nb250aCksIGRheU51bSwgZGF5SW5kZXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYXlDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZGF5Q29udGFpbmVyXCIpO1xuICAgICAgICBkYXlDb250YWluZXIuYXBwZW5kQ2hpbGQoZGF5cyk7XG4gICAgICAgIHJldHVybiBkYXlDb250YWluZXI7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkRGF5cygpIHtcbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY2xlYXJOb2RlKHNlbGYuZGF5c0NvbnRhaW5lcik7XG4gICAgICAgIGlmIChzZWxmLndlZWtOdW1iZXJzKSBjbGVhck5vZGUoc2VsZi53ZWVrTnVtYmVycyk7XG4gICAgICAgIHZhciBmcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZi5jb25maWcuc2hvd01vbnRoczsgaSsrKSB7XG4gICAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShzZWxmLmN1cnJlbnRZZWFyLCBzZWxmLmN1cnJlbnRNb250aCwgMSk7XG4gICAgICAgICAgZC5zZXRNb250aChzZWxmLmN1cnJlbnRNb250aCArIGkpO1xuICAgICAgICAgIGZyYWcuYXBwZW5kQ2hpbGQoYnVpbGRNb250aERheXMoZC5nZXRGdWxsWWVhcigpLCBkLmdldE1vbnRoKCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnKTtcbiAgICAgICAgc2VsZi5kYXlzID0gc2VsZi5kYXlzQ29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGgoKSB7XG4gICAgICAgIHZhciBjb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLW1vbnRoXCIpO1xuICAgICAgICB2YXIgbW9udGhOYXZGcmFnbWVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgIHZhciBtb250aEVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImN1ci1tb250aFwiKTtcbiAgICAgICAgbW9udGhFbGVtZW50LnRpdGxlID0gc2VsZi5sMTBuLnNjcm9sbFRpdGxlO1xuICAgICAgICB2YXIgeWVhcklucHV0ID0gY3JlYXRlTnVtYmVySW5wdXQoXCJjdXIteWVhclwiLCB7XG4gICAgICAgICAgdGFiaW5kZXg6IFwiLTFcIlxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHllYXJFbGVtZW50ID0geWVhcklucHV0LmNoaWxkTm9kZXNbMF07XG4gICAgICAgIHllYXJFbGVtZW50LnRpdGxlID0gc2VsZi5sMTBuLnNjcm9sbFRpdGxlO1xuICAgICAgICB5ZWFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIHNlbGYubDEwbi55ZWFyQXJpYUxhYmVsKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUpIHllYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWluXCIsIHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpKTtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcubWF4RGF0ZSkge1xuICAgICAgICAgIHllYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIsIHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpKTtcbiAgICAgICAgICB5ZWFyRWxlbWVudC5kaXNhYmxlZCA9ICEhc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkgPT09IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBjdXJyZW50TW9udGggPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLWN1cnJlbnQtbW9udGhcIik7XG4gICAgICAgIGN1cnJlbnRNb250aC5hcHBlbmRDaGlsZChtb250aEVsZW1lbnQpO1xuICAgICAgICBjdXJyZW50TW9udGguYXBwZW5kQ2hpbGQoeWVhcklucHV0KTtcbiAgICAgICAgbW9udGhOYXZGcmFnbWVudC5hcHBlbmRDaGlsZChjdXJyZW50TW9udGgpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobW9udGhOYXZGcmFnbWVudCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGFpbmVyOiBjb250YWluZXIsXG4gICAgICAgICAgeWVhckVsZW1lbnQ6IHllYXJFbGVtZW50LFxuICAgICAgICAgIG1vbnRoRWxlbWVudDogbW9udGhFbGVtZW50XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGhzKCkge1xuICAgICAgICBjbGVhck5vZGUoc2VsZi5tb250aE5hdik7XG4gICAgICAgIHNlbGYubW9udGhOYXYuYXBwZW5kQ2hpbGQoc2VsZi5wcmV2TW9udGhOYXYpO1xuXG4gICAgICAgIGZvciAodmFyIG0gPSBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBtLS07KSB7XG4gICAgICAgICAgdmFyIG1vbnRoID0gYnVpbGRNb250aCgpO1xuICAgICAgICAgIHNlbGYueWVhckVsZW1lbnRzLnB1c2gobW9udGgueWVhckVsZW1lbnQpO1xuICAgICAgICAgIHNlbGYubW9udGhFbGVtZW50cy5wdXNoKG1vbnRoLm1vbnRoRWxlbWVudCk7XG4gICAgICAgICAgc2VsZi5tb250aE5hdi5hcHBlbmRDaGlsZChtb250aC5jb250YWluZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5tb250aE5hdi5hcHBlbmRDaGlsZChzZWxmLm5leHRNb250aE5hdik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGhOYXYoKSB7XG4gICAgICAgIHNlbGYubW9udGhOYXYgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLW1vbnRoc1wiKTtcbiAgICAgICAgc2VsZi55ZWFyRWxlbWVudHMgPSBbXTtcbiAgICAgICAgc2VsZi5tb250aEVsZW1lbnRzID0gW107XG4gICAgICAgIHNlbGYucHJldk1vbnRoTmF2ID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3ItcHJldi1tb250aFwiKTtcbiAgICAgICAgc2VsZi5wcmV2TW9udGhOYXYuaW5uZXJIVE1MID0gc2VsZi5jb25maWcucHJldkFycm93O1xuICAgICAgICBzZWxmLm5leHRNb250aE5hdiA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLW5leHQtbW9udGhcIik7XG4gICAgICAgIHNlbGYubmV4dE1vbnRoTmF2LmlubmVySFRNTCA9IHNlbGYuY29uZmlnLm5leHRBcnJvdztcbiAgICAgICAgYnVpbGRNb250aHMoKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYsIFwiX2hpZGVQcmV2TW9udGhBcnJvd1wiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fX2hpZGVQcmV2TW9udGhBcnJvdztcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGJvb2wpIHtcbiAgICAgICAgICAgIGlmIChzZWxmLl9faGlkZVByZXZNb250aEFycm93ICE9PSBib29sKSB7XG4gICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYucHJldk1vbnRoTmF2LCBcImRpc2FibGVkXCIsIGJvb2wpO1xuICAgICAgICAgICAgICBzZWxmLl9faGlkZVByZXZNb250aEFycm93ID0gYm9vbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZiwgXCJfaGlkZU5leHRNb250aEFycm93XCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLl9faGlkZU5leHRNb250aEFycm93O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXQoYm9vbCkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX19oaWRlTmV4dE1vbnRoQXJyb3cgIT09IGJvb2wpIHtcbiAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5uZXh0TW9udGhOYXYsIFwiZGlzYWJsZWRcIiwgYm9vbCk7XG4gICAgICAgICAgICAgIHNlbGYuX19oaWRlTmV4dE1vbnRoQXJyb3cgPSBib29sO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGYuY3VycmVudFllYXJFbGVtZW50ID0gc2VsZi55ZWFyRWxlbWVudHNbMF07XG4gICAgICAgIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKTtcbiAgICAgICAgcmV0dXJuIHNlbGYubW9udGhOYXY7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkVGltZSgpIHtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwiaGFzVGltZVwiKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIpIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcIm5vQ2FsZW5kYXJcIik7XG4gICAgICAgIHNlbGYudGltZUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItdGltZVwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHZhciBzZXBhcmF0b3IgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci10aW1lLXNlcGFyYXRvclwiLCBcIjpcIik7XG4gICAgICAgIHZhciBob3VySW5wdXQgPSBjcmVhdGVOdW1iZXJJbnB1dChcImZsYXRwaWNrci1ob3VyXCIpO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50ID0gaG91cklucHV0LmNoaWxkTm9kZXNbMF07XG4gICAgICAgIHZhciBtaW51dGVJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLW1pbnV0ZVwiKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50ID0gbWludXRlSW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC50YWJJbmRleCA9IHNlbGYubWludXRlRWxlbWVudC50YWJJbmRleCA9IC0xO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnZhbHVlID0gcGFkKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID8gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmouZ2V0SG91cnMoKSA6IHNlbGYuY29uZmlnLnRpbWVfMjRociA/IHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyIDogbWlsaXRhcnkyYW1wbShzZWxmLmNvbmZpZy5kZWZhdWx0SG91cikpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQudmFsdWUgPSBwYWQoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRNaW51dGVzKCkgOiBzZWxmLmNvbmZpZy5kZWZhdWx0TWludXRlKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLXN0ZXBcIiwgc2VsZi5jb25maWcuaG91ckluY3JlbWVudC50b1N0cmluZygpKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiLCBzZWxmLmNvbmZpZy5taW51dGVJbmNyZW1lbnQudG9TdHJpbmcoKSk7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgc2VsZi5jb25maWcudGltZV8yNGhyID8gXCIwXCIgOiBcIjFcIik7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgc2VsZi5jb25maWcudGltZV8yNGhyID8gXCIyM1wiIDogXCIxMlwiKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWluXCIsIFwiMFwiKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIsIFwiNTlcIik7XG4gICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChob3VySW5wdXQpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VwYXJhdG9yKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKG1pbnV0ZUlucHV0KTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLnRpbWVfMjRocikgc2VsZi50aW1lQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ0aW1lMjRoclwiKTtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuZW5hYmxlU2Vjb25kcykge1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwiaGFzU2Vjb25kc1wiKTtcbiAgICAgICAgICB2YXIgc2Vjb25kSW5wdXQgPSBjcmVhdGVOdW1iZXJJbnB1dChcImZsYXRwaWNrci1zZWNvbmRcIik7XG4gICAgICAgICAgc2VsZi5zZWNvbmRFbGVtZW50ID0gc2Vjb25kSW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUgPSBwYWQoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRTZWNvbmRzKCkgOiBzZWxmLmNvbmZpZy5kZWZhdWx0U2Vjb25kcyk7XG4gICAgICAgICAgc2VsZi5zZWNvbmRFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIpKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgc2VsZi5taW51dGVFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtbWluXCIpKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgc2VsZi5taW51dGVFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIpKTtcbiAgICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3ItdGltZS1zZXBhcmF0b3JcIiwgXCI6XCIpKTtcbiAgICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoc2Vjb25kSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy50aW1lXzI0aHIpIHtcbiAgICAgICAgICBzZWxmLmFtUE0gPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci1hbS1wbVwiLCBzZWxmLmwxMG4uYW1QTVtpbnQoKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID8gc2VsZi5ob3VyRWxlbWVudC52YWx1ZSA6IHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyKSA+IDExKV0pO1xuICAgICAgICAgIHNlbGYuYW1QTS50aXRsZSA9IHNlbGYubDEwbi50b2dnbGVUaXRsZTtcbiAgICAgICAgICBzZWxmLmFtUE0udGFiSW5kZXggPSAtMTtcbiAgICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VsZi5hbVBNKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWxmLnRpbWVDb250YWluZXI7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkV2Vla2RheXMoKSB7XG4gICAgICAgIGlmICghc2VsZi53ZWVrZGF5Q29udGFpbmVyKSBzZWxmLndlZWtkYXlDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWtkYXlzXCIpO2Vsc2UgY2xlYXJOb2RlKHNlbGYud2Vla2RheUNvbnRhaW5lcik7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHNlbGYuY29uZmlnLnNob3dNb250aHM7IGktLTspIHtcbiAgICAgICAgICB2YXIgY29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyXCIpO1xuICAgICAgICAgIHNlbGYud2Vla2RheUNvbnRhaW5lci5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlV2Vla2RheXMoKTtcbiAgICAgICAgcmV0dXJuIHNlbGYud2Vla2RheUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlV2Vla2RheXMoKSB7XG4gICAgICAgIHZhciBmaXJzdERheU9mV2VlayA9IHNlbGYubDEwbi5maXJzdERheU9mV2VlaztcbiAgICAgICAgdmFyIHdlZWtkYXlzID0gc2VsZi5sMTBuLndlZWtkYXlzLnNob3J0aGFuZC5jb25jYXQoKTtcblxuICAgICAgICBpZiAoZmlyc3REYXlPZldlZWsgPiAwICYmIGZpcnN0RGF5T2ZXZWVrIDwgd2Vla2RheXMubGVuZ3RoKSB7XG4gICAgICAgICAgd2Vla2RheXMgPSB3ZWVrZGF5cy5zcGxpY2UoZmlyc3REYXlPZldlZWssIHdlZWtkYXlzLmxlbmd0aCkuY29uY2F0KHdlZWtkYXlzLnNwbGljZSgwLCBmaXJzdERheU9mV2VlaykpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHNlbGYuY29uZmlnLnNob3dNb250aHM7IGktLTspIHtcbiAgICAgICAgICBzZWxmLndlZWtkYXlDb250YWluZXIuY2hpbGRyZW5baV0uaW5uZXJIVE1MID0gXCJcXG4gICAgICA8c3BhbiBjbGFzcz1mbGF0cGlja3Itd2Vla2RheT5cXG4gICAgICAgIFwiICsgd2Vla2RheXMuam9pbihcIjwvc3Bhbj48c3BhbiBjbGFzcz1mbGF0cGlja3Itd2Vla2RheT5cIikgKyBcIlxcbiAgICAgIDwvc3Bhbj5cXG4gICAgICBcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBidWlsZFdlZWtzKCkge1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNXZWVrc1wiKTtcbiAgICAgICAgdmFyIHdlZWtXcmFwcGVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci13ZWVrd3JhcHBlclwiKTtcbiAgICAgICAgd2Vla1dyYXBwZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3Itd2Vla2RheVwiLCBzZWxmLmwxMG4ud2Vla0FiYnJldmlhdGlvbikpO1xuICAgICAgICB2YXIgd2Vla051bWJlcnMgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWtzXCIpO1xuICAgICAgICB3ZWVrV3JhcHBlci5hcHBlbmRDaGlsZCh3ZWVrTnVtYmVycyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgd2Vla1dyYXBwZXI6IHdlZWtXcmFwcGVyLFxuICAgICAgICAgIHdlZWtOdW1iZXJzOiB3ZWVrTnVtYmVyc1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjaGFuZ2VNb250aCh2YWx1ZSwgaXNfb2Zmc2V0KSB7XG4gICAgICAgIGlmIChpc19vZmZzZXQgPT09IHZvaWQgMCkge1xuICAgICAgICAgIGlzX29mZnNldCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGVsdGEgPSBpc19vZmZzZXQgPyB2YWx1ZSA6IHZhbHVlIC0gc2VsZi5jdXJyZW50TW9udGg7XG4gICAgICAgIGlmIChkZWx0YSA8IDAgJiYgc2VsZi5faGlkZVByZXZNb250aEFycm93ID09PSB0cnVlIHx8IGRlbHRhID4gMCAmJiBzZWxmLl9oaWRlTmV4dE1vbnRoQXJyb3cgPT09IHRydWUpIHJldHVybjtcbiAgICAgICAgc2VsZi5jdXJyZW50TW9udGggKz0gZGVsdGE7XG5cbiAgICAgICAgaWYgKHNlbGYuY3VycmVudE1vbnRoIDwgMCB8fCBzZWxmLmN1cnJlbnRNb250aCA+IDExKSB7XG4gICAgICAgICAgc2VsZi5jdXJyZW50WWVhciArPSBzZWxmLmN1cnJlbnRNb250aCA+IDExID8gMSA6IC0xO1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gKHNlbGYuY3VycmVudE1vbnRoICsgMTIpICUgMTI7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnVpbGREYXlzKCk7XG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uTW9udGhDaGFuZ2VcIik7XG4gICAgICAgIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2xlYXIodHJpZ2dlckNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlRXZlbnQgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2VFdmVudCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmlucHV0LnZhbHVlID0gXCJcIjtcbiAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQgIT09IHVuZGVmaW5lZCkgc2VsZi5hbHRJbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0ICE9PSB1bmRlZmluZWQpIHNlbGYubW9iaWxlSW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMgPSBbXTtcbiAgICAgICAgc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPSB1bmRlZmluZWQ7XG4gICAgICAgIHNlbGYuc2hvd1RpbWVJbnB1dCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lID09PSB0cnVlKSB7XG4gICAgICAgICAgc2V0RGVmYXVsdEhvdXJzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICBpZiAodHJpZ2dlckNoYW5nZUV2ZW50KSB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2xvc2UoKSB7XG4gICAgICAgIHNlbGYuaXNPcGVuID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKCFzZWxmLmlzTW9iaWxlKSB7XG4gICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKFwib3BlblwiKTtcblxuICAgICAgICAgIHNlbGYuX2lucHV0LmNsYXNzTGlzdC5yZW1vdmUoXCJhY3RpdmVcIik7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNsb3NlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcgIT09IHVuZGVmaW5lZCkgdHJpZ2dlckV2ZW50KFwib25EZXN0cm95XCIpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSBzZWxmLl9oYW5kbGVycy5sZW5ndGg7IGktLTspIHtcbiAgICAgICAgICB2YXIgaCA9IHNlbGYuX2hhbmRsZXJzW2ldO1xuICAgICAgICAgIGguZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGguZXZlbnQsIGguaGFuZGxlciwgaC5vcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuX2hhbmRsZXJzID0gW107XG5cbiAgICAgICAgaWYgKHNlbGYubW9iaWxlSW5wdXQpIHtcbiAgICAgICAgICBpZiAoc2VsZi5tb2JpbGVJbnB1dC5wYXJlbnROb2RlKSBzZWxmLm1vYmlsZUlucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5tb2JpbGVJbnB1dCk7XG4gICAgICAgICAgc2VsZi5tb2JpbGVJbnB1dCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIGlmIChzZWxmLmNhbGVuZGFyQ29udGFpbmVyICYmIHNlbGYuY2FsZW5kYXJDb250YWluZXIucGFyZW50Tm9kZSkgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlbGYuY2FsZW5kYXJDb250YWluZXIpO1xuXG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0KSB7XG4gICAgICAgICAgc2VsZi5pbnB1dC50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQucGFyZW50Tm9kZSkgc2VsZi5hbHRJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlbGYuYWx0SW5wdXQpO1xuICAgICAgICAgIGRlbGV0ZSBzZWxmLmFsdElucHV0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuaW5wdXQpIHtcbiAgICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBzZWxmLmlucHV0Ll90eXBlO1xuICAgICAgICAgIHNlbGYuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZShcImZsYXRwaWNrci1pbnB1dFwiKTtcbiAgICAgICAgICBzZWxmLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcInJlYWRvbmx5XCIpO1xuICAgICAgICAgIHNlbGYuaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgW1wiX3Nob3dUaW1lSW5wdXRcIiwgXCJsYXRlc3RTZWxlY3RlZERhdGVPYmpcIiwgXCJfaGlkZU5leHRNb250aEFycm93XCIsIFwiX2hpZGVQcmV2TW9udGhBcnJvd1wiLCBcIl9faGlkZU5leHRNb250aEFycm93XCIsIFwiX19oaWRlUHJldk1vbnRoQXJyb3dcIiwgXCJpc01vYmlsZVwiLCBcImlzT3BlblwiLCBcInNlbGVjdGVkRGF0ZUVsZW1cIiwgXCJtaW5EYXRlSGFzVGltZVwiLCBcIm1heERhdGVIYXNUaW1lXCIsIFwiZGF5c1wiLCBcImRheXNDb250YWluZXJcIiwgXCJfaW5wdXRcIiwgXCJfcG9zaXRpb25FbGVtZW50XCIsIFwiaW5uZXJDb250YWluZXJcIiwgXCJyQ29udGFpbmVyXCIsIFwibW9udGhOYXZcIiwgXCJ0b2RheURhdGVFbGVtXCIsIFwiY2FsZW5kYXJDb250YWluZXJcIiwgXCJ3ZWVrZGF5Q29udGFpbmVyXCIsIFwicHJldk1vbnRoTmF2XCIsIFwibmV4dE1vbnRoTmF2XCIsIFwiY3VycmVudE1vbnRoRWxlbWVudFwiLCBcImN1cnJlbnRZZWFyRWxlbWVudFwiLCBcIm5hdmlnYXRpb25DdXJyZW50TW9udGhcIiwgXCJzZWxlY3RlZERhdGVFbGVtXCIsIFwiY29uZmlnXCJdLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgZGVsZXRlIHNlbGZba107XG4gICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzQ2FsZW5kYXJFbGVtKGVsZW0pIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmFwcGVuZFRvICYmIHNlbGYuY29uZmlnLmFwcGVuZFRvLmNvbnRhaW5zKGVsZW0pKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY29udGFpbnMoZWxlbSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRvY3VtZW50Q2xpY2soZSkge1xuICAgICAgICBpZiAoc2VsZi5pc09wZW4gJiYgIXNlbGYuY29uZmlnLmlubGluZSkge1xuICAgICAgICAgIHZhciBpc0NhbGVuZGFyRWxlbWVudCA9IGlzQ2FsZW5kYXJFbGVtKGUudGFyZ2V0KTtcbiAgICAgICAgICB2YXIgaXNJbnB1dCA9IGUudGFyZ2V0ID09PSBzZWxmLmlucHV0IHx8IGUudGFyZ2V0ID09PSBzZWxmLmFsdElucHV0IHx8IHNlbGYuZWxlbWVudC5jb250YWlucyhlLnRhcmdldCkgfHwgZS5wYXRoICYmIGUucGF0aC5pbmRleE9mICYmICh+ZS5wYXRoLmluZGV4T2Yoc2VsZi5pbnB1dCkgfHwgfmUucGF0aC5pbmRleE9mKHNlbGYuYWx0SW5wdXQpKTtcbiAgICAgICAgICB2YXIgbG9zdEZvY3VzID0gZS50eXBlID09PSBcImJsdXJcIiA/IGlzSW5wdXQgJiYgZS5yZWxhdGVkVGFyZ2V0ICYmICFpc0NhbGVuZGFyRWxlbShlLnJlbGF0ZWRUYXJnZXQpIDogIWlzSW5wdXQgJiYgIWlzQ2FsZW5kYXJFbGVtZW50O1xuICAgICAgICAgIHZhciBpc0lnbm9yZWQgPSAhc2VsZi5jb25maWcuaWdub3JlZEZvY3VzRWxlbWVudHMuc29tZShmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW0uY29udGFpbnMoZS50YXJnZXQpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKGxvc3RGb2N1cyAmJiBpc0lnbm9yZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY2xvc2UoKTtcblxuICAgICAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIiAmJiBzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgIHNlbGYuY2xlYXIoZmFsc2UpO1xuICAgICAgICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjaGFuZ2VZZWFyKG5ld1llYXIpIHtcbiAgICAgICAgaWYgKCFuZXdZZWFyIHx8IHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgbmV3WWVhciA8IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSB8fCBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIG5ld1llYXIgPiBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEZ1bGxZZWFyKCkpIHJldHVybjtcbiAgICAgICAgdmFyIG5ld1llYXJOdW0gPSBuZXdZZWFyLFxuICAgICAgICAgICAgaXNOZXdZZWFyID0gc2VsZi5jdXJyZW50WWVhciAhPT0gbmV3WWVhck51bTtcbiAgICAgICAgc2VsZi5jdXJyZW50WWVhciA9IG5ld1llYXJOdW0gfHwgc2VsZi5jdXJyZW50WWVhcjtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLmN1cnJlbnRZZWFyID09PSBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEZ1bGxZZWFyKCkpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IE1hdGgubWluKHNlbGYuY29uZmlnLm1heERhdGUuZ2V0TW9udGgoKSwgc2VsZi5jdXJyZW50TW9udGgpO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpKSB7XG4gICAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSBNYXRoLm1heChzZWxmLmNvbmZpZy5taW5EYXRlLmdldE1vbnRoKCksIHNlbGYuY3VycmVudE1vbnRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05ld1llYXIpIHtcbiAgICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uWWVhckNoYW5nZVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpc0VuYWJsZWQoZGF0ZSwgdGltZWxlc3MpIHtcbiAgICAgICAgaWYgKHRpbWVsZXNzID09PSB2b2lkIDApIHtcbiAgICAgICAgICB0aW1lbGVzcyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGF0ZVRvQ2hlY2sgPSBzZWxmLnBhcnNlRGF0ZShkYXRlLCB1bmRlZmluZWQsIHRpbWVsZXNzKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgZGF0ZVRvQ2hlY2sgJiYgY29tcGFyZURhdGVzKGRhdGVUb0NoZWNrLCBzZWxmLmNvbmZpZy5taW5EYXRlLCB0aW1lbGVzcyAhPT0gdW5kZWZpbmVkID8gdGltZWxlc3MgOiAhc2VsZi5taW5EYXRlSGFzVGltZSkgPCAwIHx8IHNlbGYuY29uZmlnLm1heERhdGUgJiYgZGF0ZVRvQ2hlY2sgJiYgY29tcGFyZURhdGVzKGRhdGVUb0NoZWNrLCBzZWxmLmNvbmZpZy5tYXhEYXRlLCB0aW1lbGVzcyAhPT0gdW5kZWZpbmVkID8gdGltZWxlc3MgOiAhc2VsZi5tYXhEYXRlSGFzVGltZSkgPiAwKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGUubGVuZ3RoID09PSAwICYmIHNlbGYuY29uZmlnLmRpc2FibGUubGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgaWYgKGRhdGVUb0NoZWNrID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgdmFyIGJvb2wgPSBzZWxmLmNvbmZpZy5lbmFibGUubGVuZ3RoID4gMCxcbiAgICAgICAgICAgIGFycmF5ID0gYm9vbCA/IHNlbGYuY29uZmlnLmVuYWJsZSA6IHNlbGYuY29uZmlnLmRpc2FibGU7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGQ7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGQgPSBhcnJheVtpXTtcbiAgICAgICAgICBpZiAodHlwZW9mIGQgPT09IFwiZnVuY3Rpb25cIiAmJiBkKGRhdGVUb0NoZWNrKSkgcmV0dXJuIGJvb2w7ZWxzZSBpZiAoZCBpbnN0YW5jZW9mIERhdGUgJiYgZGF0ZVRvQ2hlY2sgIT09IHVuZGVmaW5lZCAmJiBkLmdldFRpbWUoKSA9PT0gZGF0ZVRvQ2hlY2suZ2V0VGltZSgpKSByZXR1cm4gYm9vbDtlbHNlIGlmICh0eXBlb2YgZCA9PT0gXCJzdHJpbmdcIiAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2YXIgcGFyc2VkID0gc2VsZi5wYXJzZURhdGUoZCwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZWQgJiYgcGFyc2VkLmdldFRpbWUoKSA9PT0gZGF0ZVRvQ2hlY2suZ2V0VGltZSgpID8gYm9vbCA6ICFib29sO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGQgPT09IFwib2JqZWN0XCIgJiYgZGF0ZVRvQ2hlY2sgIT09IHVuZGVmaW5lZCAmJiBkLmZyb20gJiYgZC50byAmJiBkYXRlVG9DaGVjay5nZXRUaW1lKCkgPj0gZC5mcm9tLmdldFRpbWUoKSAmJiBkYXRlVG9DaGVjay5nZXRUaW1lKCkgPD0gZC50by5nZXRUaW1lKCkpIHJldHVybiBib29sO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICFib29sO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpc0luVmlldyhlbGVtKSB7XG4gICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGVsZW0uY2xhc3NOYW1lLmluZGV4T2YoXCJoaWRkZW5cIikgPT09IC0xICYmIHNlbGYuZGF5c0NvbnRhaW5lci5jb250YWlucyhlbGVtKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbktleURvd24oZSkge1xuICAgICAgICB2YXIgaXNJbnB1dCA9IGUudGFyZ2V0ID09PSBzZWxmLl9pbnB1dDtcbiAgICAgICAgdmFyIGFsbG93SW5wdXQgPSBzZWxmLmNvbmZpZy5hbGxvd0lucHV0O1xuICAgICAgICB2YXIgYWxsb3dLZXlkb3duID0gc2VsZi5pc09wZW4gJiYgKCFhbGxvd0lucHV0IHx8ICFpc0lucHV0KTtcbiAgICAgICAgdmFyIGFsbG93SW5saW5lS2V5ZG93biA9IHNlbGYuY29uZmlnLmlubGluZSAmJiBpc0lucHV0ICYmICFhbGxvd0lucHV0O1xuXG4gICAgICAgIGlmIChlLmtleUNvZGUgPT09IDEzICYmIGlzSW5wdXQpIHtcbiAgICAgICAgICBpZiAoYWxsb3dJbnB1dCkge1xuICAgICAgICAgICAgc2VsZi5zZXREYXRlKHNlbGYuX2lucHV0LnZhbHVlLCB0cnVlLCBlLnRhcmdldCA9PT0gc2VsZi5hbHRJbnB1dCA/IHNlbGYuY29uZmlnLmFsdEZvcm1hdCA6IHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICAgICAgcmV0dXJuIGUudGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgICB9IGVsc2Ugc2VsZi5vcGVuKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNDYWxlbmRhckVsZW0oZS50YXJnZXQpIHx8IGFsbG93S2V5ZG93biB8fCBhbGxvd0lubGluZUtleWRvd24pIHtcbiAgICAgICAgICB2YXIgaXNUaW1lT2JqID0gISFzZWxmLnRpbWVDb250YWluZXIgJiYgc2VsZi50aW1lQ29udGFpbmVyLmNvbnRhaW5zKGUudGFyZ2V0KTtcblxuICAgICAgICAgIHN3aXRjaCAoZS5rZXlDb2RlKSB7XG4gICAgICAgICAgICBjYXNlIDEzOlxuICAgICAgICAgICAgICBpZiAoaXNUaW1lT2JqKSB1cGRhdGVUaW1lKCk7ZWxzZSBzZWxlY3REYXRlKGUpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAyNzpcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBmb2N1c0FuZENsb3NlKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDg6XG4gICAgICAgICAgICBjYXNlIDQ2OlxuICAgICAgICAgICAgICBpZiAoaXNJbnB1dCAmJiAhc2VsZi5jb25maWcuYWxsb3dJbnB1dCkge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBzZWxmLmNsZWFyKCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAzNzpcbiAgICAgICAgICAgIGNhc2UgMzk6XG4gICAgICAgICAgICAgIGlmICghaXNUaW1lT2JqKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkICYmIChhbGxvd0lucHV0ID09PSBmYWxzZSB8fCBpc0luVmlldyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpIHtcbiAgICAgICAgICAgICAgICAgIHZhciBfZGVsdGEgPSBlLmtleUNvZGUgPT09IDM5ID8gMSA6IC0xO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSkgZm9jdXNPbkRheSh1bmRlZmluZWQsIF9kZWx0YSk7ZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZU1vbnRoKF9kZWx0YSk7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzT25EYXkoZ2V0Rmlyc3RBdmFpbGFibGVEYXkoMSksIDApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxmLmhvdXJFbGVtZW50KSBzZWxmLmhvdXJFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMzg6XG4gICAgICAgICAgICBjYXNlIDQwOlxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHZhciBkZWx0YSA9IGUua2V5Q29kZSA9PT0gNDAgPyAxIDogLTE7XG5cbiAgICAgICAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIGlmIChlLmN0cmxLZXkpIHtcbiAgICAgICAgICAgICAgICAgIGNoYW5nZVllYXIoc2VsZi5jdXJyZW50WWVhciAtIGRlbHRhKTtcbiAgICAgICAgICAgICAgICAgIGZvY3VzT25EYXkoZ2V0Rmlyc3RBdmFpbGFibGVEYXkoMSksIDApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzVGltZU9iaikgZm9jdXNPbkRheSh1bmRlZmluZWQsIGRlbHRhICogNyk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcuZW5hYmxlVGltZSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNUaW1lT2JqICYmIHNlbGYuaG91ckVsZW1lbnQpIHNlbGYuaG91ckVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB1cGRhdGVUaW1lKGUpO1xuXG4gICAgICAgICAgICAgICAgc2VsZi5fZGVib3VuY2VkQ2hhbmdlKCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA5OlxuICAgICAgICAgICAgICBpZiAoIWlzVGltZU9iaikgYnJlYWs7XG4gICAgICAgICAgICAgIHZhciBlbGVtcyA9IFtzZWxmLmhvdXJFbGVtZW50LCBzZWxmLm1pbnV0ZUVsZW1lbnQsIHNlbGYuc2Vjb25kRWxlbWVudCwgc2VsZi5hbVBNXS5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHZhciBpID0gZWxlbXMuaW5kZXhPZihlLnRhcmdldCk7XG5cbiAgICAgICAgICAgICAgaWYgKGkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9IGVsZW1zW2kgKyAoZS5zaGlmdEtleSA/IC0xIDogMSldO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ID09PSBzZWxmLmFtUE0pIHtcbiAgICAgICAgICBzd2l0Y2ggKGUua2V5KSB7XG4gICAgICAgICAgICBjYXNlIHNlbGYubDEwbi5hbVBNWzBdLmNoYXJBdCgwKTpcbiAgICAgICAgICAgIGNhc2Ugc2VsZi5sMTBuLmFtUE1bMF0uY2hhckF0KDApLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgICAgICAgIHNlbGYuYW1QTS50ZXh0Q29udGVudCA9IHNlbGYubDEwbi5hbVBNWzBdO1xuICAgICAgICAgICAgICBzZXRIb3Vyc0Zyb21JbnB1dHMoKTtcbiAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2Ugc2VsZi5sMTBuLmFtUE1bMV0uY2hhckF0KDApOlxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVsxXS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1bMV07XG4gICAgICAgICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbktleURvd25cIiwgZSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uTW91c2VPdmVyKGVsZW0pIHtcbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggIT09IDEgfHwgIWVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKFwiZmxhdHBpY2tyLWRheVwiKSB8fCBlbGVtLmNsYXNzTGlzdC5jb250YWlucyhcImRpc2FibGVkXCIpKSByZXR1cm47XG4gICAgICAgIHZhciBob3ZlckRhdGUgPSBlbGVtLmRhdGVPYmouZ2V0VGltZSgpLFxuICAgICAgICAgICAgaW5pdGlhbERhdGUgPSBzZWxmLnBhcnNlRGF0ZShzZWxmLnNlbGVjdGVkRGF0ZXNbMF0sIHVuZGVmaW5lZCwgdHJ1ZSkuZ2V0VGltZSgpLFxuICAgICAgICAgICAgcmFuZ2VTdGFydERhdGUgPSBNYXRoLm1pbihob3ZlckRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkpLFxuICAgICAgICAgICAgcmFuZ2VFbmREYXRlID0gTWF0aC5tYXgoaG92ZXJEYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0uZ2V0VGltZSgpKTtcbiAgICAgICAgdmFyIGNvbnRhaW5zRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdmFyIG1pblJhbmdlID0gMCxcbiAgICAgICAgICAgIG1heFJhbmdlID0gMDtcblxuICAgICAgICBmb3IgKHZhciB0ID0gcmFuZ2VTdGFydERhdGU7IHQgPCByYW5nZUVuZERhdGU7IHQgKz0gZHVyYXRpb24uREFZKSB7XG4gICAgICAgICAgaWYgKCFpc0VuYWJsZWQobmV3IERhdGUodCksIHRydWUpKSB7XG4gICAgICAgICAgICBjb250YWluc0Rpc2FibGVkID0gY29udGFpbnNEaXNhYmxlZCB8fCB0ID4gcmFuZ2VTdGFydERhdGUgJiYgdCA8IHJhbmdlRW5kRGF0ZTtcbiAgICAgICAgICAgIGlmICh0IDwgaW5pdGlhbERhdGUgJiYgKCFtaW5SYW5nZSB8fCB0ID4gbWluUmFuZ2UpKSBtaW5SYW5nZSA9IHQ7ZWxzZSBpZiAodCA+IGluaXRpYWxEYXRlICYmICghbWF4UmFuZ2UgfHwgdCA8IG1heFJhbmdlKSkgbWF4UmFuZ2UgPSB0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIG0gPSAwOyBtIDwgc2VsZi5jb25maWcuc2hvd01vbnRoczsgbSsrKSB7XG4gICAgICAgICAgdmFyIG1vbnRoID0gc2VsZi5kYXlzQ29udGFpbmVyLmNoaWxkcmVuW21dO1xuICAgICAgICAgIHZhciBwcmV2TW9udGggPSBzZWxmLmRheXNDb250YWluZXIuY2hpbGRyZW5bbSAtIDFdO1xuXG4gICAgICAgICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoaSwgbCkge1xuICAgICAgICAgICAgdmFyIGRheUVsZW0gPSBtb250aC5jaGlsZHJlbltpXSxcbiAgICAgICAgICAgICAgICBkYXRlID0gZGF5RWxlbS5kYXRlT2JqO1xuICAgICAgICAgICAgdmFyIHRpbWVzdGFtcCA9IGRhdGUuZ2V0VGltZSgpO1xuICAgICAgICAgICAgdmFyIG91dE9mUmFuZ2UgPSBtaW5SYW5nZSA+IDAgJiYgdGltZXN0YW1wIDwgbWluUmFuZ2UgfHwgbWF4UmFuZ2UgPiAwICYmIHRpbWVzdGFtcCA+IG1heFJhbmdlO1xuXG4gICAgICAgICAgICBpZiAob3V0T2ZSYW5nZSkge1xuICAgICAgICAgICAgICBkYXlFbGVtLmNsYXNzTGlzdC5hZGQoXCJub3RBbGxvd2VkXCIpO1xuICAgICAgICAgICAgICBbXCJpblJhbmdlXCIsIFwic3RhcnRSYW5nZVwiLCBcImVuZFJhbmdlXCJdLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgICAgICAgICBkYXlFbGVtLmNsYXNzTGlzdC5yZW1vdmUoYyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250YWluc0Rpc2FibGVkICYmICFvdXRPZlJhbmdlKSByZXR1cm4gXCJjb250aW51ZVwiO1xuXG4gICAgICAgICAgICBbXCJzdGFydFJhbmdlXCIsIFwiaW5SYW5nZVwiLCBcImVuZFJhbmdlXCIsIFwibm90QWxsb3dlZFwiXS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LnJlbW92ZShjKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZWxlbS5jbGFzc0xpc3QuYWRkKGhvdmVyRGF0ZSA8IHNlbGYuc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkgPyBcInN0YXJ0UmFuZ2VcIiA6IFwiZW5kUmFuZ2VcIik7XG5cbiAgICAgICAgICAgIGlmIChtb250aC5jb250YWlucyhlbGVtKSB8fCAhKG0gPiAwICYmIHByZXZNb250aCAmJiBwcmV2TW9udGgubGFzdENoaWxkLmRhdGVPYmouZ2V0VGltZSgpID49IHRpbWVzdGFtcCkpIHtcbiAgICAgICAgICAgICAgaWYgKGluaXRpYWxEYXRlIDwgaG92ZXJEYXRlICYmIHRpbWVzdGFtcCA9PT0gaW5pdGlhbERhdGUpIGRheUVsZW0uY2xhc3NMaXN0LmFkZChcInN0YXJ0UmFuZ2VcIik7ZWxzZSBpZiAoaW5pdGlhbERhdGUgPiBob3ZlckRhdGUgJiYgdGltZXN0YW1wID09PSBpbml0aWFsRGF0ZSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwiZW5kUmFuZ2VcIik7XG4gICAgICAgICAgICAgIGlmICh0aW1lc3RhbXAgPj0gbWluUmFuZ2UgJiYgKG1heFJhbmdlID09PSAwIHx8IHRpbWVzdGFtcCA8PSBtYXhSYW5nZSkgJiYgaXNCZXR3ZWVuKHRpbWVzdGFtcCwgaW5pdGlhbERhdGUsIGhvdmVyRGF0ZSkpIGRheUVsZW0uY2xhc3NMaXN0LmFkZChcImluUmFuZ2VcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gbW9udGguY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgX3JldCA9IF9sb29wKGksIGwpO1xuXG4gICAgICAgICAgICBpZiAoX3JldCA9PT0gXCJjb250aW51ZVwiKSBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25SZXNpemUoKSB7XG4gICAgICAgIGlmIChzZWxmLmlzT3BlbiAmJiAhc2VsZi5jb25maWcuc3RhdGljICYmICFzZWxmLmNvbmZpZy5pbmxpbmUpIHBvc2l0aW9uQ2FsZW5kYXIoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb3BlbihlLCBwb3NpdGlvbkVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHBvc2l0aW9uRWxlbWVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcG9zaXRpb25FbGVtZW50ID0gc2VsZi5faW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5pc01vYmlsZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGlmIChlKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnRhcmdldCAmJiBlLnRhcmdldC5ibHVyKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5tb2JpbGVJbnB1dC5mb2N1cygpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uT3BlblwiKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5faW5wdXQuZGlzYWJsZWQgfHwgc2VsZi5jb25maWcuaW5saW5lKSByZXR1cm47XG4gICAgICAgIHZhciB3YXNPcGVuID0gc2VsZi5pc09wZW47XG4gICAgICAgIHNlbGYuaXNPcGVuID0gdHJ1ZTtcblxuICAgICAgICBpZiAoIXdhc09wZW4pIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJvcGVuXCIpO1xuXG4gICAgICAgICAgc2VsZi5faW5wdXQuY2xhc3NMaXN0LmFkZChcImFjdGl2ZVwiKTtcblxuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uT3BlblwiKTtcbiAgICAgICAgICBwb3NpdGlvbkNhbGVuZGFyKHBvc2l0aW9uRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuZW5hYmxlVGltZSA9PT0gdHJ1ZSAmJiBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyID09PSB0cnVlKSB7XG4gICAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHNlbGYuc2V0RGF0ZShzZWxmLmNvbmZpZy5taW5EYXRlICE9PSB1bmRlZmluZWQgPyBuZXcgRGF0ZShzZWxmLmNvbmZpZy5taW5EYXRlLmdldFRpbWUoKSkgOiBuZXcgRGF0ZSgpLCBmYWxzZSk7XG4gICAgICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgICAgIHVwZGF0ZVZhbHVlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLmFsbG93SW5wdXQgPT09IGZhbHNlICYmIChlID09PSB1bmRlZmluZWQgfHwgIXNlbGYudGltZUNvbnRhaW5lci5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpKSkge1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzZWxmLmhvdXJFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICAgICAgfSwgNTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBtaW5NYXhEYXRlU2V0dGVyKHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgdmFyIGRhdGVPYmogPSBzZWxmLmNvbmZpZ1tcIl9cIiArIHR5cGUgKyBcIkRhdGVcIl0gPSBzZWxmLnBhcnNlRGF0ZShkYXRlLCBzZWxmLmNvbmZpZy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICB2YXIgaW52ZXJzZURhdGVPYmogPSBzZWxmLmNvbmZpZ1tcIl9cIiArICh0eXBlID09PSBcIm1pblwiID8gXCJtYXhcIiA6IFwibWluXCIpICsgXCJEYXRlXCJdO1xuXG4gICAgICAgICAgaWYgKGRhdGVPYmogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2VsZlt0eXBlID09PSBcIm1pblwiID8gXCJtaW5EYXRlSGFzVGltZVwiIDogXCJtYXhEYXRlSGFzVGltZVwiXSA9IGRhdGVPYmouZ2V0SG91cnMoKSA+IDAgfHwgZGF0ZU9iai5nZXRNaW51dGVzKCkgPiAwIHx8IGRhdGVPYmouZ2V0U2Vjb25kcygpID4gMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMgPSBzZWxmLnNlbGVjdGVkRGF0ZXMuZmlsdGVyKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBpc0VuYWJsZWQoZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCAmJiB0eXBlID09PSBcIm1pblwiKSBzZXRIb3Vyc0Zyb21EYXRlKGRhdGVPYmopO1xuICAgICAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICByZWRyYXcoKTtcbiAgICAgICAgICAgIGlmIChkYXRlT2JqICE9PSB1bmRlZmluZWQpIHNlbGYuY3VycmVudFllYXJFbGVtZW50W3R5cGVdID0gZGF0ZU9iai5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7ZWxzZSBzZWxmLmN1cnJlbnRZZWFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodHlwZSk7XG4gICAgICAgICAgICBzZWxmLmN1cnJlbnRZZWFyRWxlbWVudC5kaXNhYmxlZCA9ICEhaW52ZXJzZURhdGVPYmogJiYgZGF0ZU9iaiAhPT0gdW5kZWZpbmVkICYmIGludmVyc2VEYXRlT2JqLmdldEZ1bGxZZWFyKCkgPT09IGRhdGVPYmouZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHBhcnNlQ29uZmlnKCkge1xuICAgICAgICB2YXIgYm9vbE9wdHMgPSBbXCJ3cmFwXCIsIFwid2Vla051bWJlcnNcIiwgXCJhbGxvd0lucHV0XCIsIFwiY2xpY2tPcGVuc1wiLCBcInRpbWVfMjRoclwiLCBcImVuYWJsZVRpbWVcIiwgXCJub0NhbGVuZGFyXCIsIFwiYWx0SW5wdXRcIiwgXCJzaG9ydGhhbmRDdXJyZW50TW9udGhcIiwgXCJpbmxpbmVcIiwgXCJzdGF0aWNcIiwgXCJlbmFibGVTZWNvbmRzXCIsIFwiZGlzYWJsZU1vYmlsZVwiXTtcbiAgICAgICAgdmFyIGhvb2tzID0gW1wib25DaGFuZ2VcIiwgXCJvbkNsb3NlXCIsIFwib25EYXlDcmVhdGVcIiwgXCJvbkRlc3Ryb3lcIiwgXCJvbktleURvd25cIiwgXCJvbk1vbnRoQ2hhbmdlXCIsIFwib25PcGVuXCIsIFwib25QYXJzZUNvbmZpZ1wiLCBcIm9uUmVhZHlcIiwgXCJvblZhbHVlVXBkYXRlXCIsIFwib25ZZWFyQ2hhbmdlXCIsIFwib25QcmVDYWxlbmRhclBvc2l0aW9uXCJdO1xuICAgICAgICB2YXIgdXNlckNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIGluc3RhbmNlQ29uZmlnLCBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGVsZW1lbnQuZGF0YXNldCB8fCB7fSkpKTtcbiAgICAgICAgdmFyIGZvcm1hdHMkJDEgPSB7fTtcbiAgICAgICAgc2VsZi5jb25maWcucGFyc2VEYXRlID0gdXNlckNvbmZpZy5wYXJzZURhdGU7XG4gICAgICAgIHNlbGYuY29uZmlnLmZvcm1hdERhdGUgPSB1c2VyQ29uZmlnLmZvcm1hdERhdGU7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJlbmFibGVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9lbmFibGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChkYXRlcykge1xuICAgICAgICAgICAgc2VsZi5jb25maWcuX2VuYWJsZSA9IHBhcnNlRGF0ZVJ1bGVzKGRhdGVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwiZGlzYWJsZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX2Rpc2FibGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChkYXRlcykge1xuICAgICAgICAgICAgc2VsZi5jb25maWcuX2Rpc2FibGUgPSBwYXJzZURhdGVSdWxlcyhkYXRlcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHRpbWVNb2RlID0gdXNlckNvbmZpZy5tb2RlID09PSBcInRpbWVcIjtcblxuICAgICAgICBpZiAoIXVzZXJDb25maWcuZGF0ZUZvcm1hdCAmJiAodXNlckNvbmZpZy5lbmFibGVUaW1lIHx8IHRpbWVNb2RlKSkge1xuICAgICAgICAgIGZvcm1hdHMkJDEuZGF0ZUZvcm1hdCA9IHVzZXJDb25maWcubm9DYWxlbmRhciB8fCB0aW1lTW9kZSA/IFwiSDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6U1wiIDogXCJcIikgOiBmbGF0cGlja3IuZGVmYXVsdENvbmZpZy5kYXRlRm9ybWF0ICsgXCIgSDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6U1wiIDogXCJcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXNlckNvbmZpZy5hbHRJbnB1dCAmJiAodXNlckNvbmZpZy5lbmFibGVUaW1lIHx8IHRpbWVNb2RlKSAmJiAhdXNlckNvbmZpZy5hbHRGb3JtYXQpIHtcbiAgICAgICAgICBmb3JtYXRzJCQxLmFsdEZvcm1hdCA9IHVzZXJDb25maWcubm9DYWxlbmRhciB8fCB0aW1lTW9kZSA/IFwiaDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6UyBLXCIgOiBcIiBLXCIpIDogZmxhdHBpY2tyLmRlZmF1bHRDb25maWcuYWx0Rm9ybWF0ICsgKFwiIGg6aVwiICsgKHVzZXJDb25maWcuZW5hYmxlU2Vjb25kcyA/IFwiOlNcIiA6IFwiXCIpICsgXCIgS1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJtaW5EYXRlXCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5fbWluRGF0ZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogbWluTWF4RGF0ZVNldHRlcihcIm1pblwiKVxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1heERhdGVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9tYXhEYXRlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhEYXRlU2V0dGVyKFwibWF4XCIpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHZhciBtaW5NYXhUaW1lU2V0dGVyID0gZnVuY3Rpb24gbWluTWF4VGltZVNldHRlcih0eXBlKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgICAgIHNlbGYuY29uZmlnW3R5cGUgPT09IFwibWluXCIgPyBcIl9taW5UaW1lXCIgOiBcIl9tYXhUaW1lXCJdID0gc2VsZi5wYXJzZURhdGUodmFsLCBcIkg6aVwiKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9O1xuXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJtaW5UaW1lXCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5fbWluVGltZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogbWluTWF4VGltZVNldHRlcihcIm1pblwiKVxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1heFRpbWVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9tYXhUaW1lO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhUaW1lU2V0dGVyKFwibWF4XCIpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh1c2VyQ29uZmlnLm1vZGUgPT09IFwidGltZVwiKSB7XG4gICAgICAgICAgc2VsZi5jb25maWcubm9DYWxlbmRhciA9IHRydWU7XG4gICAgICAgICAgc2VsZi5jb25maWcuZW5hYmxlVGltZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuYXNzaWduKHNlbGYuY29uZmlnLCBmb3JtYXRzJCQxLCB1c2VyQ29uZmlnKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJvb2xPcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgc2VsZi5jb25maWdbYm9vbE9wdHNbaV1dID0gc2VsZi5jb25maWdbYm9vbE9wdHNbaV1dID09PSB0cnVlIHx8IHNlbGYuY29uZmlnW2Jvb2xPcHRzW2ldXSA9PT0gXCJ0cnVlXCI7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBfaSA9IGhvb2tzLmxlbmd0aDsgX2ktLTspIHtcbiAgICAgICAgICBpZiAoc2VsZi5jb25maWdbaG9va3NbX2ldXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZ1tob29rc1tfaV1dID0gYXJyYXlpZnkoc2VsZi5jb25maWdbaG9va3NbX2ldXSB8fCBbXSkubWFwKGJpbmRUb0luc3RhbmNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmlzTW9iaWxlID0gIXNlbGYuY29uZmlnLmRpc2FibGVNb2JpbGUgJiYgIXNlbGYuY29uZmlnLmlubGluZSAmJiBzZWxmLmNvbmZpZy5tb2RlID09PSBcInNpbmdsZVwiICYmICFzZWxmLmNvbmZpZy5kaXNhYmxlLmxlbmd0aCAmJiAhc2VsZi5jb25maWcuZW5hYmxlLmxlbmd0aCAmJiAhc2VsZi5jb25maWcud2Vla051bWJlcnMgJiYgL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4gICAgICAgIGZvciAodmFyIF9pMiA9IDA7IF9pMiA8IHNlbGYuY29uZmlnLnBsdWdpbnMubGVuZ3RoOyBfaTIrKykge1xuICAgICAgICAgIHZhciBwbHVnaW5Db25mID0gc2VsZi5jb25maWcucGx1Z2luc1tfaTJdKHNlbGYpIHx8IHt9O1xuXG4gICAgICAgICAgZm9yICh2YXIga2V5IGluIHBsdWdpbkNvbmYpIHtcbiAgICAgICAgICAgIGlmICh+aG9va3MuaW5kZXhPZihrZXkpKSB7XG4gICAgICAgICAgICAgIHNlbGYuY29uZmlnW2tleV0gPSBhcnJheWlmeShwbHVnaW5Db25mW2tleV0pLm1hcChiaW5kVG9JbnN0YW5jZSkuY29uY2F0KHNlbGYuY29uZmlnW2tleV0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdXNlckNvbmZpZ1trZXldID09PSBcInVuZGVmaW5lZFwiKSBzZWxmLmNvbmZpZ1trZXldID0gcGx1Z2luQ29uZltrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uUGFyc2VDb25maWdcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwTG9jYWxlKCkge1xuICAgICAgICBpZiAodHlwZW9mIHNlbGYuY29uZmlnLmxvY2FsZSAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgZmxhdHBpY2tyLmwxMG5zW3NlbGYuY29uZmlnLmxvY2FsZV0gPT09IFwidW5kZWZpbmVkXCIpIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoXCJmbGF0cGlja3I6IGludmFsaWQgbG9jYWxlIFwiICsgc2VsZi5jb25maWcubG9jYWxlKSk7XG4gICAgICAgIHNlbGYubDEwbiA9IE9iamVjdC5hc3NpZ24oe30sIGZsYXRwaWNrci5sMTBucy5kZWZhdWx0LCB0eXBlb2Ygc2VsZi5jb25maWcubG9jYWxlID09PSBcIm9iamVjdFwiID8gc2VsZi5jb25maWcubG9jYWxlIDogc2VsZi5jb25maWcubG9jYWxlICE9PSBcImRlZmF1bHRcIiA/IGZsYXRwaWNrci5sMTBuc1tzZWxmLmNvbmZpZy5sb2NhbGVdIDogdW5kZWZpbmVkKTtcbiAgICAgICAgdG9rZW5SZWdleC5LID0gXCIoXCIgKyBzZWxmLmwxMG4uYW1QTVswXSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMV0gKyBcInxcIiArIHNlbGYubDEwbi5hbVBNWzBdLnRvTG93ZXJDYXNlKCkgKyBcInxcIiArIHNlbGYubDEwbi5hbVBNWzFdLnRvTG93ZXJDYXNlKCkgKyBcIilcIjtcbiAgICAgICAgc2VsZi5mb3JtYXREYXRlID0gY3JlYXRlRGF0ZUZvcm1hdHRlcihzZWxmKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcG9zaXRpb25DYWxlbmRhcihjdXN0b21Qb3NpdGlvbkVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblByZUNhbGVuZGFyUG9zaXRpb25cIik7XG4gICAgICAgIHZhciBwb3NpdGlvbkVsZW1lbnQgPSBjdXN0b21Qb3NpdGlvbkVsZW1lbnQgfHwgc2VsZi5fcG9zaXRpb25FbGVtZW50O1xuICAgICAgICB2YXIgY2FsZW5kYXJIZWlnaHQgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jaGlsZHJlbiwgZnVuY3Rpb24gKGFjYywgY2hpbGQpIHtcbiAgICAgICAgICByZXR1cm4gYWNjICsgY2hpbGQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9LCAwKSxcbiAgICAgICAgICAgIGNhbGVuZGFyV2lkdGggPSBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgY29uZmlnUG9zID0gc2VsZi5jb25maWcucG9zaXRpb24uc3BsaXQoXCIgXCIpLFxuICAgICAgICAgICAgY29uZmlnUG9zVmVydGljYWwgPSBjb25maWdQb3NbMF0sXG4gICAgICAgICAgICBjb25maWdQb3NIb3Jpem9udGFsID0gY29uZmlnUG9zLmxlbmd0aCA+IDEgPyBjb25maWdQb3NbMV0gOiBudWxsLFxuICAgICAgICAgICAgaW5wdXRCb3VuZHMgPSBwb3NpdGlvbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICAgICAgICBkaXN0YW5jZUZyb21Cb3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBpbnB1dEJvdW5kcy5ib3R0b20sXG4gICAgICAgICAgICBzaG93T25Ub3AgPSBjb25maWdQb3NWZXJ0aWNhbCA9PT0gXCJhYm92ZVwiIHx8IGNvbmZpZ1Bvc1ZlcnRpY2FsICE9PSBcImJlbG93XCIgJiYgZGlzdGFuY2VGcm9tQm90dG9tIDwgY2FsZW5kYXJIZWlnaHQgJiYgaW5wdXRCb3VuZHMudG9wID4gY2FsZW5kYXJIZWlnaHQ7XG4gICAgICAgIHZhciB0b3AgPSB3aW5kb3cucGFnZVlPZmZzZXQgKyBpbnB1dEJvdW5kcy50b3AgKyAoIXNob3dPblRvcCA/IHBvc2l0aW9uRWxlbWVudC5vZmZzZXRIZWlnaHQgKyAyIDogLWNhbGVuZGFySGVpZ2h0IC0gMik7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwiYXJyb3dUb3BcIiwgIXNob3dPblRvcCk7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwiYXJyb3dCb3R0b21cIiwgc2hvd09uVG9wKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmlubGluZSkgcmV0dXJuO1xuICAgICAgICB2YXIgbGVmdCA9IHdpbmRvdy5wYWdlWE9mZnNldCArIGlucHV0Qm91bmRzLmxlZnQgLSAoY29uZmlnUG9zSG9yaXpvbnRhbCAhPSBudWxsICYmIGNvbmZpZ1Bvc0hvcml6b250YWwgPT09IFwiY2VudGVyXCIgPyAoY2FsZW5kYXJXaWR0aCAtIGlucHV0Qm91bmRzLndpZHRoKSAvIDIgOiAwKTtcbiAgICAgICAgdmFyIHJpZ2h0ID0gd2luZG93LmRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGggLSBpbnB1dEJvdW5kcy5yaWdodDtcbiAgICAgICAgdmFyIHJpZ2h0TW9zdCA9IGxlZnQgKyBjYWxlbmRhcldpZHRoID4gd2luZG93LmRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwicmlnaHRNb3N0XCIsIHJpZ2h0TW9zdCk7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5zdGF0aWMpIHJldHVybjtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS50b3AgPSB0b3AgKyBcInB4XCI7XG5cbiAgICAgICAgaWYgKCFyaWdodE1vc3QpIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgXCJweFwiO1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmlnaHQgPSBcImF1dG9cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLmxlZnQgPSBcImF1dG9cIjtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnJpZ2h0ID0gcmlnaHQgKyBcInB4XCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcmVkcmF3KCkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubm9DYWxlbmRhciB8fCBzZWxmLmlzTW9iaWxlKSByZXR1cm47XG4gICAgICAgIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKTtcbiAgICAgICAgYnVpbGREYXlzKCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzQW5kQ2xvc2UoKSB7XG4gICAgICAgIHNlbGYuX2lucHV0LmZvY3VzKCk7XG5cbiAgICAgICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJNU0lFXCIpICE9PSAtMSB8fCBuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2V0VGltZW91dChzZWxmLmNsb3NlLCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWxmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2VsZWN0RGF0ZShlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB2YXIgaXNTZWxlY3RhYmxlID0gZnVuY3Rpb24gaXNTZWxlY3RhYmxlKGRheSkge1xuICAgICAgICAgIHJldHVybiBkYXkuY2xhc3NMaXN0ICYmIGRheS5jbGFzc0xpc3QuY29udGFpbnMoXCJmbGF0cGlja3ItZGF5XCIpICYmICFkYXkuY2xhc3NMaXN0LmNvbnRhaW5zKFwiZGlzYWJsZWRcIikgJiYgIWRheS5jbGFzc0xpc3QuY29udGFpbnMoXCJub3RBbGxvd2VkXCIpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHZhciB0ID0gZmluZFBhcmVudChlLnRhcmdldCwgaXNTZWxlY3RhYmxlKTtcbiAgICAgICAgaWYgKHQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICB2YXIgdGFyZ2V0ID0gdDtcbiAgICAgICAgdmFyIHNlbGVjdGVkRGF0ZSA9IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gbmV3IERhdGUodGFyZ2V0LmRhdGVPYmouZ2V0VGltZSgpKTtcbiAgICAgICAgdmFyIHNob3VsZENoYW5nZU1vbnRoID0gKHNlbGVjdGVkRGF0ZS5nZXRNb250aCgpIDwgc2VsZi5jdXJyZW50TW9udGggfHwgc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPiBzZWxmLmN1cnJlbnRNb250aCArIHNlbGYuY29uZmlnLnNob3dNb250aHMgLSAxKSAmJiBzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCI7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlRWxlbSA9IHRhcmdldDtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwic2luZ2xlXCIpIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtzZWxlY3RlZERhdGVdO2Vsc2UgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwibXVsdGlwbGVcIikge1xuICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gaXNEYXRlU2VsZWN0ZWQoc2VsZWN0ZWREYXRlKTtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCkgc2VsZi5zZWxlY3RlZERhdGVzLnNwbGljZShwYXJzZUludChzZWxlY3RlZEluZGV4KSwgMSk7ZWxzZSBzZWxmLnNlbGVjdGVkRGF0ZXMucHVzaChzZWxlY3RlZERhdGUpO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAyKSBzZWxmLmNsZWFyKGZhbHNlKTtcbiAgICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMucHVzaChzZWxlY3RlZERhdGUpO1xuICAgICAgICAgIGlmIChjb21wYXJlRGF0ZXMoc2VsZWN0ZWREYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0sIHRydWUpICE9PSAwKSBzZWxmLnNlbGVjdGVkRGF0ZXMuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgICAgcmV0dXJuIGEuZ2V0VGltZSgpIC0gYi5nZXRUaW1lKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0SG91cnNGcm9tSW5wdXRzKCk7XG5cbiAgICAgICAgaWYgKHNob3VsZENoYW5nZU1vbnRoKSB7XG4gICAgICAgICAgdmFyIGlzTmV3WWVhciA9IHNlbGYuY3VycmVudFllYXIgIT09IHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIHNlbGYuY3VycmVudFllYXIgPSBzZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IHNlbGVjdGVkRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICAgIGlmIChpc05ld1llYXIpIHRyaWdnZXJFdmVudChcIm9uWWVhckNoYW5nZVwiKTtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbk1vbnRoQ2hhbmdlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgICAgc2V0RGVmYXVsdEhvdXJzKCk7XG4gICAgICAgIHVwZGF0ZVZhbHVlKCk7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gc2VsZi5zaG93VGltZUlucHV0ID0gdHJ1ZTtcbiAgICAgICAgfSwgNTApO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIpIHtcbiAgICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgb25Nb3VzZU92ZXIodGFyZ2V0KTtcbiAgICAgICAgICB9IGVsc2UgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzaG91bGRDaGFuZ2VNb250aCAmJiBzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCIgJiYgc2VsZi5jb25maWcuc2hvd01vbnRocyA9PT0gMSkgZm9jdXNPbkRheUVsZW0odGFyZ2V0KTtlbHNlIHNlbGYuc2VsZWN0ZWREYXRlRWxlbSAmJiBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0uZm9jdXMoKTtcbiAgICAgICAgaWYgKHNlbGYuaG91ckVsZW1lbnQgIT09IHVuZGVmaW5lZCkgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGYuaG91ckVsZW1lbnQgIT09IHVuZGVmaW5lZCAmJiBzZWxmLmhvdXJFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICB9LCA0NTEpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICAgICAgdmFyIHNpbmdsZSA9IHNlbGYuY29uZmlnLm1vZGUgPT09IFwic2luZ2xlXCIgJiYgIXNlbGYuY29uZmlnLmVuYWJsZVRpbWU7XG4gICAgICAgICAgdmFyIHJhbmdlID0gc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiICYmIHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDIgJiYgIXNlbGYuY29uZmlnLmVuYWJsZVRpbWU7XG5cbiAgICAgICAgICBpZiAoc2luZ2xlIHx8IHJhbmdlKSB7XG4gICAgICAgICAgICBmb2N1c0FuZENsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckNoYW5nZSgpO1xuICAgICAgfVxuXG4gICAgICB2YXIgQ0FMTEJBQ0tTID0ge1xuICAgICAgICBsb2NhbGU6IFtzZXR1cExvY2FsZSwgdXBkYXRlV2Vla2RheXNdLFxuICAgICAgICBzaG93TW9udGhzOiBbYnVpbGRNb250aHMsIHNldENhbGVuZGFyV2lkdGgsIGJ1aWxkV2Vla2RheXNdXG4gICAgICB9O1xuXG4gICAgICBmdW5jdGlvbiBzZXQob3B0aW9uLCB2YWx1ZSkge1xuICAgICAgICBpZiAob3B0aW9uICE9PSBudWxsICYmIHR5cGVvZiBvcHRpb24gPT09IFwib2JqZWN0XCIpIE9iamVjdC5hc3NpZ24oc2VsZi5jb25maWcsIG9wdGlvbik7ZWxzZSB7XG4gICAgICAgICAgc2VsZi5jb25maWdbb3B0aW9uXSA9IHZhbHVlO1xuICAgICAgICAgIGlmIChDQUxMQkFDS1Nbb3B0aW9uXSAhPT0gdW5kZWZpbmVkKSBDQUxMQkFDS1Nbb3B0aW9uXS5mb3JFYWNoKGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgICByZXR1cm4geCgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgIGp1bXBUb0RhdGUoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0U2VsZWN0ZWREYXRlKGlucHV0RGF0ZSwgZm9ybWF0KSB7XG4gICAgICAgIHZhciBkYXRlcyA9IFtdO1xuICAgICAgICBpZiAoaW5wdXREYXRlIGluc3RhbmNlb2YgQXJyYXkpIGRhdGVzID0gaW5wdXREYXRlLm1hcChmdW5jdGlvbiAoZCkge1xuICAgICAgICAgIHJldHVybiBzZWxmLnBhcnNlRGF0ZShkLCBmb3JtYXQpO1xuICAgICAgICB9KTtlbHNlIGlmIChpbnB1dERhdGUgaW5zdGFuY2VvZiBEYXRlIHx8IHR5cGVvZiBpbnB1dERhdGUgPT09IFwibnVtYmVyXCIpIGRhdGVzID0gW3NlbGYucGFyc2VEYXRlKGlucHV0RGF0ZSwgZm9ybWF0KV07ZWxzZSBpZiAodHlwZW9mIGlucHV0RGF0ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHN3aXRjaCAoc2VsZi5jb25maWcubW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcInNpbmdsZVwiOlxuICAgICAgICAgICAgY2FzZSBcInRpbWVcIjpcbiAgICAgICAgICAgICAgZGF0ZXMgPSBbc2VsZi5wYXJzZURhdGUoaW5wdXREYXRlLCBmb3JtYXQpXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJtdWx0aXBsZVwiOlxuICAgICAgICAgICAgICBkYXRlcyA9IGlucHV0RGF0ZS5zcGxpdChzZWxmLmNvbmZpZy5jb25qdW5jdGlvbikubWFwKGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyc2VEYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInJhbmdlXCI6XG4gICAgICAgICAgICAgIGRhdGVzID0gaW5wdXREYXRlLnNwbGl0KHNlbGYubDEwbi5yYW5nZVNlcGFyYXRvcikubWFwKGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyc2VEYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Ugc2VsZi5jb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcIkludmFsaWQgZGF0ZSBzdXBwbGllZDogXCIgKyBKU09OLnN0cmluZ2lmeShpbnB1dERhdGUpKSk7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IGRhdGVzLmZpbHRlcihmdW5jdGlvbiAoZCkge1xuICAgICAgICAgIHJldHVybiBkIGluc3RhbmNlb2YgRGF0ZSAmJiBpc0VuYWJsZWQoZCwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikgc2VsZi5zZWxlY3RlZERhdGVzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICByZXR1cm4gYS5nZXRUaW1lKCkgLSBiLmdldFRpbWUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldERhdGUoZGF0ZSwgdHJpZ2dlckNoYW5nZSwgZm9ybWF0KSB7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlID09PSB2b2lkIDApIHtcbiAgICAgICAgICB0cmlnZ2VyQ2hhbmdlID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9ybWF0ID09PSB2b2lkIDApIHtcbiAgICAgICAgICBmb3JtYXQgPSBzZWxmLmNvbmZpZy5kYXRlRm9ybWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGUgIT09IDAgJiYgIWRhdGUgfHwgZGF0ZSBpbnN0YW5jZW9mIEFycmF5ICYmIGRhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gc2VsZi5jbGVhcih0cmlnZ2VyQ2hhbmdlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWREYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgICAgIHNlbGYuc2hvd1RpbWVJbnB1dCA9IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwO1xuICAgICAgICBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA9IHNlbGYuc2VsZWN0ZWREYXRlc1swXTtcbiAgICAgICAgc2VsZi5yZWRyYXcoKTtcbiAgICAgICAganVtcFRvRGF0ZSgpO1xuICAgICAgICBzZXRIb3Vyc0Zyb21EYXRlKCk7XG4gICAgICAgIHVwZGF0ZVZhbHVlKHRyaWdnZXJDaGFuZ2UpO1xuICAgICAgICBpZiAodHJpZ2dlckNoYW5nZSkgdHJpZ2dlckV2ZW50KFwib25DaGFuZ2VcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHBhcnNlRGF0ZVJ1bGVzKGFycikge1xuICAgICAgICByZXR1cm4gYXJyLnNsaWNlKCkubWFwKGZ1bmN0aW9uIChydWxlKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBydWxlID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBydWxlID09PSBcIm51bWJlclwiIHx8IHJ1bGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUocnVsZSwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUgJiYgdHlwZW9mIHJ1bGUgPT09IFwib2JqZWN0XCIgJiYgcnVsZS5mcm9tICYmIHJ1bGUudG8pIHJldHVybiB7XG4gICAgICAgICAgICBmcm9tOiBzZWxmLnBhcnNlRGF0ZShydWxlLmZyb20sIHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0bzogc2VsZi5wYXJzZURhdGUocnVsZS50bywgdW5kZWZpbmVkKVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICByZXR1cm4gcnVsZTtcbiAgICAgICAgfSkuZmlsdGVyKGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXR1cERhdGVzKCkge1xuICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMgPSBbXTtcbiAgICAgICAgc2VsZi5ub3cgPSBzZWxmLnBhcnNlRGF0ZShzZWxmLmNvbmZpZy5ub3cpIHx8IG5ldyBEYXRlKCk7XG4gICAgICAgIHZhciBwcmVsb2FkZWREYXRlID0gc2VsZi5jb25maWcuZGVmYXVsdERhdGUgfHwgKHNlbGYuaW5wdXQucGxhY2Vob2xkZXIubGVuZ3RoID4gMCAmJiBzZWxmLmlucHV0LnZhbHVlID09PSBzZWxmLmlucHV0LnBsYWNlaG9sZGVyID8gbnVsbCA6IHNlbGYuaW5wdXQudmFsdWUpO1xuICAgICAgICBpZiAocHJlbG9hZGVkRGF0ZSkgc2V0U2VsZWN0ZWREYXRlKHByZWxvYWRlZERhdGUsIHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICB2YXIgaW5pdGlhbERhdGUgPSBzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID4gMCA/IHNlbGYuc2VsZWN0ZWREYXRlc1swXSA6IHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgc2VsZi5jb25maWcubWluRGF0ZS5nZXRUaW1lKCkgPiBzZWxmLm5vdy5nZXRUaW1lKCkgPyBzZWxmLmNvbmZpZy5taW5EYXRlIDogc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldFRpbWUoKSA8IHNlbGYubm93LmdldFRpbWUoKSA/IHNlbGYuY29uZmlnLm1heERhdGUgOiBzZWxmLm5vdztcbiAgICAgICAgc2VsZi5jdXJyZW50WWVhciA9IGluaXRpYWxEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gaW5pdGlhbERhdGUuZ2V0TW9udGgoKTtcbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwKSBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA9IHNlbGYuc2VsZWN0ZWREYXRlc1swXTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCkgc2VsZi5jb25maWcubWluVGltZSA9IHNlbGYucGFyc2VEYXRlKHNlbGYuY29uZmlnLm1pblRpbWUsIFwiSDppXCIpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWF4VGltZSAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5tYXhUaW1lID0gc2VsZi5wYXJzZURhdGUoc2VsZi5jb25maWcubWF4VGltZSwgXCJIOmlcIik7XG4gICAgICAgIHNlbGYubWluRGF0ZUhhc1RpbWUgPSAhIXNlbGYuY29uZmlnLm1pbkRhdGUgJiYgKHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0SG91cnMoKSA+IDAgfHwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRNaW51dGVzKCkgPiAwIHx8IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0U2Vjb25kcygpID4gMCk7XG4gICAgICAgIHNlbGYubWF4RGF0ZUhhc1RpbWUgPSAhIXNlbGYuY29uZmlnLm1heERhdGUgJiYgKHNlbGYuY29uZmlnLm1heERhdGUuZ2V0SG91cnMoKSA+IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNaW51dGVzKCkgPiAwIHx8IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0U2Vjb25kcygpID4gMCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLCBcInNob3dUaW1lSW5wdXRcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Nob3dUaW1lSW5wdXQ7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChib29sKSB7XG4gICAgICAgICAgICBzZWxmLl9zaG93VGltZUlucHV0ID0gYm9vbDtcbiAgICAgICAgICAgIGlmIChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKSB0b2dnbGVDbGFzcyhzZWxmLmNhbGVuZGFyQ29udGFpbmVyLCBcInNob3dUaW1lSW5wdXRcIiwgYm9vbCk7XG4gICAgICAgICAgICBzZWxmLmlzT3BlbiAmJiBwb3NpdGlvbkNhbGVuZGFyKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0dXBJbnB1dHMoKSB7XG4gICAgICAgIHNlbGYuaW5wdXQgPSBzZWxmLmNvbmZpZy53cmFwID8gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtaW5wdXRdXCIpIDogZWxlbWVudDtcblxuICAgICAgICBpZiAoIXNlbGYuaW5wdXQpIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5lcnJvckhhbmRsZXIobmV3IEVycm9yKFwiSW52YWxpZCBpbnB1dCBlbGVtZW50IHNwZWNpZmllZFwiKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5pbnB1dC5fdHlwZSA9IHNlbGYuaW5wdXQudHlwZTtcbiAgICAgICAgc2VsZi5pbnB1dC50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICAgIHNlbGYuaW5wdXQuY2xhc3NMaXN0LmFkZChcImZsYXRwaWNrci1pbnB1dFwiKTtcbiAgICAgICAgc2VsZi5faW5wdXQgPSBzZWxmLmlucHV0O1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5hbHRJbnB1dCkge1xuICAgICAgICAgIHNlbGYuYWx0SW5wdXQgPSBjcmVhdGVFbGVtZW50KHNlbGYuaW5wdXQubm9kZU5hbWUsIHNlbGYuaW5wdXQuY2xhc3NOYW1lICsgXCIgXCIgKyBzZWxmLmNvbmZpZy5hbHRJbnB1dENsYXNzKTtcbiAgICAgICAgICBzZWxmLl9pbnB1dCA9IHNlbGYuYWx0SW5wdXQ7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC5wbGFjZWhvbGRlciA9IHNlbGYuaW5wdXQucGxhY2Vob2xkZXI7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC5kaXNhYmxlZCA9IHNlbGYuaW5wdXQuZGlzYWJsZWQ7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC5yZXF1aXJlZCA9IHNlbGYuaW5wdXQucmVxdWlyZWQ7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC50YWJJbmRleCA9IHNlbGYuaW5wdXQudGFiSW5kZXg7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICAgICAgc2VsZi5pbnB1dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiaGlkZGVuXCIpO1xuICAgICAgICAgIGlmICghc2VsZi5jb25maWcuc3RhdGljICYmIHNlbGYuaW5wdXQucGFyZW50Tm9kZSkgc2VsZi5pbnB1dC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzZWxmLmFsdElucHV0LCBzZWxmLmlucHV0Lm5leHRTaWJsaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VsZi5jb25maWcuYWxsb3dJbnB1dCkgc2VsZi5faW5wdXQuc2V0QXR0cmlidXRlKFwicmVhZG9ubHlcIiwgXCJyZWFkb25seVwiKTtcbiAgICAgICAgc2VsZi5fcG9zaXRpb25FbGVtZW50ID0gc2VsZi5jb25maWcucG9zaXRpb25FbGVtZW50IHx8IHNlbGYuX2lucHV0O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXR1cE1vYmlsZSgpIHtcbiAgICAgICAgdmFyIGlucHV0VHlwZSA9IHNlbGYuY29uZmlnLmVuYWJsZVRpbWUgPyBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyID8gXCJ0aW1lXCIgOiBcImRhdGV0aW1lLWxvY2FsXCIgOiBcImRhdGVcIjtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dCA9IGNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCBzZWxmLmlucHV0LmNsYXNzTmFtZSArIFwiIGZsYXRwaWNrci1tb2JpbGVcIik7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQuc3RlcCA9IHNlbGYuaW5wdXQuZ2V0QXR0cmlidXRlKFwic3RlcFwiKSB8fCBcImFueVwiO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnRhYkluZGV4ID0gMTtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC50eXBlID0gaW5wdXRUeXBlO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LmRpc2FibGVkID0gc2VsZi5pbnB1dC5kaXNhYmxlZDtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5yZXF1aXJlZCA9IHNlbGYuaW5wdXQucmVxdWlyZWQ7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQucGxhY2Vob2xkZXIgPSBzZWxmLmlucHV0LnBsYWNlaG9sZGVyO1xuICAgICAgICBzZWxmLm1vYmlsZUZvcm1hdFN0ciA9IGlucHV0VHlwZSA9PT0gXCJkYXRldGltZS1sb2NhbFwiID8gXCJZLW0tZFxcXFxUSDppOlNcIiA6IGlucHV0VHlwZSA9PT0gXCJkYXRlXCIgPyBcIlktbS1kXCIgOiBcIkg6aTpTXCI7XG5cbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5kZWZhdWx0VmFsdWUgPSBzZWxmLm1vYmlsZUlucHV0LnZhbHVlID0gc2VsZi5mb3JtYXREYXRlKHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUpIHNlbGYubW9iaWxlSW5wdXQubWluID0gc2VsZi5mb3JtYXREYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUsIFwiWS1tLWRcIik7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlKSBzZWxmLm1vYmlsZUlucHV0Lm1heCA9IHNlbGYuZm9ybWF0RGF0ZShzZWxmLmNvbmZpZy5tYXhEYXRlLCBcIlktbS1kXCIpO1xuICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCAhPT0gdW5kZWZpbmVkKSBzZWxmLmFsdElucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHNlbGYuaW5wdXQucGFyZW50Tm9kZSkgc2VsZi5pbnB1dC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzZWxmLm1vYmlsZUlucHV0LCBzZWxmLmlucHV0Lm5leHRTaWJsaW5nKTtcbiAgICAgICAgfSBjYXRjaCAoX2EpIHt9XG5cbiAgICAgICAgYmluZChzZWxmLm1vYmlsZUlucHV0LCBcImNoYW5nZVwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIHNlbGYuc2V0RGF0ZShlLnRhcmdldC52YWx1ZSwgZmFsc2UsIHNlbGYubW9iaWxlRm9ybWF0U3RyKTtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNsb3NlXCIpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdG9nZ2xlKGUpIHtcbiAgICAgICAgaWYgKHNlbGYuaXNPcGVuID09PSB0cnVlKSByZXR1cm4gc2VsZi5jbG9zZSgpO1xuICAgICAgICBzZWxmLm9wZW4oZSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRyaWdnZXJFdmVudChldmVudCwgZGF0YSkge1xuICAgICAgICB2YXIgaG9va3MgPSBzZWxmLmNvbmZpZ1tldmVudF07XG5cbiAgICAgICAgaWYgKGhvb2tzICE9PSB1bmRlZmluZWQgJiYgaG9va3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBob29rc1tpXSAmJiBpIDwgaG9va3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGhvb2tzW2ldKHNlbGYuc2VsZWN0ZWREYXRlcywgc2VsZi5pbnB1dC52YWx1ZSwgc2VsZiwgZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50ID09PSBcIm9uQ2hhbmdlXCIpIHtcbiAgICAgICAgICBzZWxmLmlucHV0LmRpc3BhdGNoRXZlbnQoY3JlYXRlRXZlbnQoXCJjaGFuZ2VcIikpO1xuICAgICAgICAgIHNlbGYuaW5wdXQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudChcImlucHV0XCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjcmVhdGVFdmVudChuYW1lKSB7XG4gICAgICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtcbiAgICAgICAgZS5pbml0RXZlbnQobmFtZSwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpc0RhdGVTZWxlY3RlZChkYXRlKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGNvbXBhcmVEYXRlcyhzZWxmLnNlbGVjdGVkRGF0ZXNbaV0sIGRhdGUpID09PSAwKSByZXR1cm4gXCJcIiArIGk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRGF0ZUluUmFuZ2UoZGF0ZSkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSAhPT0gXCJyYW5nZVwiIHx8IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPCAyKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzBdKSA+PSAwICYmIGNvbXBhcmVEYXRlcyhkYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMV0pIDw9IDA7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5ub0NhbGVuZGFyIHx8IHNlbGYuaXNNb2JpbGUgfHwgIXNlbGYubW9udGhOYXYpIHJldHVybjtcbiAgICAgICAgc2VsZi55ZWFyRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoeWVhckVsZW1lbnQsIGkpIHtcbiAgICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKHNlbGYuY3VycmVudFllYXIsIHNlbGYuY3VycmVudE1vbnRoLCAxKTtcbiAgICAgICAgICBkLnNldE1vbnRoKHNlbGYuY3VycmVudE1vbnRoICsgaSk7XG4gICAgICAgICAgc2VsZi5tb250aEVsZW1lbnRzW2ldLnRleHRDb250ZW50ID0gbW9udGhUb1N0cihkLmdldE1vbnRoKCksIHNlbGYuY29uZmlnLnNob3J0aGFuZEN1cnJlbnRNb250aCwgc2VsZi5sMTBuKSArIFwiIFwiO1xuICAgICAgICAgIHllYXJFbGVtZW50LnZhbHVlID0gZC5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzZWxmLl9oaWRlUHJldk1vbnRoQXJyb3cgPSBzZWxmLmNvbmZpZy5taW5EYXRlICE9PSB1bmRlZmluZWQgJiYgKHNlbGYuY3VycmVudFllYXIgPT09IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSA/IHNlbGYuY3VycmVudE1vbnRoIDw9IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0TW9udGgoKSA6IHNlbGYuY3VycmVudFllYXIgPCBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkpO1xuICAgICAgICBzZWxmLl9oaWRlTmV4dE1vbnRoQXJyb3cgPSBzZWxmLmNvbmZpZy5tYXhEYXRlICE9PSB1bmRlZmluZWQgJiYgKHNlbGYuY3VycmVudFllYXIgPT09IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSA/IHNlbGYuY3VycmVudE1vbnRoICsgMSA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0TW9udGgoKSA6IHNlbGYuY3VycmVudFllYXIgPiBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEZ1bGxZZWFyKCkpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVWYWx1ZSh0cmlnZ2VyQ2hhbmdlKSB7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlID09PSB2b2lkIDApIHtcbiAgICAgICAgICB0cmlnZ2VyQ2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAwKSByZXR1cm4gc2VsZi5jbGVhcih0cmlnZ2VyQ2hhbmdlKTtcblxuICAgICAgICBpZiAoc2VsZi5tb2JpbGVJbnB1dCAhPT0gdW5kZWZpbmVkICYmIHNlbGYubW9iaWxlRm9ybWF0U3RyKSB7XG4gICAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC52YWx1ZSA9IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICE9PSB1bmRlZmluZWQgPyBzZWxmLmZvcm1hdERhdGUoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmosIHNlbGYubW9iaWxlRm9ybWF0U3RyKSA6IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgam9pbkNoYXIgPSBzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCIgPyBzZWxmLmNvbmZpZy5jb25qdW5jdGlvbiA6IHNlbGYubDEwbi5yYW5nZVNlcGFyYXRvcjtcbiAgICAgICAgc2VsZi5pbnB1dC52YWx1ZSA9IHNlbGYuc2VsZWN0ZWREYXRlcy5tYXAoZnVuY3Rpb24gKGRPYmopIHtcbiAgICAgICAgICByZXR1cm4gc2VsZi5mb3JtYXREYXRlKGRPYmosIHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICB9KS5qb2luKGpvaW5DaGFyKTtcblxuICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC52YWx1ZSA9IHNlbGYuc2VsZWN0ZWREYXRlcy5tYXAoZnVuY3Rpb24gKGRPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmZvcm1hdERhdGUoZE9iaiwgc2VsZi5jb25maWcuYWx0Rm9ybWF0KTtcbiAgICAgICAgICB9KS5qb2luKGpvaW5DaGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlICE9PSBmYWxzZSkgdHJpZ2dlckV2ZW50KFwib25WYWx1ZVVwZGF0ZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25Nb250aE5hdkNsaWNrKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB2YXIgaXNQcmV2TW9udGggPSBzZWxmLnByZXZNb250aE5hdi5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIHZhciBpc05leHRNb250aCA9IHNlbGYubmV4dE1vbnRoTmF2LmNvbnRhaW5zKGUudGFyZ2V0KTtcblxuICAgICAgICBpZiAoaXNQcmV2TW9udGggfHwgaXNOZXh0TW9udGgpIHtcbiAgICAgICAgICBjaGFuZ2VNb250aChpc1ByZXZNb250aCA/IC0xIDogMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi55ZWFyRWxlbWVudHMuaW5kZXhPZihlLnRhcmdldCkgPj0gMCkge1xuICAgICAgICAgIGUudGFyZ2V0LnNlbGVjdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcImFycm93VXBcIikpIHtcbiAgICAgICAgICBzZWxmLmNoYW5nZVllYXIoc2VsZi5jdXJyZW50WWVhciArIDEpO1xuICAgICAgICB9IGVsc2UgaWYgKGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcImFycm93RG93blwiKSkge1xuICAgICAgICAgIHNlbGYuY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdGltZVdyYXBwZXIoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHZhciBpc0tleURvd24gPSBlLnR5cGUgPT09IFwia2V5ZG93blwiLFxuICAgICAgICAgICAgaW5wdXQgPSBlLnRhcmdldDtcblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQgJiYgZS50YXJnZXQgPT09IHNlbGYuYW1QTSkge1xuICAgICAgICAgIHNlbGYuYW1QTS50ZXh0Q29udGVudCA9IHNlbGYubDEwbi5hbVBNW2ludChzZWxmLmFtUE0udGV4dENvbnRlbnQgPT09IHNlbGYubDEwbi5hbVBNWzBdKV07XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbWluID0gcGFyc2VGbG9hdChpbnB1dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiKSksXG4gICAgICAgICAgICBtYXggPSBwYXJzZUZsb2F0KGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIpKSxcbiAgICAgICAgICAgIHN0ZXAgPSBwYXJzZUZsb2F0KGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiKSksXG4gICAgICAgICAgICBjdXJWYWx1ZSA9IHBhcnNlSW50KGlucHV0LnZhbHVlLCAxMCksXG4gICAgICAgICAgICBkZWx0YSA9IGUuZGVsdGEgfHwgKGlzS2V5RG93biA/IGUud2hpY2ggPT09IDM4ID8gMSA6IC0xIDogMCk7XG4gICAgICAgIHZhciBuZXdWYWx1ZSA9IGN1clZhbHVlICsgc3RlcCAqIGRlbHRhO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaW5wdXQudmFsdWUgIT09IFwidW5kZWZpbmVkXCIgJiYgaW5wdXQudmFsdWUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgdmFyIGlzSG91ckVsZW0gPSBpbnB1dCA9PT0gc2VsZi5ob3VyRWxlbWVudCxcbiAgICAgICAgICAgICAgaXNNaW51dGVFbGVtID0gaW5wdXQgPT09IHNlbGYubWludXRlRWxlbWVudDtcblxuICAgICAgICAgIGlmIChuZXdWYWx1ZSA8IG1pbikge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBtYXggKyBuZXdWYWx1ZSArIGludCghaXNIb3VyRWxlbSkgKyAoaW50KGlzSG91ckVsZW0pICYmIGludCghc2VsZi5hbVBNKSk7XG4gICAgICAgICAgICBpZiAoaXNNaW51dGVFbGVtKSBpbmNyZW1lbnROdW1JbnB1dCh1bmRlZmluZWQsIC0xLCBzZWxmLmhvdXJFbGVtZW50KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG5ld1ZhbHVlID4gbWF4KSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGlucHV0ID09PSBzZWxmLmhvdXJFbGVtZW50ID8gbmV3VmFsdWUgLSBtYXggLSBpbnQoIXNlbGYuYW1QTSkgOiBtaW47XG4gICAgICAgICAgICBpZiAoaXNNaW51dGVFbGVtKSBpbmNyZW1lbnROdW1JbnB1dCh1bmRlZmluZWQsIDEsIHNlbGYuaG91ckVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLmFtUE0gJiYgaXNIb3VyRWxlbSAmJiAoc3RlcCA9PT0gMSA/IG5ld1ZhbHVlICsgY3VyVmFsdWUgPT09IDIzIDogTWF0aC5hYnMobmV3VmFsdWUgLSBjdXJWYWx1ZSkgPiBzdGVwKSkge1xuICAgICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1baW50KHNlbGYuYW1QTS50ZXh0Q29udGVudCA9PT0gc2VsZi5sMTBuLmFtUE1bMF0pXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHBhZChuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5pdCgpO1xuICAgICAgcmV0dXJuIHNlbGY7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gX2ZsYXRwaWNrcihub2RlTGlzdCwgY29uZmlnKSB7XG4gICAgICB2YXIgbm9kZXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChub2RlTGlzdCk7XG4gICAgICB2YXIgaW5zdGFuY2VzID0gW107XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIG5vZGUgPSBub2Rlc1tpXTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZShcImRhdGEtZnAtb21pdFwiKSAhPT0gbnVsbCkgY29udGludWU7XG5cbiAgICAgICAgICBpZiAobm9kZS5fZmxhdHBpY2tyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG5vZGUuX2ZsYXRwaWNrci5kZXN0cm95KCk7XG5cbiAgICAgICAgICAgIG5vZGUuX2ZsYXRwaWNrciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBub2RlLl9mbGF0cGlja3IgPSBGbGF0cGlja3JJbnN0YW5jZShub2RlLCBjb25maWcgfHwge30pO1xuICAgICAgICAgIGluc3RhbmNlcy5wdXNoKG5vZGUuX2ZsYXRwaWNrcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbnN0YW5jZXMubGVuZ3RoID09PSAxID8gaW5zdGFuY2VzWzBdIDogaW5zdGFuY2VzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgSFRNTEVsZW1lbnQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIEhUTUxDb2xsZWN0aW9uLnByb3RvdHlwZS5mbGF0cGlja3IgPSBOb2RlTGlzdC5wcm90b3R5cGUuZmxhdHBpY2tyID0gZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgICByZXR1cm4gX2ZsYXRwaWNrcih0aGlzLCBjb25maWcpO1xuICAgICAgfTtcblxuICAgICAgSFRNTEVsZW1lbnQucHJvdG90eXBlLmZsYXRwaWNrciA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIF9mbGF0cGlja3IoW3RoaXNdLCBjb25maWcpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgZmxhdHBpY2tyID0gZnVuY3Rpb24gZmxhdHBpY2tyKHNlbGVjdG9yLCBjb25maWcpIHtcbiAgICAgIGlmIChzZWxlY3RvciBpbnN0YW5jZW9mIE5vZGVMaXN0KSByZXR1cm4gX2ZsYXRwaWNrcihzZWxlY3RvciwgY29uZmlnKTtlbHNlIGlmICh0eXBlb2Ygc2VsZWN0b3IgPT09IFwic3RyaW5nXCIpIHJldHVybiBfZmxhdHBpY2tyKHdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSwgY29uZmlnKTtcbiAgICAgIHJldHVybiBfZmxhdHBpY2tyKFtzZWxlY3Rvcl0sIGNvbmZpZyk7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnID0gZGVmYXVsdHM7XG4gICAgZmxhdHBpY2tyLmwxMG5zID0ge1xuICAgICAgZW46IE9iamVjdC5hc3NpZ24oe30sIGVuZ2xpc2gpLFxuICAgICAgZGVmYXVsdDogT2JqZWN0LmFzc2lnbih7fSwgZW5nbGlzaClcbiAgICB9O1xuXG4gICAgZmxhdHBpY2tyLmxvY2FsaXplID0gZnVuY3Rpb24gKGwxMG4pIHtcbiAgICAgIGZsYXRwaWNrci5sMTBucy5kZWZhdWx0ID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQsIGwxMG4pO1xuICAgIH07XG5cbiAgICBmbGF0cGlja3Iuc2V0RGVmYXVsdHMgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICBmbGF0cGlja3IuZGVmYXVsdENvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnLCBjb25maWcpO1xuICAgIH07XG5cbiAgICBmbGF0cGlja3IucGFyc2VEYXRlID0gY3JlYXRlRGF0ZVBhcnNlcih7fSk7XG4gICAgZmxhdHBpY2tyLmZvcm1hdERhdGUgPSBjcmVhdGVEYXRlRm9ybWF0dGVyKHt9KTtcbiAgICBmbGF0cGlja3IuY29tcGFyZURhdGVzID0gY29tcGFyZURhdGVzO1xuXG4gICAgaWYgKHR5cGVvZiBqUXVlcnkgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGpRdWVyeS5mbi5mbGF0cGlja3IgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBfZmxhdHBpY2tyKHRoaXMsIGNvbmZpZyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIERhdGUucHJvdG90eXBlLmZwX2luY3IgPSBmdW5jdGlvbiAoZGF5cykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuZ2V0RnVsbFllYXIoKSwgdGhpcy5nZXRNb250aCgpLCB0aGlzLmdldERhdGUoKSArICh0eXBlb2YgZGF5cyA9PT0gXCJzdHJpbmdcIiA/IHBhcnNlSW50KGRheXMsIDEwKSA6IGRheXMpKTtcbiAgICB9O1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHdpbmRvdy5mbGF0cGlja3IgPSBmbGF0cGlja3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZsYXRwaWNrcjtcblxufSkpKTtcblxuXG4vKioqLyB9KSxcbi8qIDI5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblxudmFyIGNvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYoZmFsc2UpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vZmxhdHBpY2tyLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vZmxhdHBpY2tyLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDMwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuZmxhdHBpY2tyLWNhbGVuZGFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjt2aXNpYmlsaXR5OmhpZGRlbjtwYWRkaW5nOjA7LXdlYmtpdC1hbmltYXRpb246bm9uZTthbmltYXRpb246bm9uZTtkaXJlY3Rpb246bHRyO2JvcmRlcjowO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo1cHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzA3Ljg3NXB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbXMtdG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO2JhY2tncm91bmQ6I2ZmZjstd2Via2l0LWJveC1zaGFkb3c6MXB4IDAgMCAjZTZlNmU2LC0xcHggMCAwICNlNmU2ZTYsMCAxcHggMCAjZTZlNmU2LDAgLTFweCAwICNlNmU2ZTYsMCAzcHggMTNweCByZ2JhKDAsMCwwLC4wOCk7Ym94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTYsLTFweCAwIDAgI2U2ZTZlNiwwIDFweCAwICNlNmU2ZTYsMCAtMXB4IDAgI2U2ZTZlNiwwIDNweCAxM3B4IHJnYmEoMCwwLDAsLjA4KX0uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSwuZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW57b3BhY2l0eToxO21heC1oZWlnaHQ6NjQwcHg7dmlzaWJpbGl0eTp2aXNpYmxlfS5mbGF0cGlja3ItY2FsZW5kYXIub3BlbntkaXNwbGF5OmlubGluZS1ibG9jazt6LWluZGV4Ojk5OTk5fS5mbGF0cGlja3ItY2FsZW5kYXIuYW5pbWF0ZS5vcGVuey13ZWJraXQtYW5pbWF0aW9uOmZwRmFkZUluRG93biAuM3MgY3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKTthbmltYXRpb246ZnBGYWRlSW5Eb3duIC4zcyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpfS5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5le2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjJweH0uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpY3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgMnB4KX0uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpYy5vcGVue3otaW5kZXg6OTk5O2Rpc3BsYXk6YmxvY2t9LmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzEpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzcpey13ZWJraXQtYm94LXNoYWRvdzpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS5mbGF0cGlja3ItY2FsZW5kYXIubXVsdGlNb250aCAuZmxhdHBpY2tyLWRheXMgLmRheUNvbnRhaW5lcjpudGgtY2hpbGQobisyKSAuZmxhdHBpY2tyLWRheS5pblJhbmdlOm50aC1jaGlsZCg3bisxKXstd2Via2l0LWJveC1zaGFkb3c6LTJweCAwIDAgI2U2ZTZlNiw1cHggMCAwICNlNmU2ZTY7Ym94LXNoYWRvdzotMnB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNn0uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNUaW1lIC5kYXlDb250YWluZXIsLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcntib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcntib3JkZXItbGVmdDowfS5mbGF0cGlja3ItY2FsZW5kYXIuc2hvd1RpbWVJbnB1dC5oYXNUaW1lIC5mbGF0cGlja3ItdGltZXtoZWlnaHQ6NDBweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIubm9DYWxlbmRhci5oYXNUaW1lIC5mbGF0cGlja3ItdGltZXtoZWlnaHQ6YXV0b30uZmxhdHBpY2tyLWNhbGVuZGFyOmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXI6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXI6c29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDpcXFwiXFxcIjtoZWlnaHQ6MDt3aWR0aDowO2xlZnQ6MjJweH0uZmxhdHBpY2tyLWNhbGVuZGFyLnJpZ2h0TW9zdDphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLnJpZ2h0TW9zdDpiZWZvcmV7bGVmdDphdXRvO3JpZ2h0OjIycHh9LmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmV7Ym9yZGVyLXdpZHRoOjVweDttYXJnaW46MCAtNXB4fS5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjRweDttYXJnaW46MCAtNHB4fS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDpiZWZvcmV7Ym90dG9tOjEwMCV9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDpiZWZvcmV7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTpiZWZvcmV7dG9wOjEwMCV9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTpiZWZvcmV7Ym9yZGVyLXRvcC1jb2xvcjojZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5mbGF0cGlja3ItY2FsZW5kYXI6Zm9jdXN7b3V0bGluZTowfS5mbGF0cGlja3Itd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9ja30uZmxhdHBpY2tyLW1vbnRoc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbW9udGh7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDAsMCwwLC45KTtmaWxsOnJnYmEoMCwwLDAsLjkpO2hlaWdodDoyOHB4O2xpbmUtaGVpZ2h0OjE7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjF9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aHt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsaW5lLWhlaWdodDoxNnB4O2hlaWdodDoyOHB4O3BhZGRpbmc6MTBweDt6LWluZGV4OjM7Y29sb3I6cmdiYSgwLDAsMCwuOSk7ZmlsbDpyZ2JhKDAsMCwwLC45KX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZGlzYWJsZWQsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmRpc2FibGVke2Rpc3BsYXk6bm9uZX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggaSwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGggaXtwb3NpdGlvbjpyZWxhdGl2ZX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1wcmV2LW1vbnRoe2xlZnQ6MH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZmxhdHBpY2tyLW5leHQtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1uZXh0LW1vbnRoe3JpZ2h0OjB9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoOmhvdmVyLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aDpob3Zlcntjb2xvcjojOTU5ZWE5fS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aDpob3ZlciBzdmcsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVyIHN2Z3tmaWxsOiNmNjQ3NDd9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoIHN2ZywuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGggc3Zne3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoIHN2ZyBwYXRoLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aHstd2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXM7dHJhbnNpdGlvbjpmaWxsIC4xcztmaWxsOmluaGVyaXR9Lm51bUlucHV0V3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6YXV0b30ubnVtSW5wdXRXcmFwcGVyIGlucHV0LC5udW1JbnB1dFdyYXBwZXIgc3BhbntkaXNwbGF5OmlubGluZS1ibG9ja30ubnVtSW5wdXRXcmFwcGVyIGlucHV0e3dpZHRoOjEwMCV9Lm51bUlucHV0V3JhcHBlciBpbnB1dDo6LW1zLWNsZWFye2Rpc3BsYXk6bm9uZX0ubnVtSW5wdXRXcmFwcGVyIHNwYW57cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDoxNHB4O3BhZGRpbmc6MCA0cHggMCAycHg7aGVpZ2h0OjUwJTtsaW5lLWhlaWdodDo1MCU7b3BhY2l0eTowO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgcmdiYSg1Nyw1Nyw1NywuMTUpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubnVtSW5wdXRXcmFwcGVyIHNwYW46aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKX0ubnVtSW5wdXRXcmFwcGVyIHNwYW46YWN0aXZle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMil9Lm51bUlucHV0V3JhcHBlciBzcGFuOmFmdGVye2Rpc3BsYXk6YmxvY2s7Y29udGVudDpcXFwiXFxcIjtwb3NpdGlvbjphYnNvbHV0ZX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcHt0b3A6MDtib3JkZXItYm90dG9tOjB9Lm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXJ7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgcmdiYSg1Nyw1Nyw1NywuNik7dG9wOjI2JX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3due3RvcDo1MCV9Lm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlcntib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC42KTt0b3A6NDAlfS5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6YXV0b30ubnVtSW5wdXRXcmFwcGVyIHNwYW4gc3ZnIHBhdGh7ZmlsbDpyZ2JhKDAsMCwwLC41KX0ubnVtSW5wdXRXcmFwcGVyOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDUpfS5udW1JbnB1dFdyYXBwZXI6aG92ZXIgc3BhbntvcGFjaXR5OjF9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoe2ZvbnQtc2l6ZToxMzUlO2xpbmUtaGVpZ2h0OmluaGVyaXQ7Zm9udC13ZWlnaHQ6MzAwO2NvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NzUlO2xlZnQ6MTIuNSU7cGFkZGluZzo2LjE2cHggMCAwO2xpbmUtaGVpZ2h0OjE7aGVpZ2h0OjI4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggc3Bhbi5jdXItbW9udGh7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDo3MDA7Y29sb3I6aW5oZXJpdDtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDouNWNoO3BhZGRpbmc6MH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggc3Bhbi5jdXItbW9udGg6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXJ7d2lkdGg6NmNoO3dpZHRoOjdjaFxcXFwwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlcntib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuOSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnRleHQ7cGFkZGluZzowIDAgMCAuNWNoO21hcmdpbjowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OmluaGVyaXQ7aGVpZ2h0OmF1dG87Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowO3ZlcnRpY2FsLWFsaWduOmluaXRpYWx9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3Vze291dGxpbmU6MH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdLC5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF06aG92ZXJ7Zm9udC1zaXplOjEwMCU7Y29sb3I6cmdiYSgwLDAsMCwuNSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lfS5mbGF0cGlja3Itd2Vla2RheXN7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWFsaWduOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MjhweH0uZmxhdHBpY2tyLXdlZWtkYXlzLC5mbGF0cGlja3Itd2Vla2RheXMgLmZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci13ZWVrZGF5cyAuZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXIsc3Bhbi5mbGF0cGlja3Itd2Vla2RheXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjF9c3Bhbi5mbGF0cGlja3Itd2Vla2RheXtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6OTAlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6cmdiYSgwLDAsMCwuNTQpO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9jaztmb250LXdlaWdodDpib2xkZXJ9LmRheUNvbnRhaW5lciwuZmxhdHBpY2tyLXdlZWtze3BhZGRpbmc6MXB4IDAgMH0uZmxhdHBpY2tyLWRheXN7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7d2lkdGg6MzA3Ljg3NXB4fS5mbGF0cGlja3ItZGF5czpmb2N1c3tvdXRsaW5lOjB9LmRheUNvbnRhaW5lcntwYWRkaW5nOjA7b3V0bGluZTowO3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDcuODc1cHg7bWluLXdpZHRoOjMwNy44NzVweDttYXgtd2lkdGg6MzA3Ljg3NXB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LW1zLWZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO29wYWNpdHk6MX0uZGF5Q29udGFpbmVyKy5kYXlDb250YWluZXJ7LXdlYmtpdC1ib3gtc2hhZG93Oi0xcHggMCAwICNlNmU2ZTY7Ym94LXNoYWRvdzotMXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItZGF5e2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MTUwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiMzOTM5Mzk7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NDAwO3dpZHRoOjE0LjI4NTcxNDMlOy13ZWJraXQtZmxleC1iYXNpczoxNC4yODU3MTQzJTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZToxNC4yODU3MTQzJTtmbGV4LWJhc2lzOjE0LjI4NTcxNDMlO21heC13aWR0aDozOXB4O2hlaWdodDozOXB4O2xpbmUtaGVpZ2h0OjM5cHg7bWFyZ2luOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXJ9LmZsYXRwaWNrci1kYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkudG9kYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6Zm9jdXMsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5OmhvdmVyLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpmb2N1cywuZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6aG92ZXIsLmZsYXRwaWNrci1kYXkudG9kYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheTpmb2N1cywuZmxhdHBpY2tyLWRheTpob3ZlcntjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjA7YmFja2dyb3VuZDojZTZlNmU2O2JvcmRlci1jb2xvcjojZTZlNmU2fS5mbGF0cGlja3ItZGF5LnRvZGF5e2JvcmRlci1jb2xvcjojOTU5ZWE5fS5mbGF0cGlja3ItZGF5LnRvZGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5LnRvZGF5OmhvdmVye2JvcmRlci1jb2xvcjojOTU5ZWE5O2JhY2tncm91bmQ6Izk1OWVhOTtjb2xvcjojZmZmfS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2UsLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpmb2N1cywuZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpob3ZlciwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZCwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5pblJhbmdlLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQ6Zm9jdXMsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQ6aG92ZXIsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmluUmFuZ2UsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpmb2N1cywuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlOmhvdmVye2JhY2tncm91bmQ6IzU2OWZmNzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6IzU2OWZmN30uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5zdGFydFJhbmdlLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnN0YXJ0UmFuZ2UsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5zdGFydFJhbmdle2JvcmRlci1yYWRpdXM6NTBweCAwIDAgNTBweH0uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmVuZFJhbmdle2JvcmRlci1yYWRpdXM6MCA1MHB4IDUwcHggMH0uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSsuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSsuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpey13ZWJraXQtYm94LXNoYWRvdzotMTBweCAwIDAgIzU2OWZmNztib3gtc2hhZG93Oi0xMHB4IDAgMCAjNTY5ZmY3fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2V7Ym9yZGVyLXJhZGl1czo1MHB4fS5mbGF0cGlja3ItZGF5LmluUmFuZ2V7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm94LXNoYWRvdzotNXB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi01cHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItZGF5LmRpc2FibGVkLC5mbGF0cGlja3ItZGF5LmRpc2FibGVkOmhvdmVyLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQucHJldk1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheXtjb2xvcjpyZ2JhKDU3LDU3LDU3LC4zKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6ZGVmYXVsdH0uZmxhdHBpY2tyLWRheS5kaXNhYmxlZCwuZmxhdHBpY2tyLWRheS5kaXNhYmxlZDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWQ7Y29sb3I6cmdiYSg1Nyw1Nyw1NywuMSl9LmZsYXRwaWNrci1kYXkud2Vlay5zZWxlY3RlZHtib3JkZXItcmFkaXVzOjA7LXdlYmtpdC1ib3gtc2hhZG93Oi01cHggMCAwICM1NjlmZjcsNXB4IDAgMCAjNTY5ZmY3O2JveC1zaGFkb3c6LTVweCAwIDAgIzU2OWZmNyw1cHggMCAwICM1NjlmZjd9LmZsYXRwaWNrci1kYXkuaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS5yYW5nZU1vZGUgLmZsYXRwaWNrci1kYXl7bWFyZ2luLXRvcDoxcHh9LmZsYXRwaWNrci13ZWVrd3JhcHBlcntkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpsZWZ0fS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrc3twYWRkaW5nOjAgMTJweDstd2Via2l0LWJveC1zaGFkb3c6MXB4IDAgMCAjZTZlNmU2O2JveC1zaGFkb3c6MXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrZGF5e2Zsb2F0Om5vbmU7d2lkdGg6MTAwJTtsaW5lLWhlaWdodDoyOHB4fS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgc3Bhbi5mbGF0cGlja3ItZGF5LC5mbGF0cGlja3Itd2Vla3dyYXBwZXIgc3Bhbi5mbGF0cGlja3ItZGF5OmhvdmVye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXgtd2lkdGg6bm9uZTtjb2xvcjpyZ2JhKDU3LDU3LDU3LC4zKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O2JvcmRlcjpub25lfS5mbGF0cGlja3ItaW5uZXJDb250YWluZXJ7ZGlzcGxheTpibG9jaztkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0uZmxhdHBpY2tyLWlubmVyQ29udGFpbmVyLC5mbGF0cGlja3ItckNvbnRhaW5lcnstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZsYXRwaWNrci1yQ29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MH0uZmxhdHBpY2tyLXRpbWV7dGV4dC1hbGlnbjpjZW50ZXI7b3V0bGluZTowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6NDBweDttYXgtaGVpZ2h0OjQwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5mbGF0cGlja3ItdGltZTphZnRlcntjb250ZW50OlxcXCJcXFwiO2Rpc3BsYXk6dGFibGU7Y2xlYXI6Ym90aH0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7d2lkdGg6NDAlO2hlaWdodDo0MHB4O2Zsb2F0OmxlZnR9LmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6IzM5MzkzOX0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlcntib3JkZXItdG9wLWNvbG9yOiMzOTM5Mzl9LmZsYXRwaWNrci10aW1lLmhhc1NlY29uZHMgLm51bUlucHV0V3JhcHBlcnt3aWR0aDoyNiV9LmZsYXRwaWNrci10aW1lLnRpbWUyNGhyIC5udW1JbnB1dFdyYXBwZXJ7d2lkdGg6NDklfS5mbGF0cGlja3ItdGltZSBpbnB1dHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7cGFkZGluZzowO2hlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6IzM5MzkzOTtmb250LXNpemU6MTRweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3Vye2ZvbnQtd2VpZ2h0OjcwMH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSwuZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLXNlY29uZHtmb250LXdlaWdodDo0MDB9LmZsYXRwaWNrci10aW1lIGlucHV0OmZvY3Vze291dGxpbmU6MDtib3JkZXI6MH0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbSwuZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci10aW1lLXNlcGFyYXRvcntoZWlnaHQ6aW5oZXJpdDtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpsZWZ0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6IzM5MzkzOTtmb250LXdlaWdodDo3MDA7d2lkdGg6MiU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9LmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG17b3V0bGluZTowO3dpZHRoOjE4JTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo0MDB9LmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG06Zm9jdXMsLmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG06aG92ZXIsLmZsYXRwaWNrci10aW1lIGlucHV0OmZvY3VzLC5mbGF0cGlja3ItdGltZSBpbnB1dDpob3ZlcntiYWNrZ3JvdW5kOiNmM2YzZjN9LmZsYXRwaWNrci1pbnB1dFtyZWFkb25seV17Y3Vyc29yOnBvaW50ZXJ9QC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmcEZhZGVJbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFnYy1iYXNpYy5idW5kbGUuanMubWFwIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2gnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLkFycmF5LmZvckVhY2g7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5hcnJheS5pbmNsdWRlcycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuQXJyYXkuaW5jbHVkZXM7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5udW1iZXIuaXMtaW50ZWdlcicpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuTnVtYmVyLmlzSW50ZWdlcjtcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2LnN0cmluZy5zdGFydHMtd2l0aCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuU3RyaW5nLnN0YXJ0c1dpdGg7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAodHlwZW9mIGl0ICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGEgZnVuY3Rpb24hJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyAyMi4xLjMuMzEgQXJyYXkucHJvdG90eXBlW0BAdW5zY29wYWJsZXNdXG52YXIgVU5TQ09QQUJMRVMgPSByZXF1aXJlKCcuL193a3MnKSgndW5zY29wYWJsZXMnKTtcbnZhciBBcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xuaWYgKEFycmF5UHJvdG9bVU5TQ09QQUJMRVNdID09IHVuZGVmaW5lZCkgcmVxdWlyZSgnLi9faGlkZScpKEFycmF5UHJvdG8sIFVOU0NPUEFCTEVTLCB7fSk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgQXJyYXlQcm90b1tVTlNDT1BBQkxFU11ba2V5XSA9IHRydWU7XG59O1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYW4gb2JqZWN0IScpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG4iLCIvLyAwIC0+IEFycmF5I2ZvckVhY2hcbi8vIDEgLT4gQXJyYXkjbWFwXG4vLyAyIC0+IEFycmF5I2ZpbHRlclxuLy8gMyAtPiBBcnJheSNzb21lXG4vLyA0IC0+IEFycmF5I2V2ZXJ5XG4vLyA1IC0+IEFycmF5I2ZpbmRcbi8vIDYgLT4gQXJyYXkjZmluZEluZGV4XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgYXNjID0gcmVxdWlyZSgnLi9fYXJyYXktc3BlY2llcy1jcmVhdGUnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRZUEUsICRjcmVhdGUpIHtcbiAgdmFyIElTX01BUCA9IFRZUEUgPT0gMTtcbiAgdmFyIElTX0ZJTFRFUiA9IFRZUEUgPT0gMjtcbiAgdmFyIElTX1NPTUUgPSBUWVBFID09IDM7XG4gIHZhciBJU19FVkVSWSA9IFRZUEUgPT0gNDtcbiAgdmFyIElTX0ZJTkRfSU5ERVggPSBUWVBFID09IDY7XG4gIHZhciBOT19IT0xFUyA9IFRZUEUgPT0gNSB8fCBJU19GSU5EX0lOREVYO1xuICB2YXIgY3JlYXRlID0gJGNyZWF0ZSB8fCBhc2M7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGNhbGxiYWNrZm4sIHRoYXQpIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgc2VsZiA9IElPYmplY3QoTyk7XG4gICAgdmFyIGYgPSBjdHgoY2FsbGJhY2tmbiwgdGhhdCwgMyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKHNlbGYubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciByZXN1bHQgPSBJU19NQVAgPyBjcmVhdGUoJHRoaXMsIGxlbmd0aCkgOiBJU19GSUxURVIgPyBjcmVhdGUoJHRoaXMsIDApIDogdW5kZWZpbmVkO1xuICAgIHZhciB2YWwsIHJlcztcbiAgICBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKE5PX0hPTEVTIHx8IGluZGV4IGluIHNlbGYpIHtcbiAgICAgIHZhbCA9IHNlbGZbaW5kZXhdO1xuICAgICAgcmVzID0gZih2YWwsIGluZGV4LCBPKTtcbiAgICAgIGlmIChUWVBFKSB7XG4gICAgICAgIGlmIChJU19NQVApIHJlc3VsdFtpbmRleF0gPSByZXM7ICAgLy8gbWFwXG4gICAgICAgIGVsc2UgaWYgKHJlcykgc3dpdGNoIChUWVBFKSB7XG4gICAgICAgICAgY2FzZSAzOiByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgLy8gc29tZVxuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIHZhbDsgICAgICAgICAgICAgIC8vIGZpbmRcbiAgICAgICAgICBjYXNlIDY6IHJldHVybiBpbmRleDsgICAgICAgICAgICAvLyBmaW5kSW5kZXhcbiAgICAgICAgICBjYXNlIDI6IHJlc3VsdC5wdXNoKHZhbCk7ICAgICAgICAvLyBmaWx0ZXJcbiAgICAgICAgfSBlbHNlIGlmIChJU19FVkVSWSkgcmV0dXJuIGZhbHNlOyAvLyBldmVyeVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gSVNfRklORF9JTkRFWCA/IC0xIDogSVNfU09NRSB8fCBJU19FVkVSWSA/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL19pcy1hcnJheScpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCkge1xuICB2YXIgQztcbiAgaWYgKGlzQXJyYXkob3JpZ2luYWwpKSB7XG4gICAgQyA9IG9yaWdpbmFsLmNvbnN0cnVjdG9yO1xuICAgIC8vIGNyb3NzLXJlYWxtIGZhbGxiYWNrXG4gICAgaWYgKHR5cGVvZiBDID09ICdmdW5jdGlvbicgJiYgKEMgPT09IEFycmF5IHx8IGlzQXJyYXkoQy5wcm90b3R5cGUpKSkgQyA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNPYmplY3QoQykpIHtcbiAgICAgIEMgPSBDW1NQRUNJRVNdO1xuICAgICAgaWYgKEMgPT09IG51bGwpIEMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IHJldHVybiBDID09PSB1bmRlZmluZWQgPyBBcnJheSA6IEM7XG59O1xuIiwiLy8gOS40LjIuMyBBcnJheVNwZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKVxudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX2FycmF5LXNwZWNpZXMtY29uc3RydWN0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwsIGxlbmd0aCkge1xuICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3Iob3JpZ2luYWwpKShsZW5ndGgpO1xufTtcbiIsInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuOScgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iLCIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4iLCIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG52YXIgJGV4cG9ydCA9IGZ1bmN0aW9uICh0eXBlLCBuYW1lLCBzb3VyY2UpIHtcbiAgdmFyIElTX0ZPUkNFRCA9IHR5cGUgJiAkZXhwb3J0LkY7XG4gIHZhciBJU19HTE9CQUwgPSB0eXBlICYgJGV4cG9ydC5HO1xuICB2YXIgSVNfU1RBVElDID0gdHlwZSAmICRleHBvcnQuUztcbiAgdmFyIElTX1BST1RPID0gdHlwZSAmICRleHBvcnQuUDtcbiAgdmFyIElTX0JJTkQgPSB0eXBlICYgJGV4cG9ydC5CO1xuICB2YXIgdGFyZ2V0ID0gSVNfR0xPQkFMID8gZ2xvYmFsIDogSVNfU1RBVElDID8gZ2xvYmFsW25hbWVdIHx8IChnbG9iYWxbbmFtZV0gPSB7fSkgOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/IGNvcmUgOiBjb3JlW25hbWVdIHx8IChjb3JlW25hbWVdID0ge30pO1xuICB2YXIgZXhwUHJvdG8gPSBleHBvcnRzW1BST1RPVFlQRV0gfHwgKGV4cG9ydHNbUFJPVE9UWVBFXSA9IHt9KTtcbiAgdmFyIGtleSwgb3duLCBvdXQsIGV4cDtcbiAgaWYgKElTX0dMT0JBTCkgc291cmNlID0gbmFtZTtcbiAgZm9yIChrZXkgaW4gc291cmNlKSB7XG4gICAgLy8gY29udGFpbnMgaW4gbmF0aXZlXG4gICAgb3duID0gIUlTX0ZPUkNFRCAmJiB0YXJnZXQgJiYgdGFyZ2V0W2tleV0gIT09IHVuZGVmaW5lZDtcbiAgICAvLyBleHBvcnQgbmF0aXZlIG9yIHBhc3NlZFxuICAgIG91dCA9IChvd24gPyB0YXJnZXQgOiBzb3VyY2UpW2tleV07XG4gICAgLy8gYmluZCB0aW1lcnMgdG8gZ2xvYmFsIGZvciBjYWxsIGZyb20gZXhwb3J0IGNvbnRleHRcbiAgICBleHAgPSBJU19CSU5EICYmIG93biA/IGN0eChvdXQsIGdsb2JhbCkgOiBJU19QUk9UTyAmJiB0eXBlb2Ygb3V0ID09ICdmdW5jdGlvbicgPyBjdHgoRnVuY3Rpb24uY2FsbCwgb3V0KSA6IG91dDtcbiAgICAvLyBleHRlbmQgZ2xvYmFsXG4gICAgaWYgKHRhcmdldCkgcmVkZWZpbmUodGFyZ2V0LCBrZXksIG91dCwgdHlwZSAmICRleHBvcnQuVSk7XG4gICAgLy8gZXhwb3J0XG4gICAgaWYgKGV4cG9ydHNba2V5XSAhPSBvdXQpIGhpZGUoZXhwb3J0cywga2V5LCBleHApO1xuICAgIGlmIChJU19QUk9UTyAmJiBleHBQcm90b1trZXldICE9IG91dCkgZXhwUHJvdG9ba2V5XSA9IG91dDtcbiAgfVxufTtcbmdsb2JhbC5jb3JlID0gY29yZTtcbi8vIHR5cGUgYml0bWFwXG4kZXhwb3J0LkYgPSAxOyAgIC8vIGZvcmNlZFxuJGV4cG9ydC5HID0gMjsgICAvLyBnbG9iYWxcbiRleHBvcnQuUyA9IDQ7ICAgLy8gc3RhdGljXG4kZXhwb3J0LlAgPSA4OyAgIC8vIHByb3RvXG4kZXhwb3J0LkIgPSAxNjsgIC8vIGJpbmRcbiRleHBvcnQuVyA9IDMyOyAgLy8gd3JhcFxuJGV4cG9ydC5VID0gNjQ7ICAvLyBzYWZlXG4kZXhwb3J0LlIgPSAxMjg7IC8vIHJlYWwgcHJvdG8gbWV0aG9kIGZvciBgbGlicmFyeWBcbm1vZHVsZS5leHBvcnRzID0gJGV4cG9ydDtcbiIsInZhciBNQVRDSCA9IHJlcXVpcmUoJy4vX3drcycpKCdtYXRjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZKSB7XG4gIHZhciByZSA9IC8uLztcbiAgdHJ5IHtcbiAgICAnLy4vJ1tLRVldKHJlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRyeSB7XG4gICAgICByZVtNQVRDSF0gPSBmYWxzZTtcbiAgICAgIHJldHVybiAhJy8uLydbS0VZXShyZSk7XG4gICAgfSBjYXRjaCAoZikgeyAvKiBlbXB0eSAqLyB9XG4gIH0gcmV0dXJuIHRydWU7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZXhlYykge1xuICB0cnkge1xuICAgIHJldHVybiAhIWV4ZWMoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnbmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmluZycsIEZ1bmN0aW9uLnRvU3RyaW5nKTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy84NiNpc3N1ZWNvbW1lbnQtMTE1NzU5MDI4XG52YXIgZ2xvYmFsID0gbW9kdWxlLmV4cG9ydHMgPSB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnICYmIHdpbmRvdy5NYXRoID09IE1hdGhcbiAgPyB3aW5kb3cgOiB0eXBlb2Ygc2VsZiAhPSAndW5kZWZpbmVkJyAmJiBzZWxmLk1hdGggPT0gTWF0aCA/IHNlbGZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gIDogRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcbmlmICh0eXBlb2YgX19nID09ICdudW1iZXInKSBfX2cgPSBnbG9iYWw7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsInZhciBoYXNPd25Qcm9wZXJ0eSA9IHt9Lmhhc093blByb3BlcnR5O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbn07XG4iLCJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2RpdicpLCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwiLy8gZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBhbmQgbm9uLWVudW1lcmFibGUgb2xkIFY4IHN0cmluZ3NcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0KCd6JykucHJvcGVydHlJc0VudW1lcmFibGUoMCkgPyBPYmplY3QgOiBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGNvZihpdCkgPT0gJ1N0cmluZycgPyBpdC5zcGxpdCgnJykgOiBPYmplY3QoaXQpO1xufTtcbiIsIi8vIDcuMi4yIElzQXJyYXkoYXJndW1lbnQpXG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG5tb2R1bGUuZXhwb3J0cyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gaXNBcnJheShhcmcpIHtcbiAgcmV0dXJuIGNvZihhcmcpID09ICdBcnJheSc7XG59O1xuIiwiLy8gMjAuMS4yLjMgTnVtYmVyLmlzSW50ZWdlcihudW1iZXIpXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzSW50ZWdlcihpdCkge1xuICByZXR1cm4gIWlzT2JqZWN0KGl0KSAmJiBpc0Zpbml0ZShpdCkgJiYgZmxvb3IoaXQpID09PSBpdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09PSAnb2JqZWN0JyA/IGl0ICE9PSBudWxsIDogdHlwZW9mIGl0ID09PSAnZnVuY3Rpb24nO1xufTtcbiIsIi8vIDcuMi44IElzUmVnRXhwKGFyZ3VtZW50KVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG52YXIgTUFUQ0ggPSByZXF1aXJlKCcuL193a3MnKSgnbWF0Y2gnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBpc1JlZ0V4cDtcbiAgcmV0dXJuIGlzT2JqZWN0KGl0KSAmJiAoKGlzUmVnRXhwID0gaXRbTUFUQ0hdKSAhPT0gdW5kZWZpbmVkID8gISFpc1JlZ0V4cCA6IGNvZihpdCkgPT0gJ1JlZ0V4cCcpO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZmFsc2U7XG4iLCJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBJRThfRE9NX0RFRklORSA9IHJlcXVpcmUoJy4vX2llOC1kb20tZGVmaW5lJyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBkUCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgYW5PYmplY3QoQXR0cmlidXRlcyk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZFAoTywgUCwgQXR0cmlidXRlcyk7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICBpZiAoJ2dldCcgaW4gQXR0cmlidXRlcyB8fCAnc2V0JyBpbiBBdHRyaWJ1dGVzKSB0aHJvdyBUeXBlRXJyb3IoJ0FjY2Vzc29ycyBub3Qgc3VwcG9ydGVkIScpO1xuICBpZiAoJ3ZhbHVlJyBpbiBBdHRyaWJ1dGVzKSBPW1BdID0gQXR0cmlidXRlcy52YWx1ZTtcbiAgcmV0dXJuIE87XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoYml0bWFwLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6ICEoYml0bWFwICYgMSksXG4gICAgY29uZmlndXJhYmxlOiAhKGJpdG1hcCAmIDIpLFxuICAgIHdyaXRhYmxlOiAhKGJpdG1hcCAmIDQpLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIFNSQyA9IHJlcXVpcmUoJy4vX3VpZCcpKCdzcmMnKTtcbnZhciAkdG9TdHJpbmcgPSByZXF1aXJlKCcuL19mdW5jdGlvbi10by1zdHJpbmcnKTtcbnZhciBUT19TVFJJTkcgPSAndG9TdHJpbmcnO1xudmFyIFRQTCA9ICgnJyArICR0b1N0cmluZykuc3BsaXQoVE9fU1RSSU5HKTtcblxucmVxdWlyZSgnLi9fY29yZScpLmluc3BlY3RTb3VyY2UgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuICR0b1N0cmluZy5jYWxsKGl0KTtcbn07XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChPLCBrZXksIHZhbCwgc2FmZSkge1xuICB2YXIgaXNGdW5jdGlvbiA9IHR5cGVvZiB2YWwgPT0gJ2Z1bmN0aW9uJztcbiAgaWYgKGlzRnVuY3Rpb24pIGhhcyh2YWwsICduYW1lJykgfHwgaGlkZSh2YWwsICduYW1lJywga2V5KTtcbiAgaWYgKE9ba2V5XSA9PT0gdmFsKSByZXR1cm47XG4gIGlmIChpc0Z1bmN0aW9uKSBoYXModmFsLCBTUkMpIHx8IGhpZGUodmFsLCBTUkMsIE9ba2V5XSA/ICcnICsgT1trZXldIDogVFBMLmpvaW4oU3RyaW5nKGtleSkpKTtcbiAgaWYgKE8gPT09IGdsb2JhbCkge1xuICAgIE9ba2V5XSA9IHZhbDtcbiAgfSBlbHNlIGlmICghc2FmZSkge1xuICAgIGRlbGV0ZSBPW2tleV07XG4gICAgaGlkZShPLCBrZXksIHZhbCk7XG4gIH0gZWxzZSBpZiAoT1trZXldKSB7XG4gICAgT1trZXldID0gdmFsO1xuICB9IGVsc2Uge1xuICAgIGhpZGUoTywga2V5LCB2YWwpO1xuICB9XG4vLyBhZGQgZmFrZSBGdW5jdGlvbiN0b1N0cmluZyBmb3IgY29ycmVjdCB3b3JrIHdyYXBwZWQgbWV0aG9kcyAvIGNvbnN0cnVjdG9ycyB3aXRoIG1ldGhvZHMgbGlrZSBMb0Rhc2ggaXNOYXRpdmVcbn0pKEZ1bmN0aW9uLnByb3RvdHlwZSwgVE9fU1RSSU5HLCBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgcmV0dXJuIHR5cGVvZiB0aGlzID09ICdmdW5jdGlvbicgJiYgdGhpc1tTUkNdIHx8ICR0b1N0cmluZy5jYWxsKHRoaXMpO1xufSk7XG4iLCJ2YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBTSEFSRUQgPSAnX19jb3JlLWpzX3NoYXJlZF9fJztcbnZhciBzdG9yZSA9IGdsb2JhbFtTSEFSRURdIHx8IChnbG9iYWxbU0hBUkVEXSA9IHt9KTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIHN0b3JlW2tleV0gfHwgKHN0b3JlW2tleV0gPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiB7fSk7XG59KSgndmVyc2lvbnMnLCBbXSkucHVzaCh7XG4gIHZlcnNpb246IGNvcmUudmVyc2lvbixcbiAgbW9kZTogcmVxdWlyZSgnLi9fbGlicmFyeScpID8gJ3B1cmUnIDogJ2dsb2JhbCcsXG4gIGNvcHlyaWdodDogJ8KpIDIwMTkgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSknXG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG1ldGhvZCwgYXJnKSB7XG4gIHJldHVybiAhIW1ldGhvZCAmJiBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtY2FsbFxuICAgIGFyZyA/IG1ldGhvZC5jYWxsKG51bGwsIGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfSwgMSkgOiBtZXRob2QuY2FsbChudWxsKTtcbiAgfSk7XG59O1xuIiwiLy8gaGVscGVyIGZvciBTdHJpbmcje3N0YXJ0c1dpdGgsIGVuZHNXaXRoLCBpbmNsdWRlc31cbnZhciBpc1JlZ0V4cCA9IHJlcXVpcmUoJy4vX2lzLXJlZ2V4cCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHRoYXQsIHNlYXJjaFN0cmluZywgTkFNRSkge1xuICBpZiAoaXNSZWdFeHAoc2VhcmNoU3RyaW5nKSkgdGhyb3cgVHlwZUVycm9yKCdTdHJpbmcjJyArIE5BTUUgKyBcIiBkb2Vzbid0IGFjY2VwdCByZWdleCFcIik7XG4gIHJldHVybiBTdHJpbmcoZGVmaW5lZCh0aGF0KSk7XG59O1xuIiwidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG4iLCIvLyA3LjEuNCBUb0ludGVnZXJcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpc05hTihpdCA9ICtpdCkgPyAwIDogKGl0ID4gMCA/IGZsb29yIDogY2VpbCkoaXQpO1xufTtcbiIsIi8vIHRvIGluZGV4ZWQgb2JqZWN0LCB0b09iamVjdCB3aXRoIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgc3RyaW5nc1xudmFyIElPYmplY3QgPSByZXF1aXJlKCcuL19pb2JqZWN0Jyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBJT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4iLCIvLyA3LjEuMTUgVG9MZW5ndGhcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPiAwID8gbWluKHRvSW50ZWdlcihpdCksIDB4MWZmZmZmZmZmZmZmZmYpIDogMDsgLy8gcG93KDIsIDUzKSAtIDEgPT0gOTAwNzE5OTI1NDc0MDk5MVxufTtcbiIsIi8vIDcuMS4xMyBUb09iamVjdChhcmd1bWVudClcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIE9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuIiwiLy8gNy4xLjEgVG9QcmltaXRpdmUoaW5wdXQgWywgUHJlZmVycmVkVHlwZV0pXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuIiwidmFyIGlkID0gMDtcbnZhciBweCA9IE1hdGgucmFuZG9tKCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuICdTeW1ib2woJy5jb25jYXQoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSwgJylfJywgKCsraWQgKyBweCkudG9TdHJpbmcoMzYpKTtcbn07XG4iLCJ2YXIgc3RvcmUgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnd2tzJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG52YXIgU3ltYm9sID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuU3ltYm9sO1xudmFyIFVTRV9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09ICdmdW5jdGlvbic7XG5cbnZhciAkZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIHN0b3JlW25hbWVdIHx8IChzdG9yZVtuYW1lXSA9XG4gICAgVVNFX1NZTUJPTCAmJiBTeW1ib2xbbmFtZV0gfHwgKFVTRV9TWU1CT0wgPyBTeW1ib2wgOiB1aWQpKCdTeW1ib2wuJyArIG5hbWUpKTtcbn07XG5cbiRleHBvcnRzLnN0b3JlID0gc3RvcmU7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRmb3JFYWNoID0gcmVxdWlyZSgnLi9fYXJyYXktbWV0aG9kcycpKDApO1xudmFyIFNUUklDVCA9IHJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5mb3JFYWNoLCB0cnVlKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAhU1RSSUNULCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMy4xMCAvIDE1LjQuNC4xOCBBcnJheS5wcm90b3R5cGUuZm9yRWFjaChjYWxsYmFja2ZuIFssIHRoaXNBcmddKVxuICBmb3JFYWNoOiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgcmV0dXJuICRmb3JFYWNoKHRoaXMsIGNhbGxiYWNrZm4sIGFyZ3VtZW50c1sxXSk7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMS4yLjMgTnVtYmVyLmlzSW50ZWdlcihudW1iZXIpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHsgaXNJbnRlZ2VyOiByZXF1aXJlKCcuL19pcy1pbnRlZ2VyJykgfSk7XG4iLCIvLyAyMS4xLjMuMTggU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoKHNlYXJjaFN0cmluZyBbLCBwb3NpdGlvbiBdKVxuJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGNvbnRleHQgPSByZXF1aXJlKCcuL19zdHJpbmctY29udGV4dCcpO1xudmFyIFNUQVJUU19XSVRIID0gJ3N0YXJ0c1dpdGgnO1xudmFyICRzdGFydHNXaXRoID0gJydbU1RBUlRTX1dJVEhdO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIHJlcXVpcmUoJy4vX2ZhaWxzLWlzLXJlZ2V4cCcpKFNUQVJUU19XSVRIKSwgJ1N0cmluZycsIHtcbiAgc3RhcnRzV2l0aDogZnVuY3Rpb24gc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcgLyogLCBwb3NpdGlvbiA9IDAgKi8pIHtcbiAgICB2YXIgdGhhdCA9IGNvbnRleHQodGhpcywgc2VhcmNoU3RyaW5nLCBTVEFSVFNfV0lUSCk7XG4gICAgdmFyIGluZGV4ID0gdG9MZW5ndGgoTWF0aC5taW4oYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQsIHRoYXQubGVuZ3RoKSk7XG4gICAgdmFyIHNlYXJjaCA9IFN0cmluZyhzZWFyY2hTdHJpbmcpO1xuICAgIHJldHVybiAkc3RhcnRzV2l0aFxuICAgICAgPyAkc3RhcnRzV2l0aC5jYWxsKHRoYXQsIHNlYXJjaCwgaW5kZXgpXG4gICAgICA6IHRoYXQuc2xpY2UoaW5kZXgsIGluZGV4ICsgc2VhcmNoLmxlbmd0aCkgPT09IHNlYXJjaDtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9BcnJheS5wcm90b3R5cGUuaW5jbHVkZXNcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGluY2x1ZGVzID0gcmVxdWlyZSgnLi9fYXJyYXktaW5jbHVkZXMnKSh0cnVlKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAsICdBcnJheScsIHtcbiAgaW5jbHVkZXM6IGZ1bmN0aW9uIGluY2x1ZGVzKGVsIC8qICwgZnJvbUluZGV4ID0gMCAqLykge1xuICAgIHJldHVybiAkaW5jbHVkZXModGhpcywgZWwsIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgfVxufSk7XG5cbnJlcXVpcmUoJy4vX2FkZC10by11bnNjb3BhYmxlcycpKCdpbmNsdWRlcycpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLyoqXG4gKiBbUmVjdXJzaXZlbHkgcGFyc2VzIGEgc3RyaW5naWZpZWQgSlNPTl1cbiAqIEBwYXJhbSAge1t0eXBlXX0ganNvblN0cmluZyBbc3RyaW5naWZpZWQganNvbiB0byBwYXJzZV1cbiAqIEByZXR1cm4ge1t0eXBlXX0gICAgICAgICAgICBbbm9ybWFsaXplZCBKYXZhc2NyaXB0IG9iamVjdF1cbiAqL1xuZnVuY3Rpb24gZGVlcFBhcnNlSnNvbihqc29uU3RyaW5nKSB7XG4gIC8vIGlmIG5vdCBzdHJpbmdpZmllZCBqc29uIHJhdGhlciBhIHNpbXBsZSBzdHJpbmcgdmFsdWUgdGhlbiBKU09OLnBhcnNlIHdpbGwgdGhyb3cgZXJyb3JcbiAgLy8gb3RoZXJ3aXNlIGNvbnRpbnVlIHJlY3Vyc2lvblxuICBpZiAodHlwZW9mIGpzb25TdHJpbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBkZWVwUGFyc2VKc29uKEpTT04ucGFyc2UoanNvblN0cmluZykpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIGpzb25TdHJpbmc7XG4gICAgfVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoanNvblN0cmluZykpIHtcbiAgICAvLyBpZiBhbiBhcnJheSBpcyByZWNlaXZlZCwgbWFwIG92ZXIgdGhlIGFycmF5IGFuZCBkZWVwUGFyc2UgZWFjaCB2YWx1ZVxuICAgIHJldHVybiBqc29uU3RyaW5nLm1hcCh2YWwgPT4gZGVlcFBhcnNlSnNvbih2YWwpKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YganNvblN0cmluZyA9PT0gJ29iamVjdCcgJiYganNvblN0cmluZyAhPT0gbnVsbCkge1xuICAgIC8vIGlmIGFuIG9iamVjdCBpcyByZWNlaXZlZCB0aGVuIGRlZXBQYXJzZSBlYWNoIGVsZW1lbnQgaW4gdGhlIG9iamVjdFxuICAgIC8vIHR5cGVvZiBudWxsIHJldHVybnMgJ29iamVjdCcgdG9vLCBzbyB3ZSBoYXZlIHRvIGVsaW1pbmF0ZSB0aGF0XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGpzb25TdHJpbmcpLnJlZHVjZSgob2JqLCBrZXkpID0+IHtcbiAgICAgIG9ialtrZXldID0gZGVlcFBhcnNlSnNvbihqc29uU3RyaW5nW2tleV0pO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gb3RoZXJ3aXNlIHJldHVybiB3aGF0ZXZlciB3YXMgcmVjZWl2ZWRcbiAgICByZXR1cm4ganNvblN0cmluZztcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHsgZGVlcFBhcnNlSnNvbiB9O1xuIiwiaWYoIWdsb2JhbFtcIkJhc2lzXCJdKSBnbG9iYWxbXCJCYXNpc1wiXSA9IHt9O1xubW9kdWxlLmV4cG9ydHMgPSBnbG9iYWxbXCJCYXNpc1wiXVtcIkFnR3JpZENvbXBvbmVudHNcIl0gPSByZXF1aXJlKFwiLSEuL2FnYy1iYXNpYy5idW5kbGUuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSBnbG9iYWxbXCJqc3NcIl0gPSByZXF1aXJlKFwiLSEuL2pzcy5qc1wiKTsiLCIvKlxuICogSlNTIHYwLjYgLSBKYXZhU2NyaXB0IFN0eWxlc2hlZXRzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vQm94OS9qc3NcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTEsIERhdmlkIFRhbmdcbiAqIE1JVCBMaWNlbnNlZCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHApXG4gKi9cbnZhciBqc3MgPSAoZnVuY3Rpb24oKSB7XG4gICAgdmFyIGFkalNlbEF0dHJSZWdleCA9IC8oKD86XFwufCMpW15cXC5cXHMjXSspKCg/OlxcLnwjKVteXFwuXFxzI10rKS9nO1xuICAgIHZhciBkb3VibGVDb2xvblBzZXVkb0VsUmVnZXggPSAvKDo6KShiZWZvcmV8YWZ0ZXJ8Zmlyc3QtbGluZXxmaXJzdC1sZXR0ZXJ8c2VsZWN0aW9uKS87XG4gICAgdmFyIHNpbmdsZUNvbG9uUHNldWRvRWxSZWdleCA9IC8oW146XSkoOikoYmVmb3JlfGFmdGVyfGZpcnN0LWxpbmV8Zmlyc3QtbGV0dGVyfHNlbGVjdGlvbikvO1xuICAgIHZhciBzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzOyAvLyBmbGFnIGZvciBvbGRlciBicm93c2Vyc1xuXG4gICAgZnVuY3Rpb24gZ2V0U2VsZWN0b3JzQW5kUnVsZXMoc2hlZXQpIHtcbiAgICAgICAgdmFyIHJ1bGVzID0gc2hlZXQuY3NzUnVsZXMgfHwgc2hlZXQucnVsZXMgfHwgW107XG4gICAgICAgIHZhciByZXN1bHRzID0ge307XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIC8vIE9sZGVyIGJyb3dzZXJzIGFuZCBGRiByZXBvcnQgcHNldWRvIGVsZW1lbnQgc2VsZWN0b3JzIGluIGFuIG91dGRhdGVkIGZvcm1hdFxuICAgICAgICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhydWxlc1tpXS5zZWxlY3RvclRleHQpO1xuICAgICAgICAgICAgaWYgKCFyZXN1bHRzW3NlbGVjdG9yVGV4dF0pIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzW3NlbGVjdG9yVGV4dF0gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdHNbc2VsZWN0b3JUZXh0XS5wdXNoKHtcbiAgICAgICAgICAgICAgICBzaGVldDogc2hlZXQsXG4gICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2ldLnN0eWxlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRSdWxlcyhzaGVldCwgc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHJ1bGVzID0gc2hlZXQuY3NzUnVsZXMgfHwgc2hlZXQucnVsZXMgfHwgW107XG4gICAgICAgIHZhciByZXN1bHRzID0gW107XG4gICAgICAgIC8vIEJyb3dzZXJzIHJlcG9ydCBzZWxlY3RvcnMgaW4gbG93ZXJjYXNlXG4gICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IHJ1bGVzW2ldLnNlbGVjdG9yVGV4dDtcbiAgICAgICAgICAgIC8vIE5vdGUgLSBjZXJ0YWluIHJ1bGVzIChlLmcuIEBydWxlcykgZG9uJ3QgaGF2ZSBzZWxlY3RvclRleHRcbiAgICAgICAgICAgIGlmIChzZWxlY3RvclRleHQgJiYgKHNlbGVjdG9yVGV4dCA9PSBzZWxlY3RvciB8fCBzZWxlY3RvclRleHQgPT0gc3dhcEFkalNlbEF0dHIoc2VsZWN0b3IpIHx8IHNlbGVjdG9yVGV4dCA9PSBzd2FwUHNldWRvRWxTeW50YXgoc2VsZWN0b3IpKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHNoZWV0OiBzaGVldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiBydWxlc1tpXS5zdHlsZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFkZFJ1bGUoc2hlZXQsIHNlbGVjdG9yKSB7XG4gICAgICAgIHZhciBydWxlcyA9IHNoZWV0LmNzc1J1bGVzIHx8IHNoZWV0LnJ1bGVzIHx8IFtdO1xuICAgICAgICB2YXIgaW5kZXggPSBydWxlcy5sZW5ndGg7XG4gICAgICAgIHZhciBwc2V1ZG9FbGVtZW50UnVsZSA9IGFkZFBzZXVkb0VsZW1lbnRSdWxlKHNoZWV0LCBzZWxlY3RvciwgcnVsZXMsIGluZGV4KTtcblxuICAgICAgICBpZiAoIXBzZXVkb0VsZW1lbnRSdWxlKSB7XG4gICAgICAgICAgICBhZGRSdWxlVG9TaGVldChzaGVldCwgc2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNoZWV0OiBzaGVldCxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgIHN0eWxlOiBydWxlc1tpbmRleF0uc3R5bGVcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gYWRkUnVsZVRvU2hlZXQoc2hlZXQsIHNlbGVjdG9yLCBpbmRleCkge1xuICAgICAgICBpZiAoc2hlZXQuaW5zZXJ0UnVsZSkge1xuICAgICAgICAgICAgc2hlZXQuaW5zZXJ0UnVsZShzZWxlY3RvciArICcgeyB9JywgaW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2hlZXQuYWRkUnVsZShzZWxlY3RvciwgbnVsbCwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcyBzaW5nbGUgY29sb24gc3ludGF4IGZvciBvbGRlciBicm93c2VycyBhbmQgYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTY1MVxuICAgIGZ1bmN0aW9uIGFkZFBzZXVkb0VsZW1lbnRSdWxlKHNoZWV0LCBzZWxlY3RvciwgcnVsZXMsIGluZGV4KSB7XG4gICAgICAgIHZhciBkb3VibGVDb2xvblNlbGVjdG9yO1xuICAgICAgICB2YXIgc2luZ2xlQ29sb25TZWxlY3RvcjtcblxuICAgICAgICBpZiAoZG91YmxlQ29sb25Qc2V1ZG9FbFJlZ2V4LmV4ZWMoc2VsZWN0b3IpKSB7XG4gICAgICAgICAgICBkb3VibGVDb2xvblNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgICAgICAgICBzaW5nbGVDb2xvblNlbGVjdG9yID0gdG9TaW5nbGVDb2xvblBzZXVkb0VsZW1lbnRzKHNlbGVjdG9yKTtcbiAgICAgICAgfSBlbHNlIGlmIChzaW5nbGVDb2xvblBzZXVkb0VsUmVnZXguZXhlYyhzZWxlY3RvcikpIHtcbiAgICAgICAgICAgIGRvdWJsZUNvbG9uU2VsZWN0b3IgPSB0b0RvdWJsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpO1xuICAgICAgICAgICAgc2luZ2xlQ29sb25TZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBOb3QgZGVhbGluZyB3aXRoIGEgcHNldWRvIGVsZW1lbnRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2luZ2xlQ29sb25Gb3JQc2V1ZG9FbGVtZW50cykge1xuICAgICAgICAgICAgLy8gQXNzdW1lIG1vZGVybiBicm93c2VyIGFuZCB0aGVuIGNoZWNrIGlmIHN1Y2Nlc3NmdWxcbiAgICAgICAgICAgIGFkZFJ1bGVUb1NoZWV0KHNoZWV0LCBkb3VibGVDb2xvblNlbGVjdG9yLCBpbmRleCk7XG4gICAgICAgICAgICBpZiAocnVsZXMubGVuZ3RoIDw9IGluZGV4KSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQ29sb25Gb3JQc2V1ZG9FbGVtZW50cyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbmdsZUNvbG9uRm9yUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgICAgIGFkZFJ1bGVUb1NoZWV0KHNoZWV0LCBzaW5nbGVDb2xvblNlbGVjdG9yLCBpbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0b0RvdWJsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yLnJlcGxhY2Uoc2luZ2xlQ29sb25Qc2V1ZG9FbFJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gsIHN1Ym1hdGNoMSwgc3VibWF0Y2gyLCBzdWJtYXRjaDMpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWJtYXRjaDEgKyAnOjonICsgc3VibWF0Y2gzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0b1NpbmdsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yLnJlcGxhY2UoZG91YmxlQ29sb25Qc2V1ZG9FbFJlZ2V4LCBmdW5jdGlvbihtYXRjaCwgc3VibWF0Y2gxLCBzdWJtYXRjaDIpIHtcbiAgICAgICAgICAgIHJldHVybiAnOicgKyBzdWJtYXRjaDI7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVtb3ZlUnVsZShydWxlKSB7XG4gICAgICAgIHZhciBzaGVldCA9IHJ1bGUuc2hlZXQ7XG4gICAgICAgIGlmIChzaGVldC5kZWxldGVSdWxlKSB7XG4gICAgICAgICAgICBzaGVldC5kZWxldGVSdWxlKHJ1bGUuaW5kZXgpO1xuICAgICAgICB9IGVsc2UgaWYgKHNoZWV0LnJlbW92ZVJ1bGUpIHtcbiAgICAgICAgICAgIHNoZWV0LnJlbW92ZVJ1bGUocnVsZS5pbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBleHRlbmQoZGVzdCwgc3JjKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBzcmMpIHtcbiAgICAgICAgICAgIGlmICghc3JjLmhhc093blByb3BlcnR5KGtleSkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBkZXN0W2tleV0gPSBzcmNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVzdDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhZ2dyZWdhdGVTdHlsZXMocnVsZXMpIHtcbiAgICAgICAgdmFyIGFnZ3JlZ2F0ZSA9IHt9O1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBleHRlbmQoYWdncmVnYXRlLCBkZWNsYXJlZFByb3BlcnRpZXMocnVsZXNbaV0uc3R5bGUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWdncmVnYXRlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRlY2xhcmVkUHJvcGVydGllcyhzdHlsZSkge1xuICAgICAgICB2YXIgZGVjbGFyZWQgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZGVjbGFyZWRbc3R5bGVbaV1dID0gc3R5bGVbdG9DYW1lbENhc2Uoc3R5bGVbaV0pXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVjbGFyZWQ7XG4gICAgfVxuXG4gICAgLy8gSUU5IHN0b3JlcyBydWxlcyB3aXRoIGF0dHJpYnV0ZXMgKGNsYXNzZXMgb3IgSUQncykgYWRqYWNlbnQgaW4gdGhlIG9wcG9zaXRlIG9yZGVyIGFzIGRlZmluZWRcbiAgICAvLyBjYXVzaW5nIHRoZW0gdG8gbm90IGJlIGZvdW5kLCBzbyB0aGlzIG1ldGhvZCBzd2FwcyBbI3wuXXNlbDFbI3wuXXNlbDIgdG8gYmVjb21lIFsjfC5dc2VsMlsjfC5dc2VsMVxuICAgIGZ1bmN0aW9uIHN3YXBBZGpTZWxBdHRyKHNlbGVjdG9yKSB7XG4gICAgICAgIHZhciBzd2FwID0gJyc7XG4gICAgICAgIHZhciBsYXN0SW5kZXggPSAwO1xuICAgICAgICAgICAgXG4gICAgICAgIHdoaWxlICgobWF0Y2ggPSBhZGpTZWxBdHRyUmVnZXguZXhlYyhzZWxlY3RvcikpICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChtYXRjaFswXSA9PT0gJycpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBzd2FwICs9IHNlbGVjdG9yLnN1YnN0cmluZyhsYXN0SW5kZXgsIG1hdGNoLmluZGV4KTtcbiAgICAgICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyKG1hdGNoLmluZGV4ICsgbWF0Y2hbMV0ubGVuZ3RoLCBtYXRjaFsyXS5sZW5ndGgpO1xuICAgICAgICAgICAgc3dhcCArPSBzZWxlY3Rvci5zdWJzdHIobWF0Y2guaW5kZXgsIG1hdGNoWzFdLmxlbmd0aCk7XG4gICAgICAgICAgICBsYXN0SW5kZXggPSBtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBzd2FwICs9IHNlbGVjdG9yLnN1YnN0cihsYXN0SW5kZXgpO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHN3YXA7XG4gICAgfTtcblxuICAgIC8vIEZGIGFuZCBvbGRlciBicm93c2VycyBzdG9yZSBydWxlcyB3aXRoIHBzZXVkbyBlbGVtZW50cyB1c2luZyBzaW5nbGUtY29sb24gc3ludGF4XG4gICAgZnVuY3Rpb24gc3dhcFBzZXVkb0VsU3ludGF4KHNlbGVjdG9yKSB7XG4gICAgICAgIGlmIChkb3VibGVDb2xvblBzZXVkb0VsUmVnZXguZXhlYyhzZWxlY3RvcikpIHtcbiAgICAgICAgICAgIHJldHVybiB0b1NpbmdsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZWxlY3RvcjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXRTdHlsZVByb3BlcnRpZXMocnVsZSwgcHJvcGVydGllcykge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gcHJvcGVydGllc1trZXldO1xuICAgICAgICAgICAgdmFyIGltcG9ydGFudEluZGV4ID0gdmFsdWUuaW5kZXhPZignICFpbXBvcnRhbnQnKTtcblxuICAgICAgICAgICAgLy8gTW9kZXJuIGJyb3dzZXJzIHNlZW0gdG8gaGFuZGxlIG92ZXJyaWRlcyBmaW5lLCBidXQgSUU5IGRvZXNuJ3RcbiAgICAgICAgICAgIHJ1bGUuc3R5bGUucmVtb3ZlUHJvcGVydHkoa2V5KTsgXG4gICAgICAgICAgICBpZiAoaW1wb3J0YW50SW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgcnVsZS5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIHZhbHVlLnN1YnN0cigwLCBpbXBvcnRhbnRJbmRleCksICdpbXBvcnRhbnQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcnVsZS5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvQ2FtZWxDYXNlKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLy0oW2Etel0pL2csIGZ1bmN0aW9uIChtYXRjaCwgc3VibWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWJtYXRjaC50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1DYW1lbENhc2VkUHJvcGVydHlOYW1lcyhvbGRQcm9wcykge1xuICAgICAgICB2YXIgbmV3UHJvcHMgPSB7fTtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIG9sZFByb3BzKSB7XG4gICAgICAgICAgICBuZXdQcm9wc1t1bkNhbWVsQ2FzZShrZXkpXSA9IG9sZFByb3BzW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ld1Byb3BzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHVuQ2FtZWxDYXNlKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbQS1aXSkvZywgZnVuY3Rpb24obWF0Y2gsIHN1Ym1hdGNoKSB7XG4gICAgICAgICAgICByZXR1cm4gJy0nICsgc3VibWF0Y2gudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIEpzcyA9IGZ1bmN0aW9uKGRvYykge1xuICAgICAgICB0aGlzLmRvYyA9IGRvYztcbiAgICAgICAgdGhpcy5oZWFkID0gdGhpcy5kb2MuaGVhZCB8fCB0aGlzLmRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICB0aGlzLnNoZWV0cyA9IHRoaXMuZG9jLnN0eWxlU2hlZXRzIHx8IFtdO1xuICAgIH07XG5cbiAgICBKc3MucHJvdG90eXBlID0ge1xuICAgICAgICAvLyBSZXR1cm5zIEpTUyBydWxlcyAoc2VsZWN0b3IgaXMgb3B0aW9uYWwpXG4gICAgICAgIGdldDogZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0U2hlZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWdncmVnYXRlU3R5bGVzKGdldFJ1bGVzKHRoaXMuZGVmYXVsdFNoZWV0LCBzZWxlY3RvcikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHJ1bGVzID0gZ2V0U2VsZWN0b3JzQW5kUnVsZXModGhpcy5kZWZhdWx0U2hlZXQpO1xuICAgICAgICAgICAgZm9yIChzZWxlY3RvciBpbiBydWxlcykge1xuICAgICAgICAgICAgICAgIHJ1bGVzW3NlbGVjdG9yXSA9IGFnZ3JlZ2F0ZVN0eWxlcyhydWxlc1tzZWxlY3Rvcl0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGVzO1xuICAgICAgICB9LFxuICAgICAgICAvLyBSZXR1cm5zIGFsbCBydWxlcyAoc2VsZWN0b3IgaXMgcmVxdWlyZWQpXG4gICAgICAgIGdldEFsbDogZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHZhciBwcm9wZXJ0aWVzID0ge307XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuc2hlZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZXh0ZW5kKHByb3BlcnRpZXMsIGFnZ3JlZ2F0ZVN0eWxlcyhnZXRSdWxlcyh0aGlzLnNoZWV0c1tpXSwgc2VsZWN0b3IpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcHJvcGVydGllcztcbiAgICAgICAgfSxcbiAgICAgICAgLy8gQWRkcyBKU1MgcnVsZXMgZm9yIHRoZSBzZWxlY3RvciBiYXNlZCBvbiB0aGUgZ2l2ZW4gcHJvcGVydGllc1xuICAgICAgICBzZXQ6IGZ1bmN0aW9uKHNlbGVjdG9yLCBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGVmYXVsdFNoZWV0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0U2hlZXQgPSB0aGlzLl9jcmVhdGVTaGVldCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJvcGVydGllcyA9IHRyYW5zZm9ybUNhbWVsQ2FzZWRQcm9wZXJ0eU5hbWVzKHByb3BlcnRpZXMpO1xuICAgICAgICAgICAgdmFyIHJ1bGVzID0gZ2V0UnVsZXModGhpcy5kZWZhdWx0U2hlZXQsIHNlbGVjdG9yKTtcbiAgICAgICAgICAgIGlmICghcnVsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcnVsZXMgPSBbYWRkUnVsZSh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBzZXRTdHlsZVByb3BlcnRpZXMocnVsZXNbaV0sIHByb3BlcnRpZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAvLyBSZW1vdmVzIEpTUyBydWxlcyAoc2VsZWN0b3IgaXMgb3B0aW9uYWwpXG4gICAgICAgIHJlbW92ZTogZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0U2hlZXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZVNoZWV0KHRoaXMuZGVmYXVsdFNoZWV0KTtcbiAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5kZWZhdWx0U2hlZXQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHJ1bGVzID0gZ2V0UnVsZXModGhpcy5kZWZhdWx0U2hlZXQsIHNlbGVjdG9yKTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICByZW1vdmVSdWxlKHJ1bGVzW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBydWxlcy5sZW5ndGg7XG4gICAgICAgIH0sXG4gICAgICAgIF9jcmVhdGVTaGVldDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGVOb2RlID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgIHN0eWxlTm9kZS50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgICAgICB0aGlzLmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVOb2RlKTtcbiAgICAgICAgICAgIHJldHVybiBzdHlsZU5vZGUuc2hlZXQ7XG4gICAgICAgIH0sXG4gICAgICAgIF9yZW1vdmVTaGVldDogZnVuY3Rpb24oc2hlZXQpIHtcbiAgICAgICAgICAgIHZhciBub2RlID0gc2hlZXQub3duZXJOb2RlO1xuICAgICAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHZhciBleHBvcnRzID0gbmV3IEpzcyhkb2N1bWVudCk7XG4gICAgZXhwb3J0cy5mb3JEb2N1bWVudCA9IGZ1bmN0aW9uKGRvYykge1xuICAgICAgICByZXR1cm4gbmV3IEpzcyhkb2MpO1xuICAgIH07XG4gICAgcmV0dXJuIGV4cG9ydHM7XG59KSgpO1xuXG50eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiBtb2R1bGUuZXhwb3J0cyAmJiAobW9kdWxlLmV4cG9ydHMgPSBqc3MpOyAvLyBDb21tb25KUyBzdXBwb3J0IiwidmFyIHJvb3QgPSByZXF1aXJlKCcuL19yb290Jyk7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIFN5bWJvbCA9IHJvb3QuU3ltYm9sO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFN5bWJvbDtcbiIsIi8qKlxuICogQSBmYXN0ZXIgYWx0ZXJuYXRpdmUgdG8gYEZ1bmN0aW9uI2FwcGx5YCwgdGhpcyBmdW5jdGlvbiBpbnZva2VzIGBmdW5jYFxuICogd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgYHRoaXNBcmdgIGFuZCB0aGUgYXJndW1lbnRzIG9mIGBhcmdzYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICogQHBhcmFtIHsqfSB0aGlzQXJnIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gKiBAcGFyYW0ge0FycmF5fSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuXG4gKi9cbmZ1bmN0aW9uIGFwcGx5KGZ1bmMsIHRoaXNBcmcsIGFyZ3MpIHtcbiAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgIGNhc2UgMDogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnKTtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jLmNhbGwodGhpc0FyZywgYXJnc1swXSk7XG4gICAgY2FzZSAyOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgfVxuICByZXR1cm4gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcHBseTtcbiIsInZhciBiYXNlVGltZXMgPSByZXF1aXJlKCcuL19iYXNlVGltZXMnKSxcbiAgICBpc0FyZ3VtZW50cyA9IHJlcXVpcmUoJy4vaXNBcmd1bWVudHMnKSxcbiAgICBpc0FycmF5ID0gcmVxdWlyZSgnLi9pc0FycmF5JyksXG4gICAgaXNCdWZmZXIgPSByZXF1aXJlKCcuL2lzQnVmZmVyJyksXG4gICAgaXNJbmRleCA9IHJlcXVpcmUoJy4vX2lzSW5kZXgnKSxcbiAgICBpc1R5cGVkQXJyYXkgPSByZXF1aXJlKCcuL2lzVHlwZWRBcnJheScpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgdGhlIGFycmF5LWxpa2UgYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGluaGVyaXRlZCBTcGVjaWZ5IHJldHVybmluZyBpbmhlcml0ZWQgcHJvcGVydHkgbmFtZXMuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBhcnJheUxpa2VLZXlzKHZhbHVlLCBpbmhlcml0ZWQpIHtcbiAgdmFyIGlzQXJyID0gaXNBcnJheSh2YWx1ZSksXG4gICAgICBpc0FyZyA9ICFpc0FyciAmJiBpc0FyZ3VtZW50cyh2YWx1ZSksXG4gICAgICBpc0J1ZmYgPSAhaXNBcnIgJiYgIWlzQXJnICYmIGlzQnVmZmVyKHZhbHVlKSxcbiAgICAgIGlzVHlwZSA9ICFpc0FyciAmJiAhaXNBcmcgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkodmFsdWUpLFxuICAgICAgc2tpcEluZGV4ZXMgPSBpc0FyciB8fCBpc0FyZyB8fCBpc0J1ZmYgfHwgaXNUeXBlLFxuICAgICAgcmVzdWx0ID0gc2tpcEluZGV4ZXMgPyBiYXNlVGltZXModmFsdWUubGVuZ3RoLCBTdHJpbmcpIDogW10sXG4gICAgICBsZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuXG4gIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgIGlmICgoaW5oZXJpdGVkIHx8IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIGtleSkpICYmXG4gICAgICAgICEoc2tpcEluZGV4ZXMgJiYgKFxuICAgICAgICAgICAvLyBTYWZhcmkgOSBoYXMgZW51bWVyYWJsZSBgYXJndW1lbnRzLmxlbmd0aGAgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgICAgIGtleSA9PSAnbGVuZ3RoJyB8fFxuICAgICAgICAgICAvLyBOb2RlLmpzIDAuMTAgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gYnVmZmVycy5cbiAgICAgICAgICAgKGlzQnVmZiAmJiAoa2V5ID09ICdvZmZzZXQnIHx8IGtleSA9PSAncGFyZW50JykpIHx8XG4gICAgICAgICAgIC8vIFBoYW50b21KUyAyIGhhcyBlbnVtZXJhYmxlIG5vbi1pbmRleCBwcm9wZXJ0aWVzIG9uIHR5cGVkIGFycmF5cy5cbiAgICAgICAgICAgKGlzVHlwZSAmJiAoa2V5ID09ICdidWZmZXInIHx8IGtleSA9PSAnYnl0ZUxlbmd0aCcgfHwga2V5ID09ICdieXRlT2Zmc2V0JykpIHx8XG4gICAgICAgICAgIC8vIFNraXAgaW5kZXggcHJvcGVydGllcy5cbiAgICAgICAgICAgaXNJbmRleChrZXksIGxlbmd0aClcbiAgICAgICAgKSkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXJyYXlMaWtlS2V5cztcbiIsIi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLm1hcGAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlXG4gKiBzaG9ydGhhbmRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgbWFwcGVkIGFycmF5LlxuICovXG5mdW5jdGlvbiBhcnJheU1hcChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXJyYXlNYXA7XG4iLCJ2YXIgYmFzZUFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYmFzZUFzc2lnblZhbHVlJyksXG4gICAgZXEgPSByZXF1aXJlKCcuL2VxJyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogQXNzaWducyBgdmFsdWVgIHRvIGBrZXlgIG9mIGBvYmplY3RgIGlmIHRoZSBleGlzdGluZyB2YWx1ZSBpcyBub3QgZXF1aXZhbGVudFxuICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgdmFyIG9ialZhbHVlID0gb2JqZWN0W2tleV07XG4gIGlmICghKGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpICYmIGVxKG9ialZhbHVlLCB2YWx1ZSkpIHx8XG4gICAgICAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSkge1xuICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXNzaWduVmFsdWU7XG4iLCJ2YXIgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKCcuL19kZWZpbmVQcm9wZXJ0eScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBhc3NpZ25WYWx1ZWAgYW5kIGBhc3NpZ25NZXJnZVZhbHVlYCB3aXRob3V0XG4gKiB2YWx1ZSBjaGVja3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGFzc2lnbi5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAqL1xuZnVuY3Rpb24gYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5ID09ICdfX3Byb3RvX18nICYmIGRlZmluZVByb3BlcnR5KSB7XG4gICAgZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXksIHtcbiAgICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICAgJ2VudW1lcmFibGUnOiB0cnVlLFxuICAgICAgJ3ZhbHVlJzogdmFsdWUsXG4gICAgICAnd3JpdGFibGUnOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VBc3NpZ25WYWx1ZTtcbiIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKSxcbiAgICBnZXRSYXdUYWcgPSByZXF1aXJlKCcuL19nZXRSYXdUYWcnKSxcbiAgICBvYmplY3RUb1N0cmluZyA9IHJlcXVpcmUoJy4vX29iamVjdFRvU3RyaW5nJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBudWxsVGFnID0gJ1tvYmplY3QgTnVsbF0nLFxuICAgIHVuZGVmaW5lZFRhZyA9ICdbb2JqZWN0IFVuZGVmaW5lZF0nO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBzeW1Ub1N0cmluZ1RhZyA9IFN5bWJvbCA/IFN5bWJvbC50b1N0cmluZ1RhZyA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0VGFnYCB3aXRob3V0IGZhbGxiYWNrcyBmb3IgYnVnZ3kgZW52aXJvbm1lbnRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gKi9cbmZ1bmN0aW9uIGJhc2VHZXRUYWcodmFsdWUpIHtcbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZFRhZyA6IG51bGxUYWc7XG4gIH1cbiAgcmV0dXJuIChzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QodmFsdWUpKVxuICAgID8gZ2V0UmF3VGFnKHZhbHVlKVxuICAgIDogb2JqZWN0VG9TdHJpbmcodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VHZXRUYWc7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgYXJnc1RhZyA9ICdbb2JqZWN0IEFyZ3VtZW50c10nO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzQXJndW1lbnRzYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBgYXJndW1lbnRzYCBvYmplY3QsXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc0FyZ3VtZW50cyh2YWx1ZSkge1xuICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBhcmdzVGFnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VJc0FyZ3VtZW50cztcbiIsInZhciBpc0Z1bmN0aW9uID0gcmVxdWlyZSgnLi9pc0Z1bmN0aW9uJyksXG4gICAgaXNNYXNrZWQgPSByZXF1aXJlKCcuL19pc01hc2tlZCcpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpLFxuICAgIHRvU291cmNlID0gcmVxdWlyZSgnLi9fdG9Tb3VyY2UnKTtcblxuLyoqXG4gKiBVc2VkIHRvIG1hdGNoIGBSZWdFeHBgXG4gKiBbc3ludGF4IGNoYXJhY3RlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXBhdHRlcm5zKS5cbiAqL1xudmFyIHJlUmVnRXhwQ2hhciA9IC9bXFxcXF4kLiorPygpW1xcXXt9fF0vZztcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGhvc3QgY29uc3RydWN0b3JzIChTYWZhcmkpLiAqL1xudmFyIHJlSXNIb3N0Q3RvciA9IC9eXFxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXFxdJC87XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byByZXNvbHZlIHRoZSBkZWNvbXBpbGVkIHNvdXJjZSBvZiBmdW5jdGlvbnMuICovXG52YXIgZnVuY1RvU3RyaW5nID0gZnVuY1Byb3RvLnRvU3RyaW5nO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaWYgYSBtZXRob2QgaXMgbmF0aXZlLiAqL1xudmFyIHJlSXNOYXRpdmUgPSBSZWdFeHAoJ14nICtcbiAgZnVuY1RvU3RyaW5nLmNhbGwoaGFzT3duUHJvcGVydHkpLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFxcXFwoKXwgZm9yIC4rPyg/PVxcXFxcXF0pL2csICckMS4qPycpICsgJyQnXG4pO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTmF0aXZlYCB3aXRob3V0IGJhZCBzaGltIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAqICBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc05hdGl2ZSh2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0KHZhbHVlKSB8fCBpc01hc2tlZCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHBhdHRlcm4gPSBpc0Z1bmN0aW9uKHZhbHVlKSA/IHJlSXNOYXRpdmUgOiByZUlzSG9zdEN0b3I7XG4gIHJldHVybiBwYXR0ZXJuLnRlc3QodG9Tb3VyY2UodmFsdWUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNOYXRpdmU7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc0xlbmd0aCA9IHJlcXVpcmUoJy4vaXNMZW5ndGgnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgYXJnc1RhZyA9ICdbb2JqZWN0IEFyZ3VtZW50c10nLFxuICAgIGFycmF5VGFnID0gJ1tvYmplY3QgQXJyYXldJyxcbiAgICBib29sVGFnID0gJ1tvYmplY3QgQm9vbGVhbl0nLFxuICAgIGRhdGVUYWcgPSAnW29iamVjdCBEYXRlXScsXG4gICAgZXJyb3JUYWcgPSAnW29iamVjdCBFcnJvcl0nLFxuICAgIGZ1bmNUYWcgPSAnW29iamVjdCBGdW5jdGlvbl0nLFxuICAgIG1hcFRhZyA9ICdbb2JqZWN0IE1hcF0nLFxuICAgIG51bWJlclRhZyA9ICdbb2JqZWN0IE51bWJlcl0nLFxuICAgIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nLFxuICAgIHJlZ2V4cFRhZyA9ICdbb2JqZWN0IFJlZ0V4cF0nLFxuICAgIHNldFRhZyA9ICdbb2JqZWN0IFNldF0nLFxuICAgIHN0cmluZ1RhZyA9ICdbb2JqZWN0IFN0cmluZ10nLFxuICAgIHdlYWtNYXBUYWcgPSAnW29iamVjdCBXZWFrTWFwXSc7XG5cbnZhciBhcnJheUJ1ZmZlclRhZyA9ICdbb2JqZWN0IEFycmF5QnVmZmVyXScsXG4gICAgZGF0YVZpZXdUYWcgPSAnW29iamVjdCBEYXRhVmlld10nLFxuICAgIGZsb2F0MzJUYWcgPSAnW29iamVjdCBGbG9hdDMyQXJyYXldJyxcbiAgICBmbG9hdDY0VGFnID0gJ1tvYmplY3QgRmxvYXQ2NEFycmF5XScsXG4gICAgaW50OFRhZyA9ICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgIGludDE2VGFnID0gJ1tvYmplY3QgSW50MTZBcnJheV0nLFxuICAgIGludDMyVGFnID0gJ1tvYmplY3QgSW50MzJBcnJheV0nLFxuICAgIHVpbnQ4VGFnID0gJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgIHVpbnQ4Q2xhbXBlZFRhZyA9ICdbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XScsXG4gICAgdWludDE2VGFnID0gJ1tvYmplY3QgVWludDE2QXJyYXldJyxcbiAgICB1aW50MzJUYWcgPSAnW29iamVjdCBVaW50MzJBcnJheV0nO1xuXG4vKiogVXNlZCB0byBpZGVudGlmeSBgdG9TdHJpbmdUYWdgIHZhbHVlcyBvZiB0eXBlZCBhcnJheXMuICovXG52YXIgdHlwZWRBcnJheVRhZ3MgPSB7fTtcbnR5cGVkQXJyYXlUYWdzW2Zsb2F0MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbZmxvYXQ2NFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbaW50OFRhZ10gPSB0eXBlZEFycmF5VGFnc1tpbnQxNlRhZ10gPVxudHlwZWRBcnJheVRhZ3NbaW50MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbdWludDhUYWddID1cbnR5cGVkQXJyYXlUYWdzW3VpbnQ4Q2xhbXBlZFRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50MTZUYWddID1cbnR5cGVkQXJyYXlUYWdzW3VpbnQzMlRhZ10gPSB0cnVlO1xudHlwZWRBcnJheVRhZ3NbYXJnc1RhZ10gPSB0eXBlZEFycmF5VGFnc1thcnJheVRhZ10gPVxudHlwZWRBcnJheVRhZ3NbYXJyYXlCdWZmZXJUYWddID0gdHlwZWRBcnJheVRhZ3NbYm9vbFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbZGF0YVZpZXdUYWddID0gdHlwZWRBcnJheVRhZ3NbZGF0ZVRhZ10gPVxudHlwZWRBcnJheVRhZ3NbZXJyb3JUYWddID0gdHlwZWRBcnJheVRhZ3NbZnVuY1RhZ10gPVxudHlwZWRBcnJheVRhZ3NbbWFwVGFnXSA9IHR5cGVkQXJyYXlUYWdzW251bWJlclRhZ10gPVxudHlwZWRBcnJheVRhZ3Nbb2JqZWN0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3JlZ2V4cFRhZ10gPVxudHlwZWRBcnJheVRhZ3Nbc2V0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3N0cmluZ1RhZ10gPVxudHlwZWRBcnJheVRhZ3Nbd2Vha01hcFRhZ10gPSBmYWxzZTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1R5cGVkQXJyYXlgIHdpdGhvdXQgTm9kZS5qcyBvcHRpbWl6YXRpb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdHlwZWQgYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUlzVHlwZWRBcnJheSh2YWx1ZSkge1xuICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJlxuICAgIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgISF0eXBlZEFycmF5VGFnc1tiYXNlR2V0VGFnKHZhbHVlKV07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUlzVHlwZWRBcnJheTtcbiIsInZhciBpc1Byb3RvdHlwZSA9IHJlcXVpcmUoJy4vX2lzUHJvdG90eXBlJyksXG4gICAgbmF0aXZlS2V5cyA9IHJlcXVpcmUoJy4vX25hdGl2ZUtleXMnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5rZXlzYCB3aGljaCBkb2Vzbid0IHRyZWF0IHNwYXJzZSBhcnJheXMgYXMgZGVuc2UuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGJhc2VLZXlzKG9iamVjdCkge1xuICBpZiAoIWlzUHJvdG90eXBlKG9iamVjdCkpIHtcbiAgICByZXR1cm4gbmF0aXZlS2V5cyhvYmplY3QpO1xuICB9XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpICYmIGtleSAhPSAnY29uc3RydWN0b3InKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VLZXlzO1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpLFxuICAgIGlzUHJvdG90eXBlID0gcmVxdWlyZSgnLi9faXNQcm90b3R5cGUnKSxcbiAgICBuYXRpdmVLZXlzSW4gPSByZXF1aXJlKCcuL19uYXRpdmVLZXlzSW4nKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5rZXlzSW5gIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gYmFzZUtleXNJbihvYmplY3QpIHtcbiAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgcmV0dXJuIG5hdGl2ZUtleXNJbihvYmplY3QpO1xuICB9XG4gIHZhciBpc1Byb3RvID0gaXNQcm90b3R5cGUob2JqZWN0KSxcbiAgICAgIHJlc3VsdCA9IFtdO1xuXG4gIGZvciAodmFyIGtleSBpbiBvYmplY3QpIHtcbiAgICBpZiAoIShrZXkgPT0gJ2NvbnN0cnVjdG9yJyAmJiAoaXNQcm90byB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlS2V5c0luO1xuIiwiLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5wcm9wZXJ0eU9mYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBiYXNlUHJvcGVydHlPZihvYmplY3QpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGtleSkge1xuICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VQcm9wZXJ0eU9mO1xuIiwidmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9pZGVudGl0eScpLFxuICAgIG92ZXJSZXN0ID0gcmVxdWlyZSgnLi9fb3ZlclJlc3QnKSxcbiAgICBzZXRUb1N0cmluZyA9IHJlcXVpcmUoJy4vX3NldFRvU3RyaW5nJyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucmVzdGAgd2hpY2ggZG9lc24ndCB2YWxpZGF0ZSBvciBjb2VyY2UgYXJndW1lbnRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VSZXN0KGZ1bmMsIHN0YXJ0KSB7XG4gIHJldHVybiBzZXRUb1N0cmluZyhvdmVyUmVzdChmdW5jLCBzdGFydCwgaWRlbnRpdHkpLCBmdW5jICsgJycpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VSZXN0O1xuIiwidmFyIGNvbnN0YW50ID0gcmVxdWlyZSgnLi9jb25zdGFudCcpLFxuICAgIGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fZGVmaW5lUHJvcGVydHknKSxcbiAgICBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHknKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgc2V0VG9TdHJpbmdgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaG90IGxvb3Agc2hvcnRpbmcuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICovXG52YXIgYmFzZVNldFRvU3RyaW5nID0gIWRlZmluZVByb3BlcnR5ID8gaWRlbnRpdHkgOiBmdW5jdGlvbihmdW5jLCBzdHJpbmcpIHtcbiAgcmV0dXJuIGRlZmluZVByb3BlcnR5KGZ1bmMsICd0b1N0cmluZycsIHtcbiAgICAnY29uZmlndXJhYmxlJzogdHJ1ZSxcbiAgICAnZW51bWVyYWJsZSc6IGZhbHNlLFxuICAgICd2YWx1ZSc6IGNvbnN0YW50KHN0cmluZyksXG4gICAgJ3dyaXRhYmxlJzogdHJ1ZVxuICB9KTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVNldFRvU3RyaW5nO1xuIiwiLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50aW1lc2Agd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzXG4gKiBvciBtYXggYXJyYXkgbGVuZ3RoIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiB0aW1lcyB0byBpbnZva2UgYGl0ZXJhdGVlYC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gKi9cbmZ1bmN0aW9uIGJhc2VUaW1lcyhuLCBpdGVyYXRlZSkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIHJlc3VsdCA9IEFycmF5KG4pO1xuXG4gIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShpbmRleCk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVGltZXM7XG4iLCJ2YXIgU3ltYm9sID0gcmVxdWlyZSgnLi9fU3ltYm9sJyksXG4gICAgYXJyYXlNYXAgPSByZXF1aXJlKCcuL19hcnJheU1hcCcpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc1N5bWJvbCA9IHJlcXVpcmUoJy4vaXNTeW1ib2wnKTtcblxuLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgSU5GSU5JVFkgPSAxIC8gMDtcblxuLyoqIFVzZWQgdG8gY29udmVydCBzeW1ib2xzIHRvIHByaW1pdGl2ZXMgYW5kIHN0cmluZ3MuICovXG52YXIgc3ltYm9sUHJvdG8gPSBTeW1ib2wgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuICAgIHN5bWJvbFRvU3RyaW5nID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by50b1N0cmluZyA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b1N0cmluZ2Agd2hpY2ggZG9lc24ndCBjb252ZXJ0IG51bGxpc2hcbiAqIHZhbHVlcyB0byBlbXB0eSBzdHJpbmdzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gRXhpdCBlYXJseSBmb3Igc3RyaW5ncyB0byBhdm9pZCBhIHBlcmZvcm1hbmNlIGhpdCBpbiBzb21lIGVudmlyb25tZW50cy5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAvLyBSZWN1cnNpdmVseSBjb252ZXJ0IHZhbHVlcyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgIHJldHVybiBhcnJheU1hcCh2YWx1ZSwgYmFzZVRvU3RyaW5nKSArICcnO1xuICB9XG4gIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gc3ltYm9sVG9TdHJpbmcgPyBzeW1ib2xUb1N0cmluZy5jYWxsKHZhbHVlKSA6ICcnO1xuICB9XG4gIHZhciByZXN1bHQgPSAodmFsdWUgKyAnJyk7XG4gIHJldHVybiAocmVzdWx0ID09ICcwJyAmJiAoMSAvIHZhbHVlKSA9PSAtSU5GSU5JVFkpID8gJy0wJyA6IHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVG9TdHJpbmc7XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVuYXJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIHN0b3JpbmcgbWV0YWRhdGEuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBiYXNlVW5hcnkoZnVuYykge1xuICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gZnVuYyh2YWx1ZSk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVVuYXJ5O1xuIiwidmFyIGFycmF5TWFwID0gcmVxdWlyZSgnLi9fYXJyYXlNYXAnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy52YWx1ZXNgIGFuZCBgXy52YWx1ZXNJbmAgd2hpY2ggY3JlYXRlcyBhblxuICogYXJyYXkgb2YgYG9iamVjdGAgcHJvcGVydHkgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb3BlcnR5IG5hbWVzXG4gKiBvZiBgcHJvcHNgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgbmFtZXMgdG8gZ2V0IHZhbHVlcyBmb3IuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGJhc2VWYWx1ZXMob2JqZWN0LCBwcm9wcykge1xuICByZXR1cm4gYXJyYXlNYXAocHJvcHMsIGZ1bmN0aW9uKGtleSkge1xuICAgIHJldHVybiBvYmplY3Rba2V5XTtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVZhbHVlcztcbiIsInZhciBhc3NpZ25WYWx1ZSA9IHJlcXVpcmUoJy4vX2Fzc2lnblZhbHVlJyksXG4gICAgYmFzZUFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYmFzZUFzc2lnblZhbHVlJyk7XG5cbi8qKlxuICogQ29waWVzIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbS5cbiAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBpZGVudGlmaWVycyB0byBjb3B5LlxuICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3Q9e31dIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29waWVkIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gKi9cbmZ1bmN0aW9uIGNvcHlPYmplY3Qoc291cmNlLCBwcm9wcywgb2JqZWN0LCBjdXN0b21pemVyKSB7XG4gIHZhciBpc05ldyA9ICFvYmplY3Q7XG4gIG9iamVjdCB8fCAob2JqZWN0ID0ge30pO1xuXG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGtleSA9IHByb3BzW2luZGV4XTtcblxuICAgIHZhciBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXJcbiAgICAgID8gY3VzdG9taXplcihvYmplY3Rba2V5XSwgc291cmNlW2tleV0sIGtleSwgb2JqZWN0LCBzb3VyY2UpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXdWYWx1ZSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgICBpZiAoaXNOZXcpIHtcbiAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb2JqZWN0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvcHlPYmplY3Q7XG4iLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG92ZXJyZWFjaGluZyBjb3JlLWpzIHNoaW1zLiAqL1xudmFyIGNvcmVKc0RhdGEgPSByb290WydfX2NvcmUtanNfc2hhcmVkX18nXTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb3JlSnNEYXRhO1xuIiwidmFyIGJhc2VSZXN0ID0gcmVxdWlyZSgnLi9fYmFzZVJlc3QnKSxcbiAgICBpc0l0ZXJhdGVlQ2FsbCA9IHJlcXVpcmUoJy4vX2lzSXRlcmF0ZWVDYWxsJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uYXNzaWduYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gYXNzaWduZXIgVGhlIGZ1bmN0aW9uIHRvIGFzc2lnbiB2YWx1ZXMuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhc3NpZ25lciBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQXNzaWduZXIoYXNzaWduZXIpIHtcbiAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCwgc291cmNlcykge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBzb3VyY2VzLmxlbmd0aCxcbiAgICAgICAgY3VzdG9taXplciA9IGxlbmd0aCA+IDEgPyBzb3VyY2VzW2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkLFxuICAgICAgICBndWFyZCA9IGxlbmd0aCA+IDIgPyBzb3VyY2VzWzJdIDogdW5kZWZpbmVkO1xuXG4gICAgY3VzdG9taXplciA9IChhc3NpZ25lci5sZW5ndGggPiAzICYmIHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicpXG4gICAgICA/IChsZW5ndGgtLSwgY3VzdG9taXplcilcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHNvdXJjZXNbMF0sIHNvdXJjZXNbMV0sIGd1YXJkKSkge1xuICAgICAgY3VzdG9taXplciA9IGxlbmd0aCA8IDMgPyB1bmRlZmluZWQgOiBjdXN0b21pemVyO1xuICAgICAgbGVuZ3RoID0gMTtcbiAgICB9XG4gICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciBzb3VyY2UgPSBzb3VyY2VzW2luZGV4XTtcbiAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgYXNzaWduZXIob2JqZWN0LCBzb3VyY2UsIGluZGV4LCBjdXN0b21pemVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQXNzaWduZXI7XG4iLCJ2YXIgZXEgPSByZXF1aXJlKCcuL2VxJyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogVXNlZCBieSBgXy5kZWZhdWx0c2AgdG8gY3VzdG9taXplIGl0cyBgXy5hc3NpZ25JbmAgdXNlIHRvIGFzc2lnbiBwcm9wZXJ0aWVzXG4gKiBvZiBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgZGVzdGluYXRpb24gb2JqZWN0IGZvciBhbGwgZGVzdGluYXRpb24gcHJvcGVydGllc1xuICogdGhhdCByZXNvbHZlIHRvIGB1bmRlZmluZWRgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IG9ialZhbHVlIFRoZSBkZXN0aW5hdGlvbiB2YWx1ZS5cbiAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHNvdXJjZSB2YWx1ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgcGFyZW50IG9iamVjdCBvZiBgb2JqVmFsdWVgLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAqL1xuZnVuY3Rpb24gY3VzdG9tRGVmYXVsdHNBc3NpZ25JbihvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0KSB7XG4gIGlmIChvYmpWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAoZXEob2JqVmFsdWUsIG9iamVjdFByb3RvW2tleV0pICYmICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpIHtcbiAgICByZXR1cm4gc3JjVmFsdWU7XG4gIH1cbiAgcmV0dXJuIG9ialZhbHVlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGN1c3RvbURlZmF1bHRzQXNzaWduSW47XG4iLCJ2YXIgZ2V0TmF0aXZlID0gcmVxdWlyZSgnLi9fZ2V0TmF0aXZlJyk7XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IChmdW5jdGlvbigpIHtcbiAgdHJ5IHtcbiAgICB2YXIgZnVuYyA9IGdldE5hdGl2ZShPYmplY3QsICdkZWZpbmVQcm9wZXJ0eScpO1xuICAgIGZ1bmMoe30sICcnLCB7fSk7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH0gY2F0Y2ggKGUpIHt9XG59KCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlZmluZVByb3BlcnR5O1xuIiwidmFyIGJhc2VQcm9wZXJ0eU9mID0gcmVxdWlyZSgnLi9fYmFzZVByb3BlcnR5T2YnKTtcblxuLyoqIFVzZWQgdG8gbWFwIGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcy4gKi9cbnZhciBodG1sRXNjYXBlcyA9IHtcbiAgJyYnOiAnJmFtcDsnLFxuICAnPCc6ICcmbHQ7JyxcbiAgJz4nOiAnJmd0OycsXG4gICdcIic6ICcmcXVvdDsnLFxuICBcIidcIjogJyYjMzk7J1xufTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLmVzY2FwZWAgdG8gY29udmVydCBjaGFyYWN0ZXJzIHRvIEhUTUwgZW50aXRpZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIGVzY2FwZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVzY2FwZWQgY2hhcmFjdGVyLlxuICovXG52YXIgZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sRXNjYXBlcyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZXNjYXBlSHRtbENoYXI7XG4iLCIvKiogVXNlZCB0byBlc2NhcGUgY2hhcmFjdGVycyBmb3IgaW5jbHVzaW9uIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy4gKi9cbnZhciBzdHJpbmdFc2NhcGVzID0ge1xuICAnXFxcXCc6ICdcXFxcJyxcbiAgXCInXCI6IFwiJ1wiLFxuICAnXFxuJzogJ24nLFxuICAnXFxyJzogJ3InLFxuICAnXFx1MjAyOCc6ICd1MjAyOCcsXG4gICdcXHUyMDI5JzogJ3UyMDI5J1xufTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLnRlbXBsYXRlYCB0byBlc2NhcGUgY2hhcmFjdGVycyBmb3IgaW5jbHVzaW9uIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IGNociBUaGUgbWF0Y2hlZCBjaGFyYWN0ZXIgdG8gZXNjYXBlLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVN0cmluZ0NoYXIoY2hyKSB7XG4gIHJldHVybiAnXFxcXCcgKyBzdHJpbmdFc2NhcGVzW2Nocl07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXNjYXBlU3RyaW5nQ2hhcjtcbiIsIi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZ2xvYmFsYCBmcm9tIE5vZGUuanMuICovXG52YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbm1vZHVsZS5leHBvcnRzID0gZnJlZUdsb2JhbDtcbiIsInZhciBiYXNlSXNOYXRpdmUgPSByZXF1aXJlKCcuL19iYXNlSXNOYXRpdmUnKSxcbiAgICBnZXRWYWx1ZSA9IHJlcXVpcmUoJy4vX2dldFZhbHVlJyk7XG5cbi8qKlxuICogR2V0cyB0aGUgbmF0aXZlIGZ1bmN0aW9uIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIG1ldGhvZCB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZnVuY3Rpb24gaWYgaXQncyBuYXRpdmUsIGVsc2UgYHVuZGVmaW5lZGAuXG4gKi9cbmZ1bmN0aW9uIGdldE5hdGl2ZShvYmplY3QsIGtleSkge1xuICB2YXIgdmFsdWUgPSBnZXRWYWx1ZShvYmplY3QsIGtleSk7XG4gIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0TmF0aXZlO1xuIiwidmFyIG92ZXJBcmcgPSByZXF1aXJlKCcuL19vdmVyQXJnJyk7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIGdldFByb3RvdHlwZSA9IG92ZXJBcmcoT2JqZWN0LmdldFByb3RvdHlwZU9mLCBPYmplY3QpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFByb3RvdHlwZTtcbiIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHN5bVRvU3RyaW5nVGFnID0gU3ltYm9sID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUdldFRhZ2Agd2hpY2ggaWdub3JlcyBgU3ltYm9sLnRvU3RyaW5nVGFnYCB2YWx1ZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmF3IGB0b1N0cmluZ1RhZ2AuXG4gKi9cbmZ1bmN0aW9uIGdldFJhd1RhZyh2YWx1ZSkge1xuICB2YXIgaXNPd24gPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBzeW1Ub1N0cmluZ1RhZyksXG4gICAgICB0YWcgPSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG5cbiAgdHJ5IHtcbiAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB1bmRlZmluZWQ7XG4gICAgdmFyIHVubWFza2VkID0gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge31cblxuICB2YXIgcmVzdWx0ID0gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gIGlmICh1bm1hc2tlZCkge1xuICAgIGlmIChpc093bikge1xuICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdGFnO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdmFsdWVbc3ltVG9TdHJpbmdUYWddO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFJhd1RhZztcbiIsIi8qKlxuICogR2V0cyB0aGUgdmFsdWUgYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcHJvcGVydHkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFZhbHVlO1xuIiwiLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgTUFYX1NBRkVfSU5URUdFUiA9IDkwMDcxOTkyNTQ3NDA5OTE7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4gKi9cbnZhciByZUlzVWludCA9IC9eKD86MHxbMS05XVxcZCopJC87XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBhcnJheS1saWtlIGluZGV4LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPU1BWF9TQUZFX0lOVEVHRVJdIFRoZSB1cHBlciBib3VuZHMgb2YgYSB2YWxpZCBpbmRleC5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgaW5kZXgsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNJbmRleCh2YWx1ZSwgbGVuZ3RoKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICBsZW5ndGggPSBsZW5ndGggPT0gbnVsbCA/IE1BWF9TQUZFX0lOVEVHRVIgOiBsZW5ndGg7XG5cbiAgcmV0dXJuICEhbGVuZ3RoICYmXG4gICAgKHR5cGUgPT0gJ251bWJlcicgfHxcbiAgICAgICh0eXBlICE9ICdzeW1ib2wnICYmIHJlSXNVaW50LnRlc3QodmFsdWUpKSkgJiZcbiAgICAgICAgKHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPCBsZW5ndGgpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzSW5kZXg7XG4iLCJ2YXIgZXEgPSByZXF1aXJlKCcuL2VxJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyksXG4gICAgaXNJbmRleCA9IHJlcXVpcmUoJy4vX2lzSW5kZXgnKSxcbiAgICBpc09iamVjdCA9IHJlcXVpcmUoJy4vaXNPYmplY3QnKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGFyZ3VtZW50cyBhcmUgZnJvbSBhbiBpdGVyYXRlZSBjYWxsLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgdmFsdWUgYXJndW1lbnQuXG4gKiBAcGFyYW0geyp9IGluZGV4IFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgaW5kZXggb3Iga2V5IGFyZ3VtZW50LlxuICogQHBhcmFtIHsqfSBvYmplY3QgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBvYmplY3QgYXJndW1lbnQuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFyZ3VtZW50cyBhcmUgZnJvbSBhbiBpdGVyYXRlZSBjYWxsLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNJdGVyYXRlZUNhbGwodmFsdWUsIGluZGV4LCBvYmplY3QpIHtcbiAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB0eXBlID0gdHlwZW9mIGluZGV4O1xuICBpZiAodHlwZSA9PSAnbnVtYmVyJ1xuICAgICAgICA/IChpc0FycmF5TGlrZShvYmplY3QpICYmIGlzSW5kZXgoaW5kZXgsIG9iamVjdC5sZW5ndGgpKVxuICAgICAgICA6ICh0eXBlID09ICdzdHJpbmcnICYmIGluZGV4IGluIG9iamVjdClcbiAgICAgICkge1xuICAgIHJldHVybiBlcShvYmplY3RbaW5kZXhdLCB2YWx1ZSk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzSXRlcmF0ZWVDYWxsO1xuIiwidmFyIGNvcmVKc0RhdGEgPSByZXF1aXJlKCcuL19jb3JlSnNEYXRhJyk7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBtZXRob2RzIG1hc3F1ZXJhZGluZyBhcyBuYXRpdmUuICovXG52YXIgbWFza1NyY0tleSA9IChmdW5jdGlvbigpIHtcbiAgdmFyIHVpZCA9IC9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSAmJiBjb3JlSnNEYXRhLmtleXMgJiYgY29yZUpzRGF0YS5rZXlzLklFX1BST1RPIHx8ICcnKTtcbiAgcmV0dXJuIHVpZCA/ICgnU3ltYm9sKHNyYylfMS4nICsgdWlkKSA6ICcnO1xufSgpKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYGZ1bmNgIGhhcyBpdHMgc291cmNlIG1hc2tlZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGlzIG1hc2tlZCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc01hc2tlZChmdW5jKSB7XG4gIHJldHVybiAhIW1hc2tTcmNLZXkgJiYgKG1hc2tTcmNLZXkgaW4gZnVuYyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNNYXNrZWQ7XG4iLCIvKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhIHByb3RvdHlwZSBvYmplY3QuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwcm90b3R5cGUsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNQcm90b3R5cGUodmFsdWUpIHtcbiAgdmFyIEN0b3IgPSB2YWx1ZSAmJiB2YWx1ZS5jb25zdHJ1Y3RvcixcbiAgICAgIHByb3RvID0gKHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3Rvci5wcm90b3R5cGUpIHx8IG9iamVjdFByb3RvO1xuXG4gIHJldHVybiB2YWx1ZSA9PT0gcHJvdG87XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNQcm90b3R5cGU7XG4iLCJ2YXIgb3ZlckFyZyA9IHJlcXVpcmUoJy4vX292ZXJBcmcnKTtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZUtleXMgPSBvdmVyQXJnKE9iamVjdC5rZXlzLCBPYmplY3QpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG5hdGl2ZUtleXM7XG4iLCIvKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZVxuICogW2BPYmplY3Qua2V5c2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5rZXlzKVxuICogZXhjZXB0IHRoYXQgaXQgaW5jbHVkZXMgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gbmF0aXZlS2V5c0luKG9iamVjdCkge1xuICB2YXIgcmVzdWx0ID0gW107XG4gIGlmIChvYmplY3QgIT0gbnVsbCkge1xuICAgIGZvciAodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBuYXRpdmVLZXlzSW47XG4iLCJ2YXIgZnJlZUdsb2JhbCA9IHJlcXVpcmUoJy4vX2ZyZWVHbG9iYWwnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBleHBvcnRzYC4gKi9cbnZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBtb2R1bGVgLiAqL1xudmFyIGZyZWVNb2R1bGUgPSBmcmVlRXhwb3J0cyAmJiB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZSAmJiAhbW9kdWxlLm5vZGVUeXBlICYmIG1vZHVsZTtcblxuLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbnZhciBtb2R1bGVFeHBvcnRzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLmV4cG9ydHMgPT09IGZyZWVFeHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYHByb2Nlc3NgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlUHJvY2VzcyA9IG1vZHVsZUV4cG9ydHMgJiYgZnJlZUdsb2JhbC5wcm9jZXNzO1xuXG4vKiogVXNlZCB0byBhY2Nlc3MgZmFzdGVyIE5vZGUuanMgaGVscGVycy4gKi9cbnZhciBub2RlVXRpbCA9IChmdW5jdGlvbigpIHtcbiAgdHJ5IHtcbiAgICAvLyBVc2UgYHV0aWwudHlwZXNgIGZvciBOb2RlLmpzIDEwKy5cbiAgICB2YXIgdHlwZXMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUucmVxdWlyZSAmJiBmcmVlTW9kdWxlLnJlcXVpcmUoJ3V0aWwnKS50eXBlcztcblxuICAgIGlmICh0eXBlcykge1xuICAgICAgcmV0dXJuIHR5cGVzO1xuICAgIH1cblxuICAgIC8vIExlZ2FjeSBgcHJvY2Vzcy5iaW5kaW5nKCd1dGlsJylgIGZvciBOb2RlLmpzIDwgMTAuXG4gICAgcmV0dXJuIGZyZWVQcm9jZXNzICYmIGZyZWVQcm9jZXNzLmJpbmRpbmcgJiYgZnJlZVByb2Nlc3MuYmluZGluZygndXRpbCcpO1xuICB9IGNhdGNoIChlKSB7fVxufSgpKTtcblxubW9kdWxlLmV4cG9ydHMgPSBub2RlVXRpbDtcbiIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogVXNlZCB0byByZXNvbHZlIHRoZVxuICogW2B0b1N0cmluZ1RhZ2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmcpXG4gKiBvZiB2YWx1ZXMuXG4gKi9cbnZhciBuYXRpdmVPYmplY3RUb1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuXG4vKipcbiAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcgdXNpbmcgYE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG9iamVjdFRvU3RyaW5nO1xuIiwiLyoqXG4gKiBDcmVhdGVzIGEgdW5hcnkgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGl0cyBhcmd1bWVudCB0cmFuc2Zvcm1lZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgYXJndW1lbnQgdHJhbnNmb3JtLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIG92ZXJBcmcoZnVuYywgdHJhbnNmb3JtKSB7XG4gIHJldHVybiBmdW5jdGlvbihhcmcpIHtcbiAgICByZXR1cm4gZnVuYyh0cmFuc2Zvcm0oYXJnKSk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gb3ZlckFyZztcbiIsInZhciBhcHBseSA9IHJlcXVpcmUoJy4vX2FwcGx5Jyk7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVNYXggPSBNYXRoLm1heDtcblxuLyoqXG4gKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VSZXN0YCB3aGljaCB0cmFuc2Zvcm1zIHRoZSByZXN0IGFycmF5LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSByZXN0IGFycmF5IHRyYW5zZm9ybS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBvdmVyUmVzdChmdW5jLCBzdGFydCwgdHJhbnNmb3JtKSB7XG4gIHN0YXJ0ID0gbmF0aXZlTWF4KHN0YXJ0ID09PSB1bmRlZmluZWQgPyAoZnVuYy5sZW5ndGggLSAxKSA6IHN0YXJ0LCAwKTtcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIHZhciBhcmdzID0gYXJndW1lbnRzLFxuICAgICAgICBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBuYXRpdmVNYXgoYXJncy5sZW5ndGggLSBzdGFydCwgMCksXG4gICAgICAgIGFycmF5ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBhcnJheVtpbmRleF0gPSBhcmdzW3N0YXJ0ICsgaW5kZXhdO1xuICAgIH1cbiAgICBpbmRleCA9IC0xO1xuICAgIHZhciBvdGhlckFyZ3MgPSBBcnJheShzdGFydCArIDEpO1xuICAgIHdoaWxlICgrK2luZGV4IDwgc3RhcnQpIHtcbiAgICAgIG90aGVyQXJnc1tpbmRleF0gPSBhcmdzW2luZGV4XTtcbiAgICB9XG4gICAgb3RoZXJBcmdzW3N0YXJ0XSA9IHRyYW5zZm9ybShhcnJheSk7XG4gICAgcmV0dXJuIGFwcGx5KGZ1bmMsIHRoaXMsIG90aGVyQXJncyk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gb3ZlclJlc3Q7XG4iLCIvKiogVXNlZCB0byBtYXRjaCB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlRXNjYXBlID0gLzwlLShbXFxzXFxTXSs/KSU+L2c7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVFc2NhcGU7XG4iLCIvKiogVXNlZCB0byBtYXRjaCB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlRXZhbHVhdGUgPSAvPCUoW1xcc1xcU10rPyklPi9nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlRXZhbHVhdGU7XG4iLCIvKiogVXNlZCB0byBtYXRjaCB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlSW50ZXJwb2xhdGUgPSAvPCU9KFtcXHNcXFNdKz8pJT4vZztcblxubW9kdWxlLmV4cG9ydHMgPSByZUludGVycG9sYXRlO1xuIiwidmFyIGZyZWVHbG9iYWwgPSByZXF1aXJlKCcuL19mcmVlR2xvYmFsJyk7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgc2VsZmAuICovXG52YXIgZnJlZVNlbGYgPSB0eXBlb2Ygc2VsZiA9PSAnb2JqZWN0JyAmJiBzZWxmICYmIHNlbGYuT2JqZWN0ID09PSBPYmplY3QgJiYgc2VsZjtcblxuLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG52YXIgcm9vdCA9IGZyZWVHbG9iYWwgfHwgZnJlZVNlbGYgfHwgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblxubW9kdWxlLmV4cG9ydHMgPSByb290O1xuIiwidmFyIGJhc2VTZXRUb1N0cmluZyA9IHJlcXVpcmUoJy4vX2Jhc2VTZXRUb1N0cmluZycpLFxuICAgIHNob3J0T3V0ID0gcmVxdWlyZSgnLi9fc2hvcnRPdXQnKTtcblxuLyoqXG4gKiBTZXRzIHRoZSBgdG9TdHJpbmdgIG1ldGhvZCBvZiBgZnVuY2AgdG8gcmV0dXJuIGBzdHJpbmdgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBzdHJpbmcgVGhlIGB0b1N0cmluZ2AgcmVzdWx0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAqL1xudmFyIHNldFRvU3RyaW5nID0gc2hvcnRPdXQoYmFzZVNldFRvU3RyaW5nKTtcblxubW9kdWxlLmV4cG9ydHMgPSBzZXRUb1N0cmluZztcbiIsIi8qKiBVc2VkIHRvIGRldGVjdCBob3QgZnVuY3Rpb25zIGJ5IG51bWJlciBvZiBjYWxscyB3aXRoaW4gYSBzcGFuIG9mIG1pbGxpc2Vjb25kcy4gKi9cbnZhciBIT1RfQ09VTlQgPSA4MDAsXG4gICAgSE9UX1NQQU4gPSAxNjtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZU5vdyA9IERhdGUubm93O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0J2xsIHNob3J0IG91dCBhbmQgaW52b2tlIGBpZGVudGl0eWAgaW5zdGVhZFxuICogb2YgYGZ1bmNgIHdoZW4gaXQncyBjYWxsZWQgYEhPVF9DT1VOVGAgb3IgbW9yZSB0aW1lcyBpbiBgSE9UX1NQQU5gXG4gKiBtaWxsaXNlY29uZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlc3RyaWN0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc2hvcnRhYmxlIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBzaG9ydE91dChmdW5jKSB7XG4gIHZhciBjb3VudCA9IDAsXG4gICAgICBsYXN0Q2FsbGVkID0gMDtcblxuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHN0YW1wID0gbmF0aXZlTm93KCksXG4gICAgICAgIHJlbWFpbmluZyA9IEhPVF9TUEFOIC0gKHN0YW1wIC0gbGFzdENhbGxlZCk7XG5cbiAgICBsYXN0Q2FsbGVkID0gc3RhbXA7XG4gICAgaWYgKHJlbWFpbmluZyA+IDApIHtcbiAgICAgIGlmICgrK2NvdW50ID49IEhPVF9DT1VOVCkge1xuICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb3VudCA9IDA7XG4gICAgfVxuICAgIHJldHVybiBmdW5jLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzaG9ydE91dDtcbiIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKlxuICogQ29udmVydHMgYGZ1bmNgIHRvIGl0cyBzb3VyY2UgY29kZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5mdW5jdGlvbiB0b1NvdXJjZShmdW5jKSB7XG4gIGlmIChmdW5jICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoZnVuYyArICcnKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG4gIHJldHVybiAnJztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0b1NvdXJjZTtcbiIsInZhciBjb3B5T2JqZWN0ID0gcmVxdWlyZSgnLi9fY29weU9iamVjdCcpLFxuICAgIGNyZWF0ZUFzc2lnbmVyID0gcmVxdWlyZSgnLi9fY3JlYXRlQXNzaWduZXInKSxcbiAgICBrZXlzSW4gPSByZXF1aXJlKCcuL2tleXNJbicpO1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uYXNzaWduSW5gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgXG4gKiB3aGljaCBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIGFzc2lnbmVkIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnNcbiAqIGB1bmRlZmluZWRgLCBhc3NpZ25tZW50IGlzIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgXG4gKiBpcyBpbnZva2VkIHdpdGggZml2ZSBhcmd1bWVudHM6IChvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UpLlxuICpcbiAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBhbGlhcyBleHRlbmRXaXRoXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gKiBAcGFyYW0gey4uLk9iamVjdH0gc291cmNlcyBUaGUgc291cmNlIG9iamVjdHMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICogQHNlZSBfLmFzc2lnbldpdGhcbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAqICAgcmV0dXJuIF8uaXNVbmRlZmluZWQob2JqVmFsdWUpID8gc3JjVmFsdWUgOiBvYmpWYWx1ZTtcbiAqIH1cbiAqXG4gKiB2YXIgZGVmYXVsdHMgPSBfLnBhcnRpYWxSaWdodChfLmFzc2lnbkluV2l0aCwgY3VzdG9taXplcik7XG4gKlxuICogZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAqL1xudmFyIGFzc2lnbkluV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICBjb3B5T2JqZWN0KHNvdXJjZSwga2V5c0luKHNvdXJjZSksIG9iamVjdCwgY3VzdG9taXplcik7XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ25JbldpdGg7XG4iLCJ2YXIgYXBwbHkgPSByZXF1aXJlKCcuL19hcHBseScpLFxuICAgIGJhc2VSZXN0ID0gcmVxdWlyZSgnLi9fYmFzZVJlc3QnKSxcbiAgICBpc0Vycm9yID0gcmVxdWlyZSgnLi9pc0Vycm9yJyk7XG5cbi8qKlxuICogQXR0ZW1wdHMgdG8gaW52b2tlIGBmdW5jYCwgcmV0dXJuaW5nIGVpdGhlciB0aGUgcmVzdWx0IG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqIG9iamVjdC4gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwcm92aWRlZCB0byBgZnVuY2Agd2hlbiBpdCdzIGludm9rZWQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IFV0aWxcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGF0dGVtcHQuXG4gKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSBgZnVuY2Agd2l0aC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBgZnVuY2AgcmVzdWx0IG9yIGVycm9yIG9iamVjdC5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gQXZvaWQgdGhyb3dpbmcgZXJyb3JzIGZvciBpbnZhbGlkIHNlbGVjdG9ycy5cbiAqIHZhciBlbGVtZW50cyA9IF8uYXR0ZW1wdChmdW5jdGlvbihzZWxlY3Rvcikge1xuICogICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gKiB9LCAnPl8+Jyk7XG4gKlxuICogaWYgKF8uaXNFcnJvcihlbGVtZW50cykpIHtcbiAqICAgZWxlbWVudHMgPSBbXTtcbiAqIH1cbiAqL1xudmFyIGF0dGVtcHQgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBhcmdzKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGFwcGx5KGZ1bmMsIHVuZGVmaW5lZCwgYXJncyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gaXNFcnJvcihlKSA/IGUgOiBuZXcgRXJyb3IoZSk7XG4gIH1cbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGF0dGVtcHQ7XG4iLCIvKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYHZhbHVlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDIuNC4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmV0dXJuIGZyb20gdGhlIG5ldyBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbnN0YW50IGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiB2YXIgb2JqZWN0cyA9IF8udGltZXMoMiwgXy5jb25zdGFudCh7ICdhJzogMSB9KSk7XG4gKlxuICogY29uc29sZS5sb2cob2JqZWN0cyk7XG4gKiAvLyA9PiBbeyAnYSc6IDEgfSwgeyAnYSc6IDEgfV1cbiAqXG4gKiBjb25zb2xlLmxvZyhvYmplY3RzWzBdID09PSBvYmplY3RzWzFdKTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gY29uc3RhbnQodmFsdWUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb25zdGFudDtcbiIsIi8qKlxuICogUGVyZm9ybXMgYVxuICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAqIGNvbXBhcmlzb24gYmV0d2VlbiB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBlcXVpdmFsZW50LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3QgPSB7ICdhJzogMSB9O1xuICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAqXG4gKiBfLmVxKG9iamVjdCwgb2JqZWN0KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmVxKG9iamVjdCwgb3RoZXIpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmVxKCdhJywgJ2EnKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmVxKCdhJywgT2JqZWN0KCdhJykpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmVxKE5hTiwgTmFOKTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gZXEodmFsdWUsIG90aGVyKSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgKHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXIpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVxO1xuIiwidmFyIGVzY2FwZUh0bWxDaGFyID0gcmVxdWlyZSgnLi9fZXNjYXBlSHRtbENoYXInKSxcbiAgICB0b1N0cmluZyA9IHJlcXVpcmUoJy4vdG9TdHJpbmcnKTtcblxuLyoqIFVzZWQgdG8gbWF0Y2ggSFRNTCBlbnRpdGllcyBhbmQgSFRNTCBjaGFyYWN0ZXJzLiAqL1xudmFyIHJlVW5lc2NhcGVkSHRtbCA9IC9bJjw+XCInXS9nLFxuICAgIHJlSGFzVW5lc2NhcGVkSHRtbCA9IFJlZ0V4cChyZVVuZXNjYXBlZEh0bWwuc291cmNlKTtcblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgY2hhcmFjdGVycyBcIiZcIiwgXCI8XCIsIFwiPlwiLCAnXCInLCBhbmQgXCInXCIgaW4gYHN0cmluZ2AgdG8gdGhlaXJcbiAqIGNvcnJlc3BvbmRpbmcgSFRNTCBlbnRpdGllcy5cbiAqXG4gKiAqKk5vdGU6KiogTm8gb3RoZXIgY2hhcmFjdGVycyBhcmUgZXNjYXBlZC4gVG8gZXNjYXBlIGFkZGl0aW9uYWxcbiAqIGNoYXJhY3RlcnMgdXNlIGEgdGhpcmQtcGFydHkgbGlicmFyeSBsaWtlIFtfaGVfXShodHRwczovL210aHMuYmUvaGUpLlxuICpcbiAqIFRob3VnaCB0aGUgXCI+XCIgY2hhcmFjdGVyIGlzIGVzY2FwZWQgZm9yIHN5bW1ldHJ5LCBjaGFyYWN0ZXJzIGxpa2VcbiAqIFwiPlwiIGFuZCBcIi9cIiBkb24ndCBuZWVkIGVzY2FwaW5nIGluIEhUTUwgYW5kIGhhdmUgbm8gc3BlY2lhbCBtZWFuaW5nXG4gKiB1bmxlc3MgdGhleSdyZSBwYXJ0IG9mIGEgdGFnIG9yIHVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZS4gU2VlXG4gKiBbTWF0aGlhcyBCeW5lbnMncyBhcnRpY2xlXShodHRwczovL21hdGhpYXNieW5lbnMuYmUvbm90ZXMvYW1iaWd1b3VzLWFtcGVyc2FuZHMpXG4gKiAodW5kZXIgXCJzZW1pLXJlbGF0ZWQgZnVuIGZhY3RcIikgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBXaGVuIHdvcmtpbmcgd2l0aCBIVE1MIHlvdSBzaG91bGQgYWx3YXlzXG4gKiBbcXVvdGUgYXR0cmlidXRlIHZhbHVlc10oaHR0cDovL3dvbmtvLmNvbS9wb3N0L2h0bWwtZXNjYXBpbmcpIHRvIHJlZHVjZVxuICogWFNTIHZlY3RvcnMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gZXNjYXBlLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBzdHJpbmcuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uZXNjYXBlKCdmcmVkLCBiYXJuZXksICYgcGViYmxlcycpO1xuICogLy8gPT4gJ2ZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlcydcbiAqL1xuZnVuY3Rpb24gZXNjYXBlKHN0cmluZykge1xuICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICByZXR1cm4gKHN0cmluZyAmJiByZUhhc1VuZXNjYXBlZEh0bWwudGVzdChzdHJpbmcpKVxuICAgID8gc3RyaW5nLnJlcGxhY2UocmVVbmVzY2FwZWRIdG1sLCBlc2NhcGVIdG1sQ2hhcilcbiAgICA6IHN0cmluZztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGU7XG4iLCIvKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IGl0IHJlY2VpdmVzLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBzaW5jZSAwLjEuMFxuICogQG1lbWJlck9mIF9cbiAqIEBjYXRlZ29yeSBVdGlsXG4gKiBAcGFyYW0geyp9IHZhbHVlIEFueSB2YWx1ZS5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIGB2YWx1ZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3QgPSB7ICdhJzogMSB9O1xuICpcbiAqIGNvbnNvbGUubG9nKF8uaWRlbnRpdHkob2JqZWN0KSA9PT0gb2JqZWN0KTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gaWRlbnRpdHkodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlkZW50aXR5O1xuIiwidmFyIGJhc2VJc0FyZ3VtZW50cyA9IHJlcXVpcmUoJy4vX2Jhc2VJc0FyZ3VtZW50cycpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHByb3BlcnR5SXNFbnVtZXJhYmxlID0gb2JqZWN0UHJvdG8ucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGFuIGBhcmd1bWVudHNgIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBgYXJndW1lbnRzYCBvYmplY3QsXG4gKiAgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcmd1bWVudHMoWzEsIDIsIDNdKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FyZ3VtZW50cyA9IGJhc2VJc0FyZ3VtZW50cyhmdW5jdGlvbigpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA/IGJhc2VJc0FyZ3VtZW50cyA6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdjYWxsZWUnKSAmJlxuICAgICFwcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHZhbHVlLCAnY2FsbGVlJyk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzQXJndW1lbnRzO1xuIiwiLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGFuIGBBcnJheWAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcnJheShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheShkb2N1bWVudC5ib2R5LmNoaWxkcmVuKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0FycmF5KCdhYmMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0FycmF5KF8ubm9vcCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcnJheTtcbiIsInZhciBpc0Z1bmN0aW9uID0gcmVxdWlyZSgnLi9pc0Z1bmN0aW9uJyksXG4gICAgaXNMZW5ndGggPSByZXF1aXJlKCcuL2lzTGVuZ3RoJyk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYXJyYXktbGlrZS4gQSB2YWx1ZSBpcyBjb25zaWRlcmVkIGFycmF5LWxpa2UgaWYgaXQnc1xuICogbm90IGEgZnVuY3Rpb24gYW5kIGhhcyBhIGB2YWx1ZS5sZW5ndGhgIHRoYXQncyBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBvclxuICogZXF1YWwgdG8gYDBgIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gYE51bWJlci5NQVhfU0FGRV9JTlRFR0VSYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzQXJyYXlMaWtlKGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoJ2FiYycpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzQXJyYXlMaWtlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgIWlzRnVuY3Rpb24odmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzQXJyYXlMaWtlO1xuIiwidmFyIHJvb3QgPSByZXF1aXJlKCcuL19yb290JyksXG4gICAgc3R1YkZhbHNlID0gcmVxdWlyZSgnLi9zdHViRmFsc2UnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBleHBvcnRzYC4gKi9cbnZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBtb2R1bGVgLiAqL1xudmFyIGZyZWVNb2R1bGUgPSBmcmVlRXhwb3J0cyAmJiB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZSAmJiAhbW9kdWxlLm5vZGVUeXBlICYmIG1vZHVsZTtcblxuLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbnZhciBtb2R1bGVFeHBvcnRzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLmV4cG9ydHMgPT09IGZyZWVFeHBvcnRzO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBCdWZmZXIgPSBtb2R1bGVFeHBvcnRzID8gcm9vdC5CdWZmZXIgOiB1bmRlZmluZWQ7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVJc0J1ZmZlciA9IEJ1ZmZlciA/IEJ1ZmZlci5pc0J1ZmZlciA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIGJ1ZmZlci5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMy4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIGJ1ZmZlciwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzQnVmZmVyKG5ldyBCdWZmZXIoMikpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNCdWZmZXIobmV3IFVpbnQ4QXJyYXkoMikpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzQnVmZmVyID0gbmF0aXZlSXNCdWZmZXIgfHwgc3R1YkZhbHNlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzQnVmZmVyO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKSxcbiAgICBpc1BsYWluT2JqZWN0ID0gcmVxdWlyZSgnLi9pc1BsYWluT2JqZWN0Jyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBkb21FeGNUYWcgPSAnW29iamVjdCBET01FeGNlcHRpb25dJyxcbiAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYW4gYEVycm9yYCwgYEV2YWxFcnJvcmAsIGBSYW5nZUVycm9yYCwgYFJlZmVyZW5jZUVycm9yYCxcbiAqIGBTeW50YXhFcnJvcmAsIGBUeXBlRXJyb3JgLCBvciBgVVJJRXJyb3JgIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBlcnJvciBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0Vycm9yKG5ldyBFcnJvcik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0Vycm9yKEVycm9yKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRXJyb3IodmFsdWUpIHtcbiAgaWYgKCFpc09iamVjdExpa2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB0YWcgPSBiYXNlR2V0VGFnKHZhbHVlKTtcbiAgcmV0dXJuIHRhZyA9PSBlcnJvclRhZyB8fCB0YWcgPT0gZG9tRXhjVGFnIHx8XG4gICAgKHR5cGVvZiB2YWx1ZS5tZXNzYWdlID09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZS5uYW1lID09ICdzdHJpbmcnICYmICFpc1BsYWluT2JqZWN0KHZhbHVlKSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNFcnJvcjtcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgYXN5bmNUYWcgPSAnW29iamVjdCBBc3luY0Z1bmN0aW9uXScsXG4gICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgZ2VuVGFnID0gJ1tvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dJyxcbiAgICBwcm94eVRhZyA9ICdbb2JqZWN0IFByb3h5XSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBGdW5jdGlvbmAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZnVuY3Rpb24sIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0Z1bmN0aW9uKF8pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNGdW5jdGlvbigvYWJjLyk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8vIFRoZSB1c2Ugb2YgYE9iamVjdCN0b1N0cmluZ2AgYXZvaWRzIGlzc3VlcyB3aXRoIHRoZSBgdHlwZW9mYCBvcGVyYXRvclxuICAvLyBpbiBTYWZhcmkgOSB3aGljaCByZXR1cm5zICdvYmplY3QnIGZvciB0eXBlZCBhcnJheXMgYW5kIG90aGVyIGNvbnN0cnVjdG9ycy5cbiAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICByZXR1cm4gdGFnID09IGZ1bmNUYWcgfHwgdGFnID09IGdlblRhZyB8fCB0YWcgPT0gYXN5bmNUYWcgfHwgdGFnID09IHByb3h5VGFnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzRnVuY3Rpb247XG4iLCIvKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBNQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgbGVuZ3RoLlxuICpcbiAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gKiBbYFRvTGVuZ3RoYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtdG9sZW5ndGgpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgbGVuZ3RoLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNMZW5ndGgoMyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0xlbmd0aChOdW1iZXIuTUlOX1ZBTFVFKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0xlbmd0aChJbmZpbml0eSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNMZW5ndGgoJzMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzTGVuZ3RoKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicgJiZcbiAgICB2YWx1ZSA+IC0xICYmIHZhbHVlICUgMSA9PSAwICYmIHZhbHVlIDw9IE1BWF9TQUZFX0lOVEVHRVI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNMZW5ndGg7XG4iLCIvKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICogW2xhbmd1YWdlIHR5cGVdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXR5cGVzKVxuICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0KHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChfLm5vb3ApO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc09iamVjdDtcbiIsIi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UuIEEgdmFsdWUgaXMgb2JqZWN0LWxpa2UgaWYgaXQncyBub3QgYG51bGxgXG4gKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdExpa2Uoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc09iamVjdExpa2UobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlID09ICdvYmplY3QnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzT2JqZWN0TGlrZTtcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGdldFByb3RvdHlwZSA9IHJlcXVpcmUoJy4vX2dldFByb3RvdHlwZScpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RUYWcgPSAnW29iamVjdCBPYmplY3RdJztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZSxcbiAgICBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBVc2VkIHRvIGluZmVyIHRoZSBgT2JqZWN0YCBjb25zdHJ1Y3Rvci4gKi9cbnZhciBvYmplY3RDdG9yU3RyaW5nID0gZnVuY1RvU3RyaW5nLmNhbGwoT2JqZWN0KTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHBsYWluIG9iamVjdCwgdGhhdCBpcywgYW4gb2JqZWN0IGNyZWF0ZWQgYnkgdGhlXG4gKiBgT2JqZWN0YCBjb25zdHJ1Y3RvciBvciBvbmUgd2l0aCBhIGBbW1Byb3RvdHlwZV1dYCBvZiBgbnVsbGAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjguMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwbGFpbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gRm9vKCkge1xuICogICB0aGlzLmEgPSAxO1xuICogfVxuICpcbiAqIF8uaXNQbGFpbk9iamVjdChuZXcgRm9vKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNQbGFpbk9iamVjdCh7ICd4JzogMCwgJ3knOiAwIH0pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNQbGFpbk9iamVjdChPYmplY3QuY3JlYXRlKG51bGwpKTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkgfHwgYmFzZUdldFRhZyh2YWx1ZSkgIT0gb2JqZWN0VGFnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBwcm90byA9IGdldFByb3RvdHlwZSh2YWx1ZSk7XG4gIGlmIChwcm90byA9PT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHZhciBDdG9yID0gaGFzT3duUHJvcGVydHkuY2FsbChwcm90bywgJ2NvbnN0cnVjdG9yJykgJiYgcHJvdG8uY29uc3RydWN0b3I7XG4gIHJldHVybiB0eXBlb2YgQ3RvciA9PSAnZnVuY3Rpb24nICYmIEN0b3IgaW5zdGFuY2VvZiBDdG9yICYmXG4gICAgZnVuY1RvU3RyaW5nLmNhbGwoQ3RvcikgPT0gb2JqZWN0Q3RvclN0cmluZztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc1BsYWluT2JqZWN0O1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU3ltYm9sYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc3ltYm9sLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNTeW1ib2woU3ltYm9sLml0ZXJhdG9yKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzU3ltYm9sKCdhYmMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzU3ltYm9sKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ3N5bWJvbCcgfHxcbiAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzeW1ib2xUYWcpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzU3ltYm9sO1xuIiwidmFyIGJhc2VJc1R5cGVkQXJyYXkgPSByZXF1aXJlKCcuL19iYXNlSXNUeXBlZEFycmF5JyksXG4gICAgYmFzZVVuYXJ5ID0gcmVxdWlyZSgnLi9fYmFzZVVuYXJ5JyksXG4gICAgbm9kZVV0aWwgPSByZXF1aXJlKCcuL19ub2RlVXRpbCcpO1xuXG4vKiBOb2RlLmpzIGhlbHBlciByZWZlcmVuY2VzLiAqL1xudmFyIG5vZGVJc1R5cGVkQXJyYXkgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1R5cGVkQXJyYXk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIHR5cGVkIGFycmF5LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdHlwZWQgYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1R5cGVkQXJyYXkobmV3IFVpbnQ4QXJyYXkpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNUeXBlZEFycmF5KFtdKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc1R5cGVkQXJyYXkgPSBub2RlSXNUeXBlZEFycmF5ID8gYmFzZVVuYXJ5KG5vZGVJc1R5cGVkQXJyYXkpIDogYmFzZUlzVHlwZWRBcnJheTtcblxubW9kdWxlLmV4cG9ydHMgPSBpc1R5cGVkQXJyYXk7XG4iLCJ2YXIgYXJyYXlMaWtlS2V5cyA9IHJlcXVpcmUoJy4vX2FycmF5TGlrZUtleXMnKSxcbiAgICBiYXNlS2V5cyA9IHJlcXVpcmUoJy4vX2Jhc2VLZXlzJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgYG9iamVjdGAuXG4gKlxuICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuIFNlZSB0aGVcbiAqIFtFUyBzcGVjXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3Qua2V5cylcbiAqIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IE9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gRm9vKCkge1xuICogICB0aGlzLmEgPSAxO1xuICogICB0aGlzLmIgPSAyO1xuICogfVxuICpcbiAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gKlxuICogXy5rZXlzKG5ldyBGb28pO1xuICogLy8gPT4gWydhJywgJ2InXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICpcbiAqIF8ua2V5cygnaGknKTtcbiAqIC8vID0+IFsnMCcsICcxJ11cbiAqL1xuZnVuY3Rpb24ga2V5cyhvYmplY3QpIHtcbiAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iamVjdCkgPyBhcnJheUxpa2VLZXlzKG9iamVjdCkgOiBiYXNlS2V5cyhvYmplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleXM7XG4iLCJ2YXIgYXJyYXlMaWtlS2V5cyA9IHJlcXVpcmUoJy4vX2FycmF5TGlrZUtleXMnKSxcbiAgICBiYXNlS2V5c0luID0gcmVxdWlyZSgnLi9fYmFzZUtleXNJbicpLFxuICAgIGlzQXJyYXlMaWtlID0gcmVxdWlyZSgnLi9pc0FycmF5TGlrZScpO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgYG9iamVjdGAuXG4gKlxuICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IE9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gRm9vKCkge1xuICogICB0aGlzLmEgPSAxO1xuICogICB0aGlzLmIgPSAyO1xuICogfVxuICpcbiAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gKlxuICogXy5rZXlzSW4obmV3IEZvbyk7XG4gKiAvLyA9PiBbJ2EnLCAnYicsICdjJ10gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAqL1xuZnVuY3Rpb24ga2V5c0luKG9iamVjdCkge1xuICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0LCB0cnVlKSA6IGJhc2VLZXlzSW4ob2JqZWN0KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlzSW47XG4iLCIvKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYGZhbHNlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMTMuMFxuICogQGNhdGVnb3J5IFV0aWxcbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8udGltZXMoMiwgXy5zdHViRmFsc2UpO1xuICogLy8gPT4gW2ZhbHNlLCBmYWxzZV1cbiAqL1xuZnVuY3Rpb24gc3R1YkZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc3R1YkZhbHNlO1xuIiwidmFyIGFzc2lnbkluV2l0aCA9IHJlcXVpcmUoJy4vYXNzaWduSW5XaXRoJyksXG4gICAgYXR0ZW1wdCA9IHJlcXVpcmUoJy4vYXR0ZW1wdCcpLFxuICAgIGJhc2VWYWx1ZXMgPSByZXF1aXJlKCcuL19iYXNlVmFsdWVzJyksXG4gICAgY3VzdG9tRGVmYXVsdHNBc3NpZ25JbiA9IHJlcXVpcmUoJy4vX2N1c3RvbURlZmF1bHRzQXNzaWduSW4nKSxcbiAgICBlc2NhcGVTdHJpbmdDaGFyID0gcmVxdWlyZSgnLi9fZXNjYXBlU3RyaW5nQ2hhcicpLFxuICAgIGlzRXJyb3IgPSByZXF1aXJlKCcuL2lzRXJyb3InKSxcbiAgICBpc0l0ZXJhdGVlQ2FsbCA9IHJlcXVpcmUoJy4vX2lzSXRlcmF0ZWVDYWxsJyksXG4gICAga2V5cyA9IHJlcXVpcmUoJy4va2V5cycpLFxuICAgIHJlSW50ZXJwb2xhdGUgPSByZXF1aXJlKCcuL19yZUludGVycG9sYXRlJyksXG4gICAgdGVtcGxhdGVTZXR0aW5ncyA9IHJlcXVpcmUoJy4vdGVtcGxhdGVTZXR0aW5ncycpLFxuICAgIHRvU3RyaW5nID0gcmVxdWlyZSgnLi90b1N0cmluZycpO1xuXG4vKiogVXNlZCB0byBtYXRjaCBlbXB0eSBzdHJpbmcgbGl0ZXJhbHMgaW4gY29tcGlsZWQgdGVtcGxhdGUgc291cmNlLiAqL1xudmFyIHJlRW1wdHlTdHJpbmdMZWFkaW5nID0gL1xcYl9fcCBcXCs9ICcnOy9nLFxuICAgIHJlRW1wdHlTdHJpbmdNaWRkbGUgPSAvXFxiKF9fcCBcXCs9KSAnJyBcXCsvZyxcbiAgICByZUVtcHR5U3RyaW5nVHJhaWxpbmcgPSAvKF9fZVxcKC4qP1xcKXxcXGJfX3RcXCkpIFxcK1xcbicnOy9nO1xuXG4vKipcbiAqIFVzZWQgdG8gbWF0Y2hcbiAqIFtFUyB0ZW1wbGF0ZSBkZWxpbWl0ZXJzXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10ZW1wbGF0ZS1saXRlcmFsLWxleGljYWwtY29tcG9uZW50cykuXG4gKi9cbnZhciByZUVzVGVtcGxhdGUgPSAvXFwkXFx7KFteXFxcXH1dKig/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG5cbi8qKiBVc2VkIHRvIGVuc3VyZSBjYXB0dXJpbmcgb3JkZXIgb2YgdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbnZhciByZU5vTWF0Y2ggPSAvKCReKS87XG5cbi8qKiBVc2VkIHRvIG1hdGNoIHVuZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy4gKi9cbnZhciByZVVuZXNjYXBlZFN0cmluZyA9IC9bJ1xcblxcclxcdTIwMjhcXHUyMDI5XFxcXF0vZztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24gdGhhdCBjYW4gaW50ZXJwb2xhdGUgZGF0YSBwcm9wZXJ0aWVzXG4gKiBpbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVycywgSFRNTC1lc2NhcGUgaW50ZXJwb2xhdGVkIGRhdGEgcHJvcGVydGllcyBpblxuICogXCJlc2NhcGVcIiBkZWxpbWl0ZXJzLCBhbmQgZXhlY3V0ZSBKYXZhU2NyaXB0IGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLiBEYXRhXG4gKiBwcm9wZXJ0aWVzIG1heSBiZSBhY2Nlc3NlZCBhcyBmcmVlIHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuIElmIGEgc2V0dGluZ1xuICogb2JqZWN0IGlzIGdpdmVuLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYF8udGVtcGxhdGVTZXR0aW5nc2AgdmFsdWVzLlxuICpcbiAqICoqTm90ZToqKiBJbiB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYF8udGVtcGxhdGVgIHV0aWxpemVzXG4gKiBbc291cmNlVVJMc10oaHR0cDovL3d3dy5odG1sNXJvY2tzLmNvbS9lbi90dXRvcmlhbHMvZGV2ZWxvcGVydG9vbHMvc291cmNlbWFwcy8jdG9jLXNvdXJjZXVybClcbiAqIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHByZWNvbXBpbGluZyB0ZW1wbGF0ZXMgc2VlXG4gKiBbbG9kYXNoJ3MgY3VzdG9tIGJ1aWxkcyBkb2N1bWVudGF0aW9uXShodHRwczovL2xvZGFzaC5jb20vY3VzdG9tLWJ1aWxkcykuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQ2hyb21lIGV4dGVuc2lvbiBzYW5kYm94ZXMgc2VlXG4gKiBbQ2hyb21lJ3MgZXh0ZW5zaW9ucyBkb2N1bWVudGF0aW9uXShodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2V4dGVuc2lvbnMvc2FuZGJveGluZ0V2YWwpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBzaW5jZSAwLjEuMFxuICogQG1lbWJlck9mIF9cbiAqIEBjYXRlZ29yeSBTdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgdGVtcGxhdGUgc3RyaW5nLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXNjYXBlPV8udGVtcGxhdGVTZXR0aW5ncy5lc2NhcGVdXG4gKiAgVGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXZhbHVhdGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmV2YWx1YXRlXVxuICogIFRoZSBcImV2YWx1YXRlXCIgZGVsaW1pdGVyLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zLmltcG9ydHM9Xy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNdXG4gKiAgQW4gb2JqZWN0IHRvIGltcG9ydCBpbnRvIHRoZSB0ZW1wbGF0ZSBhcyBmcmVlIHZhcmlhYmxlcy5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5pbnRlcnBvbGF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGVdXG4gKiAgVGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuc291cmNlVVJMPSd0ZW1wbGF0ZVNvdXJjZXNbbl0nXVxuICogIFRoZSBzb3VyY2VVUkwgb2YgdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnZhcmlhYmxlPSdvYmonXVxuICogIFRoZSBkYXRhIG9iamVjdCB2YXJpYWJsZSBuYW1lLlxuICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzZSB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlciB0byBjcmVhdGUgYSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScpO1xuICogY29tcGlsZWQoeyAndXNlcic6ICdmcmVkJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBmcmVkISdcbiAqXG4gKiAvLyBVc2UgdGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIgdG8gZXNjYXBlIGRhdGEgcHJvcGVydHkgdmFsdWVzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPGI+PCUtIHZhbHVlICU+PC9iPicpO1xuICogY29tcGlsZWQoeyAndmFsdWUnOiAnPHNjcmlwdD4nIH0pO1xuICogLy8gPT4gJzxiPiZsdDtzY3JpcHQmZ3Q7PC9iPidcbiAqXG4gKiAvLyBVc2UgdGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGFuZCBnZW5lcmF0ZSBIVE1MLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgXy5mb3JFYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gKlxuICogLy8gVXNlIHRoZSBpbnRlcm5hbCBgcHJpbnRgIGZ1bmN0aW9uIGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgcHJpbnQoXCJoZWxsbyBcIiArIHVzZXIpOyAlPiEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnYmFybmV5JyB9KTtcbiAqIC8vID0+ICdoZWxsbyBiYXJuZXkhJ1xuICpcbiAqIC8vIFVzZSB0aGUgRVMgdGVtcGxhdGUgbGl0ZXJhbCBkZWxpbWl0ZXIgYXMgYW4gXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIC8vIERpc2FibGUgc3VwcG9ydCBieSByZXBsYWNpbmcgdGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyAkeyB1c2VyIH0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ3BlYmJsZXMnIH0pO1xuICogLy8gPT4gJ2hlbGxvIHBlYmJsZXMhJ1xuICpcbiAqIC8vIFVzZSBiYWNrc2xhc2hlcyB0byB0cmVhdCBkZWxpbWl0ZXJzIGFzIHBsYWluIHRleHQuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JT0gXCJcXFxcPCUtIHZhbHVlICVcXFxcPlwiICU+Jyk7XG4gKiBjb21waWxlZCh7ICd2YWx1ZSc6ICdpZ25vcmVkJyB9KTtcbiAqIC8vID0+ICc8JS0gdmFsdWUgJT4nXG4gKlxuICogLy8gVXNlIHRoZSBgaW1wb3J0c2Agb3B0aW9uIHRvIGltcG9ydCBgalF1ZXJ5YCBhcyBganFgLlxuICogdmFyIHRleHQgPSAnPCUganEuZWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+JztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUodGV4dCwgeyAnaW1wb3J0cyc6IHsgJ2pxJzogalF1ZXJ5IH0gfSk7XG4gKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAqIC8vID0+ICc8bGk+ZnJlZDwvbGk+PGxpPmJhcm5leTwvbGk+J1xuICpcbiAqIC8vIFVzZSB0aGUgYHNvdXJjZVVSTGAgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gc291cmNlVVJMIGZvciB0aGUgdGVtcGxhdGUuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyA8JT0gdXNlciAlPiEnLCB7ICdzb3VyY2VVUkwnOiAnL2Jhc2ljL2dyZWV0aW5nLmpzdCcgfSk7XG4gKiBjb21waWxlZChkYXRhKTtcbiAqIC8vID0+IEZpbmQgdGhlIHNvdXJjZSBvZiBcImdyZWV0aW5nLmpzdFwiIHVuZGVyIHRoZSBTb3VyY2VzIHRhYiBvciBSZXNvdXJjZXMgcGFuZWwgb2YgdGhlIHdlYiBpbnNwZWN0b3IuXG4gKlxuICogLy8gVXNlIHRoZSBgdmFyaWFibGVgIG9wdGlvbiB0byBlbnN1cmUgYSB3aXRoLXN0YXRlbWVudCBpc24ndCB1c2VkIGluIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hpIDwlPSBkYXRhLnVzZXIgJT4hJywgeyAndmFyaWFibGUnOiAnZGF0YScgfSk7XG4gKiBjb21waWxlZC5zb3VyY2U7XG4gKiAvLyA9PiBmdW5jdGlvbihkYXRhKSB7XG4gKiAvLyAgIHZhciBfX3QsIF9fcCA9ICcnO1xuICogLy8gICBfX3AgKz0gJ2hpICcgKyAoKF9fdCA9ICggZGF0YS51c2VyICkpID09IG51bGwgPyAnJyA6IF9fdCkgKyAnISc7XG4gKiAvLyAgIHJldHVybiBfX3A7XG4gKiAvLyB9XG4gKlxuICogLy8gVXNlIGN1c3RvbSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLlxuICogXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIHt7IHVzZXIgfX0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ211c3RhY2hlJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBtdXN0YWNoZSEnXG4gKlxuICogLy8gVXNlIHRoZSBgc291cmNlYCBwcm9wZXJ0eSB0byBpbmxpbmUgY29tcGlsZWQgdGVtcGxhdGVzIGZvciBtZWFuaW5nZnVsXG4gKiAvLyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgbWVzc2FnZXMgYW5kIHN0YWNrIHRyYWNlcy5cbiAqIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdqc3QuanMnKSwgJ1xcXG4gKiAgIHZhciBKU1QgPSB7XFxcbiAqICAgICBcIm1haW5cIjogJyArIF8udGVtcGxhdGUobWFpblRleHQpLnNvdXJjZSArICdcXFxuICogICB9O1xcXG4gKiAnKTtcbiAqL1xuZnVuY3Rpb24gdGVtcGxhdGUoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkge1xuICAvLyBCYXNlZCBvbiBKb2huIFJlc2lnJ3MgYHRtcGxgIGltcGxlbWVudGF0aW9uXG4gIC8vIChodHRwOi8vZWpvaG4ub3JnL2Jsb2cvamF2YXNjcmlwdC1taWNyby10ZW1wbGF0aW5nLylcbiAgLy8gYW5kIExhdXJhIERva3Rvcm92YSdzIGRvVC5qcyAoaHR0cHM6Ly9naXRodWIuY29tL29sYWRvL2RvVCkuXG4gIHZhciBzZXR0aW5ncyA9IHRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0cy5fLnRlbXBsYXRlU2V0dGluZ3MgfHwgdGVtcGxhdGVTZXR0aW5ncztcblxuICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkpIHtcbiAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICB9XG4gIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gIG9wdGlvbnMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMsIHNldHRpbmdzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKTtcblxuICB2YXIgaW1wb3J0cyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucy5pbXBvcnRzLCBzZXR0aW5ncy5pbXBvcnRzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKSxcbiAgICAgIGltcG9ydHNLZXlzID0ga2V5cyhpbXBvcnRzKSxcbiAgICAgIGltcG9ydHNWYWx1ZXMgPSBiYXNlVmFsdWVzKGltcG9ydHMsIGltcG9ydHNLZXlzKTtcblxuICB2YXIgaXNFc2NhcGluZyxcbiAgICAgIGlzRXZhbHVhdGluZyxcbiAgICAgIGluZGV4ID0gMCxcbiAgICAgIGludGVycG9sYXRlID0gb3B0aW9ucy5pbnRlcnBvbGF0ZSB8fCByZU5vTWF0Y2gsXG4gICAgICBzb3VyY2UgPSBcIl9fcCArPSAnXCI7XG5cbiAgLy8gQ29tcGlsZSB0aGUgcmVnZXhwIHRvIG1hdGNoIGVhY2ggZGVsaW1pdGVyLlxuICB2YXIgcmVEZWxpbWl0ZXJzID0gUmVnRXhwKFxuICAgIChvcHRpb25zLmVzY2FwZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgaW50ZXJwb2xhdGUuc291cmNlICsgJ3wnICtcbiAgICAoaW50ZXJwb2xhdGUgPT09IHJlSW50ZXJwb2xhdGUgPyByZUVzVGVtcGxhdGUgOiByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgKG9wdGlvbnMuZXZhbHVhdGUgfHwgcmVOb01hdGNoKS5zb3VyY2UgKyAnfCQnXG4gICwgJ2cnKTtcblxuICAvLyBVc2UgYSBzb3VyY2VVUkwgZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gIC8vIFRoZSBzb3VyY2VVUkwgZ2V0cyBpbmplY3RlZCBpbnRvIHRoZSBzb3VyY2UgdGhhdCdzIGV2YWwtZWQsIHNvIGJlIGNhcmVmdWxcbiAgLy8gd2l0aCBsb29rdXAgKGluIGNhc2Ugb2YgZS5nLiBwcm90b3R5cGUgcG9sbHV0aW9uKSwgYW5kIHN0cmlwIG5ld2xpbmVzIGlmIGFueS5cbiAgLy8gQSBuZXdsaW5lIHdvdWxkbid0IGJlIGEgdmFsaWQgc291cmNlVVJMIGFueXdheSwgYW5kIGl0J2QgZW5hYmxlIGNvZGUgaW5qZWN0aW9uLlxuICB2YXIgc291cmNlVVJMID0gaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCAnc291cmNlVVJMJylcbiAgICA/ICgnLy8jIHNvdXJjZVVSTD0nICtcbiAgICAgICAob3B0aW9ucy5zb3VyY2VVUkwgKyAnJykucmVwbGFjZSgvW1xcclxcbl0vZywgJyAnKSArXG4gICAgICAgJ1xcbicpXG4gICAgOiAnJztcblxuICBzdHJpbmcucmVwbGFjZShyZURlbGltaXRlcnMsIGZ1bmN0aW9uKG1hdGNoLCBlc2NhcGVWYWx1ZSwgaW50ZXJwb2xhdGVWYWx1ZSwgZXNUZW1wbGF0ZVZhbHVlLCBldmFsdWF0ZVZhbHVlLCBvZmZzZXQpIHtcbiAgICBpbnRlcnBvbGF0ZVZhbHVlIHx8IChpbnRlcnBvbGF0ZVZhbHVlID0gZXNUZW1wbGF0ZVZhbHVlKTtcblxuICAgIC8vIEVzY2FwZSBjaGFyYWN0ZXJzIHRoYXQgY2FuJ3QgYmUgaW5jbHVkZWQgaW4gc3RyaW5nIGxpdGVyYWxzLlxuICAgIHNvdXJjZSArPSBzdHJpbmcuc2xpY2UoaW5kZXgsIG9mZnNldCkucmVwbGFjZShyZVVuZXNjYXBlZFN0cmluZywgZXNjYXBlU3RyaW5nQ2hhcik7XG5cbiAgICAvLyBSZXBsYWNlIGRlbGltaXRlcnMgd2l0aCBzbmlwcGV0cy5cbiAgICBpZiAoZXNjYXBlVmFsdWUpIHtcbiAgICAgIGlzRXNjYXBpbmcgPSB0cnVlO1xuICAgICAgc291cmNlICs9IFwiJyArXFxuX19lKFwiICsgZXNjYXBlVmFsdWUgKyBcIikgK1xcbidcIjtcbiAgICB9XG4gICAgaWYgKGV2YWx1YXRlVmFsdWUpIHtcbiAgICAgIGlzRXZhbHVhdGluZyA9IHRydWU7XG4gICAgICBzb3VyY2UgKz0gXCInO1xcblwiICsgZXZhbHVhdGVWYWx1ZSArIFwiO1xcbl9fcCArPSAnXCI7XG4gICAgfVxuICAgIGlmIChpbnRlcnBvbGF0ZVZhbHVlKSB7XG4gICAgICBzb3VyY2UgKz0gXCInICtcXG4oKF9fdCA9IChcIiArIGludGVycG9sYXRlVmFsdWUgKyBcIikpID09IG51bGwgPyAnJyA6IF9fdCkgK1xcbidcIjtcbiAgICB9XG4gICAgaW5kZXggPSBvZmZzZXQgKyBtYXRjaC5sZW5ndGg7XG5cbiAgICAvLyBUaGUgSlMgZW5naW5lIGVtYmVkZGVkIGluIEFkb2JlIHByb2R1Y3RzIG5lZWRzIGBtYXRjaGAgcmV0dXJuZWQgaW5cbiAgICAvLyBvcmRlciB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IGBvZmZzZXRgIHZhbHVlLlxuICAgIHJldHVybiBtYXRjaDtcbiAgfSk7XG5cbiAgc291cmNlICs9IFwiJztcXG5cIjtcblxuICAvLyBJZiBgdmFyaWFibGVgIGlzIG5vdCBzcGVjaWZpZWQgd3JhcCBhIHdpdGgtc3RhdGVtZW50IGFyb3VuZCB0aGUgZ2VuZXJhdGVkXG4gIC8vIGNvZGUgdG8gYWRkIHRoZSBkYXRhIG9iamVjdCB0byB0aGUgdG9wIG9mIHRoZSBzY29wZSBjaGFpbi5cbiAgLy8gTGlrZSB3aXRoIHNvdXJjZVVSTCwgd2UgdGFrZSBjYXJlIHRvIG5vdCBjaGVjayB0aGUgb3B0aW9uJ3MgcHJvdG90eXBlLFxuICAvLyBhcyB0aGlzIGNvbmZpZ3VyYXRpb24gaXMgYSBjb2RlIGluamVjdGlvbiB2ZWN0b3IuXG4gIHZhciB2YXJpYWJsZSA9IGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgJ3ZhcmlhYmxlJykgJiYgb3B0aW9ucy52YXJpYWJsZTtcbiAgaWYgKCF2YXJpYWJsZSkge1xuICAgIHNvdXJjZSA9ICd3aXRoIChvYmopIHtcXG4nICsgc291cmNlICsgJ1xcbn1cXG4nO1xuICB9XG4gIC8vIENsZWFudXAgY29kZSBieSBzdHJpcHBpbmcgZW1wdHkgc3RyaW5ncy5cbiAgc291cmNlID0gKGlzRXZhbHVhdGluZyA/IHNvdXJjZS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdMZWFkaW5nLCAnJykgOiBzb3VyY2UpXG4gICAgLnJlcGxhY2UocmVFbXB0eVN0cmluZ01pZGRsZSwgJyQxJylcbiAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsICckMTsnKTtcblxuICAvLyBGcmFtZSBjb2RlIGFzIHRoZSBmdW5jdGlvbiBib2R5LlxuICBzb3VyY2UgPSAnZnVuY3Rpb24oJyArICh2YXJpYWJsZSB8fCAnb2JqJykgKyAnKSB7XFxuJyArXG4gICAgKHZhcmlhYmxlXG4gICAgICA/ICcnXG4gICAgICA6ICdvYmogfHwgKG9iaiA9IHt9KTtcXG4nXG4gICAgKSArXG4gICAgXCJ2YXIgX190LCBfX3AgPSAnJ1wiICtcbiAgICAoaXNFc2NhcGluZ1xuICAgICAgID8gJywgX19lID0gXy5lc2NhcGUnXG4gICAgICAgOiAnJ1xuICAgICkgK1xuICAgIChpc0V2YWx1YXRpbmdcbiAgICAgID8gJywgX19qID0gQXJyYXkucHJvdG90eXBlLmpvaW47XFxuJyArXG4gICAgICAgIFwiZnVuY3Rpb24gcHJpbnQoKSB7IF9fcCArPSBfX2ouY2FsbChhcmd1bWVudHMsICcnKSB9XFxuXCJcbiAgICAgIDogJztcXG4nXG4gICAgKSArXG4gICAgc291cmNlICtcbiAgICAncmV0dXJuIF9fcFxcbn0nO1xuXG4gIHZhciByZXN1bHQgPSBhdHRlbXB0KGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBGdW5jdGlvbihpbXBvcnRzS2V5cywgc291cmNlVVJMICsgJ3JldHVybiAnICsgc291cmNlKVxuICAgICAgLmFwcGx5KHVuZGVmaW5lZCwgaW1wb3J0c1ZhbHVlcyk7XG4gIH0pO1xuXG4gIC8vIFByb3ZpZGUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uJ3Mgc291cmNlIGJ5IGl0cyBgdG9TdHJpbmdgIG1ldGhvZCBvclxuICAvLyB0aGUgYHNvdXJjZWAgcHJvcGVydHkgYXMgYSBjb252ZW5pZW5jZSBmb3IgaW5saW5pbmcgY29tcGlsZWQgdGVtcGxhdGVzLlxuICByZXN1bHQuc291cmNlID0gc291cmNlO1xuICBpZiAoaXNFcnJvcihyZXN1bHQpKSB7XG4gICAgdGhyb3cgcmVzdWx0O1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGU7XG4iLCJ2YXIgZXNjYXBlID0gcmVxdWlyZSgnLi9lc2NhcGUnKSxcbiAgICByZUVzY2FwZSA9IHJlcXVpcmUoJy4vX3JlRXNjYXBlJyksXG4gICAgcmVFdmFsdWF0ZSA9IHJlcXVpcmUoJy4vX3JlRXZhbHVhdGUnKSxcbiAgICByZUludGVycG9sYXRlID0gcmVxdWlyZSgnLi9fcmVJbnRlcnBvbGF0ZScpO1xuXG4vKipcbiAqIEJ5IGRlZmF1bHQsIHRoZSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzIHVzZWQgYnkgbG9kYXNoIGFyZSBsaWtlIHRob3NlIGluXG4gKiBlbWJlZGRlZCBSdWJ5IChFUkIpIGFzIHdlbGwgYXMgRVMyMDE1IHRlbXBsYXRlIHN0cmluZ3MuIENoYW5nZSB0aGVcbiAqIGZvbGxvd2luZyB0ZW1wbGF0ZSBzZXR0aW5ncyB0byB1c2UgYWx0ZXJuYXRpdmUgZGVsaW1pdGVycy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHR5cGUge09iamVjdH1cbiAqL1xudmFyIHRlbXBsYXRlU2V0dGluZ3MgPSB7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXNjYXBlJzogcmVFc2NhcGUsXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGNvZGUgdG8gYmUgZXZhbHVhdGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXZhbHVhdGUnOiByZUV2YWx1YXRlLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRldGVjdCBgZGF0YWAgcHJvcGVydHkgdmFsdWVzIHRvIGluamVjdC5cbiAgICpcbiAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgKi9cbiAgJ2ludGVycG9sYXRlJzogcmVJbnRlcnBvbGF0ZSxcblxuICAvKipcbiAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICAndmFyaWFibGUnOiAnJyxcblxuICAvKipcbiAgICogVXNlZCB0byBpbXBvcnQgdmFyaWFibGVzIGludG8gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICAnaW1wb3J0cyc6IHtcblxuICAgIC8qKlxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0c1xuICAgICAqIEB0eXBlIHtGdW5jdGlvbn1cbiAgICAgKi9cbiAgICAnXyc6IHsgJ2VzY2FwZSc6IGVzY2FwZSB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGVTZXR0aW5ncztcbiIsInZhciBiYXNlVG9TdHJpbmcgPSByZXF1aXJlKCcuL19iYXNlVG9TdHJpbmcnKTtcblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nLiBBbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgZm9yIGBudWxsYFxuICogYW5kIGB1bmRlZmluZWRgIHZhbHVlcy4gVGhlIHNpZ24gb2YgYC0wYCBpcyBwcmVzZXJ2ZWQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvU3RyaW5nKG51bGwpO1xuICogLy8gPT4gJydcbiAqXG4gKiBfLnRvU3RyaW5nKC0wKTtcbiAqIC8vID0+ICctMCdcbiAqXG4gKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiAnMSwyLDMnXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBiYXNlVG9TdHJpbmcodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvU3RyaW5nO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBcIi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogR2VuZXJpYyBTdHlsZXNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuYWctZ3JpZCwgYWctZ3JpZC1hbmd1bGFyLCBhZy1ncmlkLW5nMiwgYWctZ3JpZC1wb2x5bWVyLCBhZy1ncmlkLWF1cmVsaWEge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctaGlkZGVuIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcblxcbi5hZy1pbnZpc2libGUge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctZmFkZWQge1xcbiAgb3BhY2l0eTogMC4zOyB9XFxuXFxuLmFnLXdpZHRoLWhhbGYge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XFxuXFxuLmFnLXVuc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1pbnB1dC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctc2hha2UtbGVmdC10by1yaWdodCB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYWctc2hha2UtbGVmdC10by1yaWdodDtcXG4gIGFuaW1hdGlvbi1uYW1lOiBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0OyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQge1xcbiAgZnJvbSB7XFxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIHRvIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XFxuXFxuQGtleWZyYW1lcyBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0IHtcXG4gIGZyb20ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICB0byB7XFxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxcblxcbi5hZy1yb290LXdyYXBwZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctcm9vdC13cmFwcGVyLmFnLWxheW91dC1ub3JtYWwge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1yb290LXdyYXBwZXIgLmFnLXdhdGVybWFyayB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgYm90dG9tOiAxMHB4O1xcbiAgICByaWdodDogMjVweDtcXG4gICAgb3BhY2l0eTogMC41O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgM3M7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgM3M7IH1cXG4gICAgLmFnLXJvb3Qtd3JhcHBlciAuYWctd2F0ZXJtYXJrOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogJyc7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0S1BITjJaeUIzYVdSMGFEMGlORGswY0hnaUlHaGxhV2RvZEQwaU1qTTVjSGdpSUhacFpYZENiM2c5SWpBZ01DQTBPVFFnTWpNNUlpQjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lQZ29nSUNBZ1BDRXRMU0JIWlc1bGNtRjBiM0k2SUZOclpYUmphQ0EwTnk0eElDZzBOVFF5TWlrZ0xTQm9kSFJ3T2k4dmQzZDNMbUp2YUdWdGFXRnVZMjlrYVc1bkxtTnZiUzl6YTJWMFkyZ2dMUzArQ2lBZ0lDQThkR2wwYkdVK1RHOW5iend2ZEdsMGJHVStDaUFnSUNBOFpHVnpZejVEY21WaGRHVmtJSGRwZEdnZ1UydGxkR05vTGp3dlpHVnpZejRLSUNBZ0lEeGtaV1p6UGdvZ0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWswd0xqWXhNamcwT1Rrek1Td3hNRGdnVERBdU5qRXlPRFE1T1RNeExEWTNMalExT1RZek56UWdUREF1TmpFeU9EUTVPVE14TERZM0xqUTFPVFl6TnpRZ1F6QXVOakV5T0RRNU9UTXhMRFl5TGpFd01EWTFNellnTXk0ME56RTRNek0zT0N3MU55NHhORGczTkRneklEZ3VNVEV5T0RRNU9UTXNOVFF1TkRZNU1qVTJOQ0JNT1RndU16QTJOREkxTERJdU16azFPVGN4TlRjZ1REazRMak13TmpReU5Td3lMak01TlRrM01UVTNJRU14TURJdU9UUTNORFF4TEMwd0xqSTRNelV5TURNMU9DQXhNRGd1TmpZMU5EQTVMQzB3TGpJNE16VXlNRE0xT0NBeE1UTXVNekEyTkRJMUxESXVNemsxT1RjeE5UY2dUREV4TXk0ek1EWTBNalVzTWk0ek9UVTVOekUxTnlCTU1qQXpMalVzTlRRdU5EWTVNalUyTkNCTU1qQXpMalVzTlRRdU5EWTVNalUyTkNCRE1qQTRMakUwTVRBeE5pdzFOeTR4TkRnM05EZ3pJREl4TVN3Mk1pNHhNREEyTlRNMklESXhNU3cyTnk0ME5UazJNemMwSUV3eU1URXNNVE00SUV3eE9ERXNNVE00SUV3eE9EQXVPVGszTURReExEa3pMams1T1RrNU9UZ2dUREU0TUM0NU9UWXdNeklzT1RNdU9UazVPVGs1T1NCRE1UZ3dMams1TlRRM05TdzROUzQzTVRZeE1qSTJJREUzTkM0eU56azVNRGtzTnprdU1EQXhNREE0TnlBeE5qVXVPVGsyTURNeUxEYzVMakF3TVRBd09EY2dUREV5TWl3M09DNDVPVGs1T1RrNUlFTXhNVE11TnpFMU56STVMRGM0TGprNU9UazVPVGtnTVRBM0xEZzFMamN4TlRjeU9EWWdNVEEzTERrekxqazVPVGs1T1RrZ1RERXdOeXd4TXpZdU1ERTFOakl6SUV3eE1EY3NNVE0yTGpBeE5UWXlNeUJETVRBM0xERTBOQzR5T1RrNE9UVWdNVEV6TGpjeE5UY3lPU3d4TlRFdU1ERTFOakl6SURFeU1pd3hOVEV1TURFMU5qSXpJRXd4Tmpnc01UVXhMakF4TlRZeU15Qk1NVFk0TERFMk15QkRNVFk0TERFMk5DNDJOVFk0TlRRZ01UWTJMalkxTmpnMU5Dd3hOallnTVRZMUxERTJOaUJNTVRJd0xERTJOaUJNTVRJd0xERTNPU0JNTVRZMUxqazVOakF6TWl3eE56a2dUREUyTlM0NU9UWXdNeklzTVRjNExqazVOemczTnlCRE1UYzBMakkzT1RRM05Dd3hOemd1T1RrM09EYzNJREU0TUM0NU9UUTROaXd4TnpJdU1qZ3pORFF5SURFNE1DNDVPVFl3TXpJc01UWTBJRXd4T0RFc01UVXdMamsyTURVMU5DQk1NakV4TERFMU1DNDVOakExTlRRZ1RESXhNU3d4TnpFdU5qQTJNakEzSUV3eU1URXNNVGN4TGpZd05qSXdOeUJETWpFeExERTNOaTQ1TmpVeE9URWdNakE0TGpFME1UQXhOaXd4T0RFdU9URTNNRGsySURJd015NDFMREU0TkM0MU9UWTFPRGdnVERFeE15NHpNRFkwTWpVc01qTTJMalkyT1RnM015Qk1NVEV6TGpNd05qUXlOU3d5TXpZdU5qWTVPRGN6SUVNeE1EZ3VOalkxTkRBNUxESXpPUzR6TkRrek5qVWdNVEF5TGprME56UTBNU3d5TXprdU16UTVNelkxSURrNExqTXdOalF5TlN3eU16WXVOalk1T0RjeklFdzRMakV4TWpnME9Ua3pMREU0TkM0MU9UWTFPRGdnVERndU1URXlPRFE1T1RNc01UZzBMalU1TmpVNE9DQkRNeTQwTnpFNE16TTNPQ3d4T0RFdU9URTNNRGsySURBdU5qRXlPRFE1T1RNeExERTNOaTQ1TmpVeE9URWdNQzQyTVRJNE5EazVNekVzTVRjeExqWXdOakl3TnlCTU1DNDJNVEk0TkRrNU16RXNNVEl4SUV3eU55d3hNakVnVERJM0xERXpOaUJETWpjc01UUTBMakk0TkRJM01TQXpNeTQzTVRVM01qZzNMREUxTVNBME1pd3hOVEVnVERReUxERTFNU0JNTVRBd0xERTFNU0JNTVRBd0xEazBJRU14TURBc09EVXVOekUxTnpJNE9DQTVNeTR5T0RReU56RXlMRGM1SURnMUxEYzVJRXd5Tnl3M09TQk1NamNzT1RJZ1REZzBMRGt5SUVNNE5TNDJOVFk0TlRReUxEa3lJRGczTERrekxqTTBNekUwTlRnZ09EY3NPVFVnVERnM0xEazFJRXc0Tnl3eE1EZ2dUREF1TmpFeU9EUTVPVE14TERFd09DQmFJaUJwWkQwaWNHRjBhQzB4SWo0OEwzQmhkR2crQ2lBZ0lDQThMMlJsWm5NK0NpQWdJQ0E4WnlCcFpEMGlVM2x0WW05c2N5SWdjM1J5YjJ0bFBTSnViMjVsSWlCemRISnZhMlV0ZDJsa2RHZzlJakVpSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStDaUFnSUNBZ0lDQWdQR2NnYVdROUlreHZaMjhpUGdvZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5ORGMzTERVMUlFdzBPVFFzTlRVZ1REUTVOQ3d4TlRFZ1REUXpOU3d4TlRFZ1F6UXlOaTQzTVRVM01qa3NNVFV4SURReU1Dd3hORFF1TWpnME1qY3hJRFF5TUN3eE16WWdURFF5TUN3NU5pQkROREl3TERnM0xqY3hOVGN5T0RnZ05ESTJMamN4TlRjeU9TdzRNU0EwTXpVc09ERWdURFF6TlN3NE1TQk1ORGMzTERneElFdzBOemNzTlRVZ1dpQk5ORFF3TERrNElFTTBNemd1TXpRek1UUTJMRGs0SURRek55dzVPUzR6TkRNeE5EVTRJRFF6Tnl3eE1ERWdURFF6Tnl3eE16RWdRelF6Tnl3eE16SXVOalUyT0RVMElEUXpPQzR6TkRNeE5EWXNNVE0wSURRME1Dd3hNelFnVERRM055d3hNelFnVERRM055dzVPQ0JNTkRRd0xEazRJRm9pSUdsa1BTSmtJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ0lDQWdJRHhuSUdsa1BTSnBJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNnek9UWXVNREF3TURBd0xDQTFOUzR3TURBd01EQXBJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh3YjJ4NVoyOXVJR2xrUFNKUVlYUm9MVFlpSUdacGJHdzlJaU5HUmtaR1JrWWlJSEJ2YVc1MGN6MGlNQ0F5TmlBeE55QXlOaUF4TnlBNU5pQXdJRGsySWo0OEwzQnZiSGxuYjI0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNHOXNlV2R2YmlCcFpEMGlVR0YwYUMwM0lpQm1hV3hzUFNJalJURXhSakl5SWlCd2IybHVkSE05SWpBZ01TNHhNelk0Tmpnek9HVXRNVE1nTVRjZ01TNHhNelk0Tmpnek9HVXRNVE1nTVRjZ01UY2dNQ0F4TnlJK1BDOXdiMng1WjI5dVBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJRHh3WVhSb0lHUTlJazB6TXpFc01UVXhJRXd6TkRnc01UVXhJRXd6TkRnc01UQXhJRXd6TkRnc01UQXhJRU16TkRnc09Ua3VNelF6TVRRMU9DQXpORGt1TXpRek1UUTJMRGs0SURNMU1TdzVPQ0JNTXpnNUxEazRJRXd6T0Rrc09ERWdURE0wTml3NE1TQk1NelEyTERneElFTXpNemN1TnpFMU56STVMRGd4SURNek1TdzROeTQzTVRVM01qZzRJRE16TVN3NU5pQk1Nek14TERFMU1TQmFJaUJwWkQwaWNpSWdabWxzYkQwaUkwWkdSa1pHUmlJK1BDOXdZWFJvUGdvZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NekkwTERnMklFd3pNalFzTnpZZ1RETXlOQ3czTmlCRE16STBMRFkzTGpjeE5UY3lPRGdnTXpFM0xqSTROREkzTVN3Mk1TQXpNRGtzTmpFZ1RESTBPU3cyTVNCTU1qUTVMRFl4SUVNeU5EQXVOekUxTnpJNUxEWXhJREl6TkN3Mk55NDNNVFUzTWpnNElESXpOQ3czTmlCTU1qTTBMREV6TmlCTU1qTTBMREV6TmlCRE1qTTBMREUwTkM0eU9EUXlOekVnTWpRd0xqY3hOVGN5T1N3eE5URWdNalE1TERFMU1TQk1NekE1TERFMU1TQk1NekE1TERFMU1TQkRNekUzTGpJNE5ESTNNU3d4TlRFZ016STBMREUwTkM0eU9EUXlOekVnTXpJMExERXpOaUJNTXpJMExERXdNQ0JNTWpnM0xERXdNQ0JNTWpnM0xERXhOeUJNTXpBM0xERXhOeUJNTXpBM0xERXpNU0JNTXpBM0xERXpNU0JETXpBM0xERXpNaTQyTlRZNE5UUWdNekExTGpZMU5qZzFOQ3d4TXpRZ016QTBMREV6TkNCTU1qVTBMREV6TkNCTU1qVTBMREV6TkNCRE1qVXlMak0wTXpFME5pd3hNelFnTWpVeExERXpNaTQyTlRZNE5UUWdNalV4TERFek1TQk1NalV4TERneElFd3lOVEVzT0RFZ1F6STFNU3czT1M0ek5ETXhORFU0SURJMU1pNHpORE14TkRZc056Z2dNalUwTERjNElFd3pNRFFzTnpnZ1RETXdOQ3czT0NCRE16QTFMalkxTmpnMU5DdzNPQ0F6TURjc056a3VNelF6TVRRMU9DQXpNRGNzT0RFZ1RETXdOeXc0TmlCTU16STBMRGcySUZvaUlHbGtQU0pISWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0poWnlJK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFp5QnBaRDBpUTI5dFltbHVaV1F0VTJoaGNHVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4dFlYTnJJR2xrUFNKdFlYTnJMVElpSUdacGJHdzlJbmRvYVhSbElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJamNHRjBhQzB4SWo0OEwzVnpaVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwyMWhjMnMrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIVnpaU0JtYVd4c1BTSWpSVEV4UmpJeUlpQjRiR2x1YXpwb2NtVm1QU0lqY0dGMGFDMHhJajQ4TDNWelpUNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZaejRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh5WldOMElHbGtQU0puSWlCbWFXeHNQU0lqUlRFeFJqSXlJaUI0UFNJeE1qQWlJSGs5SWpreUlpQjNhV1IwYUQwaU5EZ2lJR2hsYVdkb2REMGlORFlpSUhKNFBTSXpJajQ4TDNKbFkzUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5OREFzTVRJeElFdzROeXd4TWpFZ1REZzNMREV6T0NCTU5ETXNNVE00SUV3ME15d3hNemdnUXpReExqTTBNekUwTlRnc01UTTRJRFF3TERFek5pNDJOVFk0TlRRZ05EQXNNVE0xSUV3ME1Dd3hNakVnV2lJZ2FXUTlJa052YldKcGJtVmtMVk5vWVhCbElpQm1hV3hzUFNJalJURXhSakl5SWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEd3ZaejRLSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0E4TDJjK0Nqd3ZjM1puUGc9PSk7XFxuICAgICAgLXdlYmtpdC1maWx0ZXI6IGludmVydCg1MCUpO1xcbiAgICAgIGZpbHRlcjogaW52ZXJ0KDUwJSk7XFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExMHB4IDYwcHg7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgaGVpZ2h0OiA2MHB4O1xcbiAgICAgIHdpZHRoOiAxMTBweDsgfVxcbiAgICAuYWctcm9vdC13cmFwcGVyIC5hZy13YXRlcm1hcmsgLmFnLXdhdGVybWFyay10ZXh0IHtcXG4gICAgICBvcGFjaXR5OiAwLjU7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgZm9udC1mYW1pbHk6IEltcGFjdDtcXG4gICAgICBmb250LXNpemU6IDE5cHg7IH1cXG5cXG4uYWctcm9vdC13cmFwcGVyLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbiAgLmFnLXJvb3Qtd3JhcHBlci1ib2R5LmFnLWxheW91dC1ub3JtYWwge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBoZWlnaHQ6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDA7IH1cXG5cXG4uYWctcm9vdCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbiAgLmFnLXJvb3QuYWctbGF5b3V0LW5vcm1hbCwgLmFnLXJvb3QuYWctbGF5b3V0LWF1dG8taGVpZ2h0IHtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgd2lkdGg6IDA7IH1cXG4gIC5hZy1yb290LmFnLWxheW91dC1ub3JtYWwge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFZpZXdwb3J0c1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctaGVhZGVyLXZpZXdwb3J0LFxcbi5hZy1mbG9hdGluZy10b3Atdmlld3BvcnQsXFxuLmFnLWJvZHktdmlld3BvcnQsXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsXFxuLmFnLWNlbnRlci1jb2xzLXZpZXdwb3J0LFxcbi5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCxcXG4uYWctZmxvYXRpbmctYm90dG9tLXZpZXdwb3J0LFxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXZpZXdwb3J0LFxcbi5hZy12aXJ0dWFsLWxpc3Qtdmlld3BvcnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1ub3JtYWwge1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cXG4gIC5hZy1ib2R5LXZpZXdwb3J0Om5vdCguYWctbGF5b3V0LXByaW50KS5hZy1mb3JjZS12ZXJ0aWNhbC1zY3JvbGwge1xcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtY29scy12aWV3cG9ydCwgLmFnLXBpbm5lZC1yaWdodC1jb2xzLXZpZXdwb3J0IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1jZW50ZXItY29scy12aWV3cG9ydCB7XFxuICB3aWR0aDogMTAwJTtcXG4gIG92ZXJmbG93LXg6IGF1dG87IH1cXG5cXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC12aWV3cG9ydCB7XFxuICBvdmVyZmxvdy14OiBzY3JvbGw7IH1cXG5cXG4uYWctdmlydHVhbC1saXN0LXZpZXdwb3J0IHtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENvbnRhaW5lcnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWhlYWRlci1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLXRvcC1jb250YWluZXIsXFxuLmFnLWJvZHktY29udGFpbmVyLFxcbi5hZy1waW5uZWQtcmlnaHQtY29scy1jb250YWluZXIsXFxuLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lcixcXG4uYWctcGlubmVkLWxlZnQtY29scy1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1jb250YWluZXIsXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtY29udGFpbmVyLFxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctYm90dG9tLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy12aXJ0dWFsLWxpc3QtY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcblxcbi5hZy1oZWFkZXItY29udGFpbmVyLCAuYWctZmxvYXRpbmctdG9wLWNvbnRhaW5lciwgLmFnLWZsb2F0aW5nLWJvdHRvbS1jb250YWluZXIge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0IC5hZy1jZW50ZXItY29scy1jbGlwcGVyIHtcXG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtYXV0by1oZWlnaHQgLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIsIC5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1hdXRvLWhlaWdodCAuYWctY2VudGVyLWNvbHMtY29udGFpbmVyIHtcXG4gIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydCAuYWctY2VudGVyLWNvbHMtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LXByaW50IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG4gIC5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1wcmludCAuYWctY2VudGVyLWNvbHMtY2xpcHBlciB7XFxuICAgIG1pbi13aWR0aDogMTAwJTsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtY29scy1jb250YWluZXIge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC1jb250YWluZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy10b3AtZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1mdWxsLXdpZHRoLWNvbnRhaW5lciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDBweDtcXG4gIGxlZnQ6IDBweDtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtY29udGFpbmVyIHtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1mdWxsLXdpZHRoLWNvbnRhaW5lciwgLmFnLWZsb2F0aW5nLXRvcC1mdWxsLXdpZHRoLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctdmlydHVhbC1saXN0LWNvbnRhaW5lciB7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBTY3JvbGxlcnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxO1xcbiAgZmxleDogMTtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICBtaW4taGVpZ2h0OiAwO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcblxcbi5hZy1sYXlvdXQtcHJpbnQgLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcblxcbi5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwO1xcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XFxuICAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEhlYWRlcnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWhlYWRlciwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciwgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtc29ydGFibGUsIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlLCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtc29ydGFibGUge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG4uYWctaGVhZGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgd2lkdGg6IDEwMCU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWhlYWRlci1pY29uIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctaGVhZGVyLXJvdyB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLWhlYWRlci1vdmVybGF5IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLWhlYWRlci1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG5cXG4uYWctaGVhZGVyLWdyb3VwLWNlbGwtbGFiZWwsIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWNlbGwtdGV4dCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC10ZXh0IHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHotaW5kZXg6IDE7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogNHB4OyB9XFxuXFxuLmFnLWhlYWRlci1leHBhbmQtaWNvbiB7XFxuICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcblxcbi5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDb2x1bW5zXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1jZWxsIHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjJzO1xcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjJzOyB9XFxuXFxuLmFnLWNvbHVtbi1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsIHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjJzO1xcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjJzOyB9XFxuXFxuLmFnLWNvbHVtbi1tb3ZpbmcgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjJzLCB3aWR0aCAwLjJzO1xcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjJzLCB3aWR0aCAwLjJzOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDb2x1bW4gUGFuZWxcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNvbHVtbi1wYW5lbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4uYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiA0O1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDQ7XFxuICBmbGV4LWdyb3c6IDQ7XFxuICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcXG4gIGZsZXgtc2hyaW5rOiAxO1xcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICBmbGV4LWJhc2lzOiAwOyB9XFxuICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIGlucHV0IHtcXG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxcblxcbi5hZy1jb2x1bW4tZHJvcCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3QgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgICAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3QgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIDBweDtcXG4gIGZsZXg6IDEgMSAwO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XFxuICAuYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiBkaXYge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xcbiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgICBmbGV4LWdyb3c6IDE7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogUm93c1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcm93LWFuaW1hdGlvbiAuYWctcm93IHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC40cztcXG4gIHRyYW5zaXRpb246IHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycztcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjRzOyB9XFxuXFxuLmFnLXJvdy1uby1hbmltYXRpb24gLmFnLXJvdyB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcblxcbi5hZy1yb3cge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLXJvdy1wb3NpdGlvbi1hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctcm93LXBvc2l0aW9uLXJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLXJvdyB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxcblxcbi5hZy1yb3ctaW5saW5lLWVkaXRpbmcge1xcbiAgei1pbmRleDogMTsgfVxcblxcbi5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgei1pbmRleDogMjsgfVxcblxcbi5hZy1zdHViLWNlbGwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENlbGxzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jZWxsIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctY2VsbC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1jZWxsLXdyYXBwZXIuYWctcm93LWdyb3VwIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctY2VsbC13cmFwcGVyIC5hZy1jZWxsLXZhbHVlLCAuYWctY2VsbC13cmFwcGVyIC5hZy1ncm91cC12YWx1ZSB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtcm93LmFnLXJvdy1ncm91cCAuYWctY2VsbC13cmFwcGVyIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcblxcbi5hZy1jZWxsLXdpdGgtaGVpZ2h0IHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1ncm91cC1jZWxsLWVudGlyZS1yb3cge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWZvb3Rlci1jZWxsLWVudGlyZS1yb3cge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgei1pbmRleDogMTsgfVxcbiAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcgLmFnLWNlbGwtZWRpdC1pbnB1dCwgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcgLmFnLWlucHV0LXdyYXBwZXIge1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBGaWx0ZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1jaGVja2JveCB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgRmlsdGVyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IC5hZy1yZWFjdC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSAuYWctcmVhY3QtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItYm9keSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIGhlaWdodDogMTAwJTsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0IHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSBpbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItaW5wdXQge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0Oi1tb3otcmVhZC1vbmx5IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0OnJlYWQtb25seSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERyYWcgJiBEcm9wXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1kbmQtZ2hvc3Qge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICBjdXJzb3I6IG1vdmU7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogM3B4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgei1pbmRleDogMTA7IH1cXG5cXG4uYWctZG5kLWdob3N0LWljb24ge1xcbiAgcGFkZGluZzogMnB4OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBPdmVybGF5XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1vdmVybGF5IHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctb3ZlcmxheS13cmFwcGVyLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxcblxcbi5hZy1vdmVybGF5LW5vLXJvd3Mtd3JhcHBlci5hZy1sYXlvdXQtYXV0by1oZWlnaHQge1xcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFBvcHVwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1wb3B1cCA+IGRpdiB7XFxuICB6LWluZGV4OiA1OyB9XFxuXFxuLmFnLXBvcHVwLWJhY2tkcm9wIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFZpcnR1YWwgTGlzdHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctdmlydHVhbC1saXN0LWl0ZW0gc3BhbjplbXB0eTpub3QoLmFnLWljb24pIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgVG9wIGFuZCBCb3R0b21cXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWZsb2F0aW5nLXRvcCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERpYWxvZ1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZGlhbG9nLCAuYWctcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctZGlhbG9nIC5hZy10aXRsZS1iYXIsIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgZmxleDogbm9uZTtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLXRpdGxlLCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLXRpdGxlIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zLCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgICAuYWctZGlhbG9nIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24sIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLWRpYWxvZyAuYWctcGFuZWwtY29udGVudC13cmFwcGVyLCAuYWctcGFuZWwgLmFnLXBhbmVsLWNvbnRlbnQtd3JhcHBlciB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXBhbmVsLWNvbnRlbnQtd3JhcHBlciA+IGRpdiwgLmFnLXBhbmVsIC5hZy1wYW5lbC1jb250ZW50LXdyYXBwZXIgPiBkaXYge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1kaWFsb2cge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuICAuYWctZGlhbG9nIC5hZy1yZXNpemVyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gICAgei1pbmRleDogMTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItdG9wTGVmdCB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci10b3Age1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiA1cHg7XFxuICAgICAgcmlnaHQ6IDVweDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItdG9wUmlnaHQge1xcbiAgICAgIHRvcDogMDtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbmVzdy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXJpZ2h0IHtcXG4gICAgICB0b3A6IDVweDtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBib3R0b206IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogZXctcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1ib3R0b21SaWdodCB7XFxuICAgICAgYm90dG9tOiAwO1xcbiAgICAgIHJpZ2h0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItYm90dG9tIHtcXG4gICAgICBib3R0b206IDA7XFxuICAgICAgbGVmdDogNXB4O1xcbiAgICAgIHJpZ2h0OiA1cHg7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgY3Vyc29yOiBucy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWJvdHRvbUxlZnQge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBuZXN3LXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItbGVmdCB7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICB0b3A6IDVweDtcXG4gICAgICBib3R0b206IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogZXctcmVzaXplOyB9XFxuICAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1jb250ZW50IHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbHRpcFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHotaW5kZXg6IDk5OTk5OyB9XFxuXFxuLmFnLWNoYXJ0LXRvb2x0aXAge1xcbiAgZGlzcGxheTogdGFibGU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgei1pbmRleDogOTk5OTk7XFxuICBmb250OiAxMnB4IFZlcmRhbmEsIHNhbnMtc2VyaWY7XFxuICBjb2xvcjogYmxhY2s7XFxuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMywgMywgMywgMC43KSwgMC41dmggMC41dmggMXZoIHJnYmEoMywgMywgMywgMC4yNSk7XFxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMywgMywgMywgMC43KSwgMC41dmggMC41dmggMXZoIHJnYmEoMywgMywgMywgMC4yNSk7XFxuICBvcGFjaXR5OiAwO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XFxuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XFxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtOyB9XFxuICAuYWctY2hhcnQtdG9vbHRpcC52aXNpYmxlIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XFxuICAuYWctY2hhcnQtdG9vbHRpcCAudGl0bGUge1xcbiAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgcGFkZGluZzogN3B4O1xcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XFxuICAgIGNvbG9yOiB3aGl0ZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODsgfVxcbiAgLmFnLWNoYXJ0LXRvb2x0aXAgLmNvbnRlbnQge1xcbiAgICBwYWRkaW5nOiA3cHg7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEFuaW1hdGlvbnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXZhbHVlLXNsaWRlLW91dCB7XFxuICBtYXJnaW4tcmlnaHQ6IDVweDtcXG4gIG9wYWNpdHk6IDE7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgM3MsIG1hcmdpbi1yaWdodCAzcztcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgM3MsIG1hcmdpbi1yaWdodCAzcztcXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG4uYWctdmFsdWUtc2xpZGUtb3V0LWVuZCB7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxuICBvcGFjaXR5OiAwOyB9XFxuXFxuLmFnLW9wYWNpdHktemVybyB7XFxuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIE1lbnVcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLW1lbnUge1xcbiAgbWF4LWhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XFxuXFxuLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gIGhlaWdodDogMjY1cHg7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAyMDBweDsgfVxcblxcbi5hZy1tZW51LWxpc3Qge1xcbiAgZGlzcGxheTogdGFibGU7IH1cXG5cXG4uYWctbWVudS1vcHRpb24sIC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cXG4gIC5hZy1tZW51LW9wdGlvbiA+IHNwYW4sIC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuXFxuLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFJpY2ggU2VsZWN0XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1yaWNoLXNlbGVjdCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICBvdXRsaW5lOiBub25lOyB9XFxuICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUgPiBzcGFuIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUgPiBzcGFuLmFnLWljb24ge1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xcbiAgICAgICAgb3JkZXI6IDE7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICBmbGV4OiBub25lOyB9XFxuICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCAuYWctdmlydHVhbC1saXN0LWl0ZW0gLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBQYWdpbmF0aW9uXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1wYWdpbmctcGFuZWwge1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XFxuXFxuLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1kaXNhYmxlZCB7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbCBQYW5lbFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB3aWR0aDogMjAwcHg7IH1cXG4gIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4uYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cXG5cXG4uYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiA1cHg7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7IH1cXG5cXG4uYWctbHRyIC5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XFxuXFxuLmxvYWRpbmctZmlsdGVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwYWRkaW5nOiA1cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM0cHg7XFxuICB3aWR0aDogMTAwJTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctZGV0YWlscy1yb3cge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZGV0YWlscy1ncmlkIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctbnVtZXJpYy1oZWFkZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBTaWRlIEJhclxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctc2lkZS1iYXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XFxuICAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBkaXYgYnV0dG9uIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIG91dGxpbmU6IG5vbmU7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBkaXYgYnV0dG9uIHNwYW46bm90KC5hZy1pY29uKSB7XFxuICAgICAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHRiO1xcbiAgICAgIC1tcy13cml0aW5nLW1vZGU6IHRiO1xcbiAgICAgIHdyaXRpbmctbW9kZTogdGI7XFxuICAgICAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyO1xcbiAgICAgIC1tcy13cml0aW5nLW1vZGU6IHRiLWxyO1xcbiAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IH1cXG4gIC5hZy1zaWRlLWJhciAucGFuZWwtY29udGFpbmVyIHtcXG4gICAgd2lkdGg6IDE4MHB4OyB9XFxuICAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAucGFuZWwtY29udGFpbmVyIHtcXG4gICAgd2lkdGg6IDIwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBidXR0b24gc3Bhbjpub3QoLmFnLWljb24pIHtcXG4gIC13ZWJraXQtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIC1tcy13cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcXG4gIC1tcy13cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU3RhdHVzIEJhclxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctc3RhdHVzLWJhciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XFxuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLXN0YXR1cy1iYXIgLmFnLXN0YXR1cy1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi5hZy1zdGF0dXMtYmFyLWxlZnQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctc3RhdHVzLWJhci1yaWdodCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogV2lkZ2V0c1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIDEwMCU7XFxuICBmbGV4OiAxIDEgMTAwJTsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRvb2xiYXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbiAgICAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIC5hZy1ncm91cC1zdWJncm91cCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoO1xcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1jb2xsYXBzZWQgLmFnLWdyb3VwLWNvbXBvbmVudC10b29sYmFyLCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWNvbGxhcHNlZCAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG5cXG4uYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IHJpZ2h0IDAuM3M7XFxuICB0cmFuc2l0aW9uOiByaWdodCAwLjNzO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAtMXB4OyB9XFxuXFxuLmFnLWlucHV0LWZpZWxkIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1pbnB1dC1maWVsZCBpbnB1dCwgLmFnLWlucHV0LWZpZWxkIHNlbGVjdCwgLmFnLWlucHV0LWZpZWxkIHRleHRhcmVhIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1pbi13aWR0aDogMDsgfVxcblxcbi5hZy1yYW5nZS1maWVsZCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcblxcbi5hZy1waWNrZXItZmllbGQgPiAuYWctd3JhcHBlciwgLmFnLXNsaWRlciA+IC5hZy13cmFwcGVyLCAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy1waWNrZXItZmllbGQgPiAuYWctd3JhcHBlciA+IGRpdiwgLmFnLXNsaWRlciA+IC5hZy13cmFwcGVyID4gZGl2LCAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWFuZ2xlLXNlbGVjdCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1wYXJlbnQtY2lyY2xlIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1jaGlsZC1jaXJjbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctcGlja2VyLWZpZWxkIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAuYWctcGlja2VyLWZpZWxkID4gLmFnLXdyYXBwZXIgPiBidXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgbWFyZ2luOiAwOyB9XFxuXFxuLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctY29sb3ItcGlja2VyIGJ1dHRvbiB7XFxuICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG4uYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi1yaWdodCBsYWJlbCB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xcbiAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICBvcmRlcjogMTsgfVxcblxcbi5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXJpZ2h0ID4gZGl2IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG5cXG4uYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi10b3Age1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCA+IGRpdiB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7XFxuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cXG5cXG4uYWctY29sb3ItcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgLmFnLWNvbG9yLXBhbmVsIC5hZy1maWxsIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIGxlZnQ6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdmFsIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0taHVlIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgzJSwgI2ZmMDAwMCksIGNvbG9yLXN0b3AoMTclLCAjZmZmZjAwKSwgY29sb3Itc3RvcCgzMyUsICMwMGZmMDApLCBjb2xvci1zdG9wKDUwJSwgIzAwZmZmZiksIGNvbG9yLXN0b3AoNjclLCAjMDAwMGZmKSwgY29sb3Itc3RvcCg4MyUsICNmZjAwZmYpLCB0bygjZmYwMDAwKSk7XFxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAjZmYwMDAwIDMlLCAjZmZmZjAwIDE3JSwgIzAwZmYwMCAzMyUsICMwMGZmZmYgNTAlLCAjMDAwMGZmIDY3JSwgI2ZmMDBmZiA4MyUsICNmZjAwMDAgMTAwJSk7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tYWxwaGEge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0taHVlLWJhY2tncm91bmQge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWFscGhhLWJhY2tncm91bmQge1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDApKSwgdG8oYmxhY2spKTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDApLCBibGFjayk7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWU6Zm9jdXMge1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBvdXRsaW5lLW9mZnNldDogMDsgfVxcbiAgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctbGVmdDogMTEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDExMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1sZWZ0OiAxMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1yaWdodDogMTUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctbGVmdDogMTUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctbGVmdDogMTcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDE3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1sZWZ0OiAxOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1yaWdodDogMTkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctbGVmdDogMjEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDIyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctbGVmdDogMjMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDIzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1sZWZ0OiAyNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1yaWdodDogMjUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1sZWZ0OiAyNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1yaWdodDogMjcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctbGVmdDogMjcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctbGVmdDogMjkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDMxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1sZWZ0OiAzMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1yaWdodDogMzEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1yaWdodDogMzMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctbGVmdDogMzMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctbGVmdDogMzUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDM1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDM3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1sZWZ0OiAzNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1yaWdodDogMzcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctbGVmdDogMzkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctbGVmdDogNDEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1sZWZ0OiA0MzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1yaWdodDogNDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1sZWZ0OiA0NTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1yaWdodDogNDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctbGVmdDogNDUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctbGVmdDogNDcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0OTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1sZWZ0OiA0OTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1yaWdodDogNDkwcHg7IH1cXG5cXG4uYWctbHRyIHtcXG4gIGRpcmVjdGlvbjogbHRyOyB9XFxuICAuYWctbHRyIC5hZy1ib2R5LCAuYWctbHRyIC5hZy1mbG9hdGluZy10b3AsIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWJvdHRvbSwgLmFnLWx0ciAuYWctaGVhZGVyLCAuYWctbHRyIC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctbHRyIC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHJpZ2h0OiAtNHB4OyB9XFxuICAuYWctbHRyIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBsZWZ0OiAtNHB4OyB9XFxuXFxuLmFnLXJ0bCB7XFxuICBkaXJlY3Rpb246IHJ0bDsgfVxcbiAgLmFnLXJ0bCAuYWctYm9keSwgLmFnLXJ0bCAuYWctZmxvYXRpbmctdG9wLCAuYWctcnRsIC5hZy1mbG9hdGluZy1ib3R0b20sIC5hZy1ydGwgLmFnLWhlYWRlciwgLmFnLXJ0bCAuYWctYm9keS12aWV3cG9ydCwgLmFnLXJ0bCAuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG4gIC5hZy1ydGwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGxlZnQ6IC00cHg7IH1cXG4gIC5hZy1ydGwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgcmlnaHQ6IC00cHg7IH1cXG5cXG5AbWVkaWEgcHJpbnQge1xcbiAgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBkaXNwbGF5OiBibG9jazsgfVxcbiAgLmFnLXJvdyB7XFxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XFxuXFxuLmFnLWJvZHkgLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsIC5hZy1ib2R5IC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctYm9keSAuYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQge1xcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XFxuXFxuLmFnLWNoYXJ0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNvbXBvbmVudHMtd3JhcHBlciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtY29tcG9uZW50cy13cmFwcGVyIC5hZy1jaGFydC1jYW52YXMtd3JhcHBlciB7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gICAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNvbXBvbmVudHMtd3JhcHBlciAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIgY2FudmFzIHtcXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtY29tcG9uZW50cy13cmFwcGVyIC5hZy1jaGFydC1tZW51IHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgdG9wOiAxMHB4O1xcbiAgICAgIHJpZ2h0OiAyMHB4O1xcbiAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1jaGFydDpub3QoLmFnLWhhcy1tZW51KTpob3ZlciAuYWctY2hhcnQtbWVudSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtZG9ja2VkLWNvbnRhaW5lciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG1pbi13aWR0aDogMDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBtaW4td2lkdGggMC40cztcXG4gICAgdHJhbnNpdGlvbjogbWluLXdpZHRoIDAuNHM7IH1cXG4gICAgLmFnLWNoYXJ0IC5hZy1jaGFydC1kb2NrZWQtY29udGFpbmVyIC5hZy1wYW5lbCB7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgPiBkaXYge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1oZWFkZXIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgZmxleDogbm9uZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy10YWItYm9keSA+IGRpdiB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XFxuXFxuLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyB7XFxuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgICAgICAgIG9wYWNpdHk6IDAuMjsgfVxcbiAgICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLXByZXYtYnRuLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biB7XFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1wcmV2LWJ0biBidXR0b24sIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5leHQtYnRuIGJ1dHRvbiB7XFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgICAgdG9wOiAwO1xcbiAgICAgICAgICBsZWZ0OiAwO1xcbiAgICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cXG4gICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIHtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cXG4gICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLWNoYXJ0cy1jb250YWluZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciB7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICB0b3A6IDA7XFxuICAgICAgICBsZWZ0OiAwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLWNoYXJ0cy1jb250YWluZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktY2hhcnRzLWNvbnRhaW5lciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cXG4gICAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktY2hhcnRzLWNvbnRhaW5lciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZywgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIuYWctYW5pbWF0aW5nIHtcXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XFxuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLWNoYXJ0cy1jb250YWluZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwge1xcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIGNhbnZhcyB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWRhdGEtd3JhcHBlciwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZGF0YS13cmFwcGVyID4gZGl2LCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyID4gZGl2IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmctYm90dG9tOiAycHg7IH1cXG4gICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1kYXRhLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1jaGlsZCksIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyIHtcXG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQtd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1zdWJncm91cCB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxcblxcbi5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW4ge1xcbiAgICBvcGFjaXR5OiAwLjU7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xcbiAgICBmb250LXNpemU6IDI0cHg7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIG1hcmdpbjogMnB4IDA7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG5cXG4uYWctY2hhcnQgLmFnLWNoYXJ0LWRvY2tlZC1jb250YWluZXIge1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgd2lkdGg6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIHBhZGRpbmc6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIHtcXG4gIHBhZGRpbmc6IDAgMTBweDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIHtcXG4gICAgcGFkZGluZzogMCAxMHB4OyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbE1BQUFDOEFBQUFZR050WVhBWFZ0SzZBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVacU11eTNnQUFBRjRBQUFiREdobFlXUVZvbU9YQUFBY2hBQUFBRFpvYUdWaEI4SUQrUUFBSEx3QUFBQWthRzEwZU5ZQUluWUFBQnpnQUFBQTRHeHZZMkhFbUw0YUFBQWR3QUFBQUhKdFlYaHdBRVVBbFFBQUhqUUFBQUFnYm1GdFpaUVh4S1FBQUI1VUFBQUJrbkJ2YzNRQUF3QUFBQUFmNkFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTXdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUUC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBRzRBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRVZIZ0VYRmdZSERnRVZJVFV6RlNFME5qYytBU2N1QVNjMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTUUhnUVA4QUFYVVpFQW9ZSjFZQkFFRCtnQVliTFdRZ0xtSUNBWUFEZ0FKY1BrbEpTWkpKU1VrK1hBSUJBUUVCQWx3K1NVbEpra2xKU1Q1Y0FnRUJBVUU0SmtoSlNaSkpTVWtrTlFJREFRRUJBUU1DTlNSSlNVcVNTa2xKSkRVQ0F3RUJBZjhBUUFNZ1Fpc2NSQmNpUFJwQWdDWk1HQ2RISHlsSE5FVUFBUUJUQUJNRHJRTnRBQ2NBQUJNWEJ5YzNIZ0VYQnlFUkJ5YzNIZ0VYQnljUklTYzNIZ0VYQnljM0lSRTNIZ0VYQnljM0Z4SE5TaTZXbGd3V0RFb0JFMGt1bHlaTEppNUpBUk5LTGlWTUpaWXVTdjd0U1F3V0RKZVhMa2tCb0VrdWw1Y01GZ3hKQVJOS0xwWWxUQ1V1U3Y3dFNTNG1TeWFYTGtuKzdVb01GZ3lXbGk1S0FSTUFBQUVCS1FDWkF0Y0M1d0FLQUFBQkJ5YzNIZ0VYQnljUkl3SGdpUzdYTm1zMkxvbEFBbXlKTGRjMmF6WXRpZjR0QUFNQWdBQkFBNEFEUUFBYkFEY0FSZ0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZVE54NEJGd2NYQnljSEp6Y25OeGNDQUU5R1Jta2VIaDRlYVVaR1QwOUdSbWtlSGg0ZWFVWkdUMEk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN1Fxa01GZ3lxcWk2cHFTNnFxaTZwQTBBZUhtbEdSazlQUmtacEhoNGVIbWxHUms5UFJrWnBIaDVBR1JsWE9qdENRanM2VnhrWkdSbFhPanRDUWpzNlZ4a1ovdTJxREJZTXFha3VxcW91cWFrdXFnQURBTlVBbFFNckF1c0FCQUFKQUEwQUFCTXpFU01STnpNUkl4RVRNeEVqMVlDQTczaDQ3M2g0QWpmK1hnR2l0UDJxQWxiK3F2OEFBQU1BQVAvQUJBQUR3QUFQQUNBQUtBQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZakJ3RW5OeGNCSGdFRFNQMXdUR3hzVEFLUVRHeHNTdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBTUFBUC9BQkFBRHdBQVBBQ0FBSkFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hLL1cwdFFVRXRBcE10UVVBdUpmMjJBa3BBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgrSWtvQUFnQUEvOEFFQUFQQUFBOEFJQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWWpBMGhNYkd4TS9YQk1iR3hNQXBMOWJTMUJRUzBDa3kxQlFDNER3R3hNL1hCTWJHeE1BcEJNYkVkQkxmMXRMa0JBTGdLVExVRUFBQUFEQUhNQVNBT05BemdBQmdBS0FCWUFBQWtCQnhjSkFpRTNGeUVGTUFZVkZCWXpNalkxTkNZQy9mNVZQR2IrOXdGRkFVWDk3OHpNL21nQ1RGVXlJeU15VlFHTkFhczhadjczL3JzQlJjM05RR3NxSXpJeUl5cHJBQUFBQUFJQXdBQ2dBY0FDNEFBREFBY0FBQ1VoRVNFSEVUTVJBY0QvQUFFQXdJQ2dBa0JBL2tBQndBQUVBTUFBb0FOQUF1QUFBd0FIQUFzQUR3QUFKU01STXhNakVUTVRJeEV6QVNNUk13SEFRRURBUUVEQVFFRDl3RUJBb0FKQS9jQUNRUDNBQWtEOXdBSkFBQUFBQUFFQlhnQ3BBcUlDMXdBSEFBQUJCeGNIQ1FFZUFRS2k2ZWt0L3VrQkZ3c1hBcW5wNlM0QkZ3RVhEQllBQXdDZ0FFQURZQU5BQUJBQUlBQXpBQUFsSXlJbU5SRTBOanNCTWhZVkVSUUdJeE1oSWdZVkVSUVdNeUV5TmpVUk5DWUJJendCTlJFME5qTWhPZ0V6RlNFaUJoVVJBcjc3UTJCZ1EvdERYMTlEQmY3OUp6YzNKd0VESnpjMy9mZEJYME1CbWdFQ0FmNWRKalpBWDBRQk9rTmdZRVAreGtSZkFrQTRKdjY3SnpjM0p3RkZKamorQUFFRUFnSVhRMTlBTmliOTNBQUFBQUFCQVNrQTZRTFhBcGNBRGdBQUFUY2VBUmNIRndjbkJ5YzNKemNYQWdDcERCWU1xcW91cWFrdXFxb3VxUUh0cWd3V0RLbXBMcXFxTHFtcExxb0FBQUFBQlFCQUFBQUR3QU9BQUNVQU1nQS9BRXNBVVFBQUFUNEJOVFFtSXlJR0ZSUVdNekkyTnhjSExnRWpJZ1lWRkJZek1qWTFOQ1luTndFek5RRUhJaVkxTkRZek1oWVZGQVlqRVNJbU5UUTJNeklXRlJRR0l3RWlKalUwTmpNeUZoVVVCZ2tCRndFMUl3R1dDQWhwU2twcGFVb1VKUkZwYVJFbEZFcHBhVXBLYVFnSWFnRTZodjNXb3lVME5DVWxOVFVsSlRRMEpTVTFOU1VCRFFrTkRRa0pEUTBCTWY3eldRRTZoZ0tERVNVVVNtbHBTa3BwQ0FocWFnZ0lhVXBLYVdsS0ZDVVJhZjdITFFJcEVEVWxKVFEwSlNVMS9lYzBKU1UxTlNVbE5BRlFEUWtKRFEwSkNRMEJxZjd6V1FFNUxRQUFCd0NHQUZZRGVnTXFBQXNBRHdBYkFDZ0FMQUE0QUR3QUFEY2lCaFVVRmpNeU5qVTBKZ1UxSVJVRElnWVZGQll6TWpZMU5DWUhNaFlWRkFZaklpWTFORFl6QlNFMUlRRXlGaFVVQmlNaUpqVTBOZ1VoTlNIR0dpWW1HaHNsSlFLWi9lYWFHaVltR2hzbEpSc1NHUmtTRVJrWkVRSUovcEVCYi8zM0d5VWxHeG9tSmdMTy9lWUNHdFltR2hzbEpSc2FKbXRWVlFHVkpob2FKaVlhR2lZVkdSSVNHUmtTRWhsV1ZnRS9KUnNhSmlZYUd5VnFWUUFBQUFFQktRQ1pBdGNDNXdBS0FBQUJOeDRCRndjbk54Y1JNd0lnaVF3V0ROZlhMb2xBQVJTSkN4Y0wxOWN0aVFIVEFBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFVQVF3QnpBNzBERFFBc0FFb0FhQUJ6QUgwQUFBRStBVGM2QVRNV0Z4NEJGeFlYTUFZSERnRUhGd2NuQmdjR0ppY21KeTRCSnk0Qkp6QTJOejRCTnljM0Z3Y09BUThCRmhjZUFSY1dOejRCTnljT0FTTWlKeTRCSnlZMU5EWTNKd0UrQVQ4QkppY3VBU2NtQnc0QkJ4YytBVE15Rng0QkZ4WVZGQVlIRndFT0FSVVVGak15TmpjbkJUNEJOVFFtSXlJR0J3RXFMMmcyQndRSFNFTkNjaTB0R3prdUVDUVRQaTFMT1VCQWdENDlOU2xFR1FvUENpVWJGemNnUGkxS0NqRk9HQUVkTnplSlRFeElDeFlLSFJ4RUppOG9LVDBTRVJjVk1BSEJNVTBZQVJnbktHVTdPejRwVUNVa0hFUW1MaWtwUFJFU0dCVXEvcDBNRGw1Q0dDMFQzZ0VMRFE1ZVFoa3NFd0xFRnhzQ0FoZ1hVams0UkhZd0VSNE5QaTFMSEEwTUNCVVZKaDVLTEJFaUdGTWtIellXUGkxSlVTRlpOd0pGTlRVL0J3Y1hCQWdGSFJVWUVoSThLU2t1SmtRY01mNlpJVm8zQWpndUxrRVNFZ0VCRXhFakZSY1JFajBwS0M4bFJSd3FBUWdUTEJsQ1hnNE4zYkFUTFJoRFhRNE1BQVFBUXdDWkE3MEM5Z0FrQUVNQVlBQnZBQUFCRmhjZUFSY1dGekFHQndZSERnRW5KaWN1QVNjdUFTY3dOamMyTno0Qk56WTNPZ0V6QndZSERnRUhCZzhCRmhjZUFSY1dOelkzUGdFM05qOEJKaWN1QVNjbUl4Y3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpGelUwSmlNaUJoMEJGQll6TWpZMUFnbElRMEp5TFMwYk9TNDZUazZvVTFSRktVUVpDZzhLSlJzZ0tTcGdOVFUzQndRSEVUczROMkFuSmhnQkhUYzNpVXhNU0NvbEprQWFHaElCR0Njb1pUczdQZ2d0S0NjN0VSSVNFVHNuS0MwdEtDYzdFUklTRVRzbktDMmdYa0pDWGw1Q1FsNEM5Z0lZRjFJNU9FUjJNRDBqSkJBVkZESWVTaXdSSWhoVEpDc2pJeklPRGdKQUFoSVRRQzBzTmdKRk5UVS9Cd2NYRFJZV095TWpLQU00TGkxQ0VoRWZFUkU3SnlndExTZ25PeElSRVJJN0p5Z3RMU2duT3hFUjJBRkNYbDVDQWtKZVhrSUFBZ0RBQUtBRFFBTUFBQnNBTXdBQUFRWUhEZ0VIQmdjT0FSMEJCelEySnpRbUp5WW5MZ0VuSmljMUlRVVVGaGNXRng0QkZ4WVhGVGMxTmpjK0FUYzJOejRCTlFOQUFSWVZRU1VtSUFRRXdBSUNCUU1oSlNaQUZoVUJBb0Q5d0FRRUlTVW1RQllWQVVBQkZoVkJKU1lnQkFRQ3VpQWZIejhnSUNJRkN3WjFrRUtEUWdZS0JDSWhJa0FlSHgxR1FBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBTUFCd0FBQVNFMUlRVVZJVFVEZ1AwQUF3RDlRQUtBQVdEQVFFQkFBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBSUFRQUNnQThBQzRBQUtBQllBQUFFM0hnRVhCeWMzRnhFekFTTVJCeWMzSGdFWEJ5Y1JBVUdRREJjTTRPQXZrRUlCd0VLUUwrQTRjRGd2a0FFWWhnc1dDOUxTTElZQnlQM0FBY2lHTE5JMGFUVXNodjQ0QUFBR0FIWUFRQU9MQTBzQUhBQXlBRUVBVXdCaUFHNEFBQUVXRng0QkZ4WUhCZ2NPQVNjbUp5WW5MZ0UzTmpjMk56NEJOellYQndZSERnRUhCaGNXRng0Qk56WTNOaWN1QVNjbUJ4Y1dCdzRCQndZbkxnRXZBUUVlQVFFV056NEJOelkzTmlZbkJnY09BUWNHQnhNeUZoOEJBU1luSmpZM05qYzZBUWNHQnc0QkJ3WVhBUzRCQndJR1lsVlZhdzROTFNkT1RiZGRYa2N2SGg0WENBZ2NHU2NtWHpjM09RcFRSMGhhQ2dzbktGTlR1VlZWTFNVS0NWaEpTVnp6SXdnSVRVQkJUaHcwR0NnQmd3WUwvdGdvS1NwSkhCc01DQUVKSVNBaFFTRWdJVU1oUUIwcC9uMGxCUVl5T0RoWUJBb0dNQ29xTndvS0RnRUdFU0lTQTBzQ05UV2taV1JnVkRjM0pSVVVReXM1T241QVFEb3lLaWs2RUJBQlFBRXRMWXhWVkZGVExTMEVLaXRjVEZWVmp5OHVBYzFBU2tsN0pTWUlBaEVORmdHRENoVCtyUXdGQlNjZ0h5a2VQUjBnSVNGQklTQWhBZFlSRUJiK2ZFRkxUSUl1TFFaQUFoa1pUVEF2TGdFRkJRVUJBQUFBQUFNQWdBQXdBNEFEVUFBV0FDSUFOZ0FBQVRRbUl5SUdGU01pQmhVUkZCWXpJVEkyTlJFMEppTUZNaFlWRkFZaklpWTFORFlCSVNJbU5SRTBOanNCRlNFMU16SVdGUkVVQmdLQU9FaElPSUExUzBzMUFnQTFTMHMxL3dBU0dSa1NFaGtaQVJMK0FCb21KaHBBQVlCQUdpWW1BdkFZU0VnWVN6WCtRRFZMU3pVQndEVkxFUmdSRVJnWUVSRVkvWkVtR2dIQUdpYUFnQ1lhL2tBYUpnQUFBQUFDQUhBQU1BT1FBMUFBS0FCQUFBQUJKekEyTno0QkZ6Y21OejRCTnpZeEZoY2VBUmNXRnc0QkJ3NEJKd2NlQVJjV0JnOEJKd2NuTndFT0FSOEJCeVlHQndFK0FUYzJKaWMzTUJZM0p6QUdNUUZabFFZUElYRXdaUWtRRUN3VUZDVWtKVWtsSlNRRkN3VWFSU3BxQVFFQ0F5Z3ZHSnJwTGVrQkNCRWFDaENnTUdJVEFTRUNCQUllQndlYU9pVGFBUUZIbFNjVkxROEpZeHdkSFM0UER5VWxKRW9sSkNVSERnY2pMd2RuQ1FFYk0yQVlESnJxTHVrQnRnNG1EeGVmREFJZS90OENBd0lhVml5YUVTclpBUUFBQ2dBLy8vOER3UU9CQUNjQU93QkhBR0VBWndCdUFIc0FoZ0NNQUpJQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklUSVJFV014WTJOelkzUGdFM05qYytBU2MwSndFVUZoVWVBUmN5RmpNMUl3RUhKemNlQVJjSEp4VU9BUWNqRndjbk54NEJGd2NXTmpjMUJSUVdGVE0xSndZVUJ6TTFJemNxQVNNaUJnY1VCaFV6TlRNbEZUTTBKalV1QVNjaUppVUdJZ2NWTXpjbUlpTVZNd01rUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWs5WFFJQkFRRUJBbHcrU1VsSmtrbEpxUDI2UFQwOWVqMDlQU1ExQWdJQ0FRRUJBdno4QVFJMUpBZ1FDSHdDUVFrdVZ4WXJGaTRKQVZ3L2R3b3VWbFlNRmd3TFVZSUIvYndCZm4wQkFYOTl2eGd1RnlVNkFRRjhRZ0hIZlFFQ05TUUlFUDd6SVVFZ2dzTWdRU0dDQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUgvQVAyOEFnRUJBUUlDQWpVa1BUMDhlajA5UFA0OENSRUlKRFVDQVg0QkZnb3VWaFVzRlM0S2N6OWZBZ2t1VjFjTUZnd0tBUjFGYzFRaFFDQ0J3aUZBSVlML09DWVlNQmxCZjM4SkVRa2tOUUlCQWdFQmY0QUJnUUFBQWdDZ0FHQURZQU1nQUFzQUZ3QUFBU0VWSVJFakVTRTFJUkV6QnhFaEZTRVJNeEVoTlNFUkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQUlnd1A4QUFRREFBUUJBL3dCQS93QUJBRUFCQUFBQUFRRmVBS2tDb2dMWEFBY0FBQUVIRndjSkFSNEJBcUxwNlMzKzZRRVhDeGNDcWVucExnRVhBUmNNRmdBQ0FBRC93QVFBQThBQUd3QTNBQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtQnpJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmdJQWFsMWRpeWtvS0NtTFhWMXFhbDFkaXlrb0tDbUxYVjFxWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qSXlONlVsRUR3Q2dwaTExZGFtcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtFQWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VWMWRVVko2SXlNQUF3QUEvOEFFQUFQQUFCc0FOd0JUQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUJ6SVhIZ0VYRmhVVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05nRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQVowWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtEd0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLRUFqSTNwU1VWMWRVVko2SXlNakkzcFNVVjFkVVZKNkl5UCtRRUk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN0FBQUFBQUlBZVFDVEE0Y0M3UUFPQUJrQUFBa0JKemNoTlNFbk54WVhIZ0VYRmlVWElSVWhCeGMzSnc0QkE0ZiswbzFBL20wQmswQ05KaVlsVENVbS9zYUEvaElCN29BeTA5TU1HZ0hBL3RPTlFNQkFqU1VtSmtzbUpYcUFRSUF6MDlNTkdRQUFBQUFDQUlBQVFBT0FBMEFBRGdBWkFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUk1RTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBUURwQVI0REZ3SmlBQWNBQUFrQ054YzNIZ0VERi83cC91a3U2ZWtNRmdJMS91a0JGeTNwNlFzWEFBQUJBVjRBcVFLaUF0Y0FCd0FBQVFjWEJ3a0JIZ0VDb3VucExmN3BBUmNMRndLcDZla3VBUmNCRnd3V0FBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFFQTZRRWVBeGNDWWdBTEFBQUJCeWNISndFV0Z4NEJGeFlERnk3cDZTNEJGeU1qSWtZakl3RkxMZW5wTFFFWEl5TWpSU01qQUFBQUFRRHBBTzRERndLU0FBY0FBQWtCSnpjWEFSNEJBeGYraWJjdWlRRkpEQllDWmY2SnR5MkpBVWtMRndBQkFWNEFxUUtpQXRjQURBQUFDUUVuTnljM0ZoY2VBUmNXRndLaS91a3Q2ZWt0SXlNalJTTWpJd0hBL3VrdTZla3VJeU1qUmlJakl3QUFBQUFCQU1BQm9BTkFBZUFBQXdBQUV5RVZJY0FDZ1AyQUFlQkFBQUFBQVFEcEFSNERGd0ppQUFjQUFBa0NOeGMzSGdFREYvN3AvdWt1NmVrTUZnSTEvdWtCRnkzcDZRc1hBQUFCQUFBQUFRQUFFa3ZoZVY4UFBQVUFDd1FBQUFBQUFObEJqNDBBQUFBQTJVR1BqUUFBLzhBRUFBUEFBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBUEEvOEFBQUFRQUFBQUFBQVFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUE0QkFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQUQ4RUFBQlRCQUFCS1FRQUFJQUVBQURWQkFBQUFBUUFBQUFFQUFBQUJBQUFjd1FBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1JQkJnRWVBWXdCcUFIcUFpUUNXQUtHQXBvQ3ZBTFNBeDREUGdPMkJCSUVLZ1JJQlFnRnJnWUNCaUFHYWdjTUI3WUgyZ2dJQ0ZJSWNnaU1DSzRJd2dqZ0NRd0p4QW9VQ253TFZBdCtDNVFMNmd4cURKd015QXplRFBRTkVnMHVEVVFOWWcxd0RZWUFBQUFCQUFBQU9BQ1RBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBQ0FBQUFBRUFBQUFBQUFJQUJ3QnBBQUVBQUFBQUFBTUFDQUE1QUFFQUFBQUFBQVFBQ0FCK0FBRUFBQUFBQUFVQUN3QVlBQUVBQUFBQUFBWUFDQUJSQUFFQUFBQUFBQW9BR2dDV0FBTUFBUVFKQUFFQUVBQUlBQU1BQVFRSkFBSUFEZ0J3QUFNQUFRUUpBQU1BRUFCQkFBTUFBUVFKQUFRQUVBQ0dBQU1BQVFRSkFBVUFGZ0FqQUFNQUFRUUpBQVlBRUFCWkFBTUFBUVFKQUFvQU5BQ3dRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3UVdkQ1lXeG9ZVzBBUVFCbkFFSUFZUUJzQUdnQVlRQnRRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1iYWxoYW0tZGFyayB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICBjb2xvcjogI0Y1RjVGNTtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwQjBGRjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZDM0MzY7XFxuICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICogKjpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvZ2dsZS1idXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsOmVtcHR5IHtcXG4gICAgICAgIG1hcmdpbjogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAxNjAsIDEzMywgMC41KTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlY2YwZjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM2LCAyNDAsIDI0MSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM2LCAyNDAsIDI0MSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmMyZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NzQ5OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBCMEZGO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzNDI0MjQyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzFjMWYyMDtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogMnB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDAgNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyID4gZGl2IHtcXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgICBwYWRkaW5nOiA0cHggMDtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTZweDtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24gYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIGxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTg4MDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDUsIDE2NiwgMjU1LCAwLjUpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMTc3LCA3NCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgICB3aWR0aDogMjAwcHg7XFxuICAgICAgaGVpZ2h0OiAxODJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ODgwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXNtYWxsLWxlZnQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1zbWFsbC1yaWdodCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjY0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzMyMzkzYztcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMC42NDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICNGNUY1RjU7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgcGFkZGluZzogMHB4O1xcbiAgICBib3JkZXI6IDAgc29saWQgIzRmNGY0ZjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBoZWlnaHQ6IDI2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIgLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmYzMDtcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbjogMnB4IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgICBoZWlnaHQ6IDE4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWxhYmVsZWQuYWctbGFiZWwtYWxpZ24tdG9wIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNsaWRlciA+IC5hZy13cmFwcGVyID4gZGl2Om5vdCg6Zmlyc3Qtb2YtdHlwZSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLXBhcmVudC1jaXJjbGUge1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgaGVpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1jaGlsZC1jaXJjbGUge1xcbiAgICB0b3A6IDRweDtcXG4gICAgbGVmdDogMTJweDtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YzRjNGM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvZ2dsZS1idXR0b24gLmFnLWlucHV0LXdyYXBwZXIgLmFnLWljb24ge1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNmMGYxO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcXG4gICAgICByaWdodDogY2FsYygxMDAlIC0gMTZweCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgPiBkaXYge1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDc0OTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cuYWctY29sb3ItZGlhbG9nIHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBhbmVsIHtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWNvbG9yIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRvb2xzIHtcXG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNhdCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20od2hpdGUpLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSwgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdmFsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKGJsYWNrKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrLCByZ2JhKDIwNCwgMTU0LCAxMjksIDApKTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1kcmFnZ2VyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICB3aWR0aDogMTJweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcXG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWh1ZS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tYWxwaGEtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLWh1ZS1hbHBoYSB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG4gICAgICBoZWlnaHQ6IDExcHg7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XFxuICAgICAgd2lkdGg6IDEzcHg7XFxuICAgICAgaGVpZ2h0OiAxM3B4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWUge1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWU6Zm9jdXMge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZDc3ZTQ7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXYge1xcbiAgICAgIG1hcmdpbjogMCAzcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2OmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpsYXN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLXBvcHVwID4gZGl2Om5vdCguYWctdG9vbHRpcC1jdXN0b20pIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVjNWM1YztcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwNTA1OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMzNDM5M2I7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE5MWE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIG1hcmdpbjogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24pIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjMDBCMEZGOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDQuOHB4IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG4gICAgY29sb3I6ICNlY2YwZjE7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29sb3ItcGlja2VyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JpcDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDBCMEZGOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRiAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDgwJTtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBjb250ZW50OiBcXFwiIFxcXCI7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgbWFyZ2luLXRvcDogOHB4O1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRleHQtaW5kZW50OiAtMjAwMHB4O1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzVjNWM1YzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBib3JkZXItY29sb3I6ICMwMDU4ODA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1pbi1oZWlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBoZWlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1pY29uLWV4cGFuZGVkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWljb24tY29udHJhY3RlZCB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiAjRjVGNUY1O1xcbiAgICBwYWRkaW5nOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgaW5wdXQsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmMyZTtcXG4gICAgY29sb3I6ICNGNUY1RjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyLXRvb2xwYW5lbC1ib2R5IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLWNoaWxkLWNpcmNsZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YzRjNGM7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbE1BQUFDOEFBQUFZR050WVhBWFZ0SzZBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVacU11eTNnQUFBRjRBQUFiREdobFlXUVZvbU9YQUFBY2hBQUFBRFpvYUdWaEI4SUQrUUFBSEx3QUFBQWthRzEwZU5ZQUluWUFBQnpnQUFBQTRHeHZZMkhFbUw0YUFBQWR3QUFBQUhKdFlYaHdBRVVBbFFBQUhqUUFBQUFnYm1GdFpaUVh4S1FBQUI1VUFBQUJrbkJ2YzNRQUF3QUFBQUFmNkFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTXdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUUC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBRzRBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRVZIZ0VYRmdZSERnRVZJVFV6RlNFME5qYytBU2N1QVNjMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTUUhnUVA4QUFYVVpFQW9ZSjFZQkFFRCtnQVliTFdRZ0xtSUNBWUFEZ0FKY1BrbEpTWkpKU1VrK1hBSUJBUUVCQWx3K1NVbEpra2xKU1Q1Y0FnRUJBVUU0SmtoSlNaSkpTVWtrTlFJREFRRUJBUU1DTlNSSlNVcVNTa2xKSkRVQ0F3RUJBZjhBUUFNZ1Fpc2NSQmNpUFJwQWdDWk1HQ2RISHlsSE5FVUFBUUJUQUJNRHJRTnRBQ2NBQUJNWEJ5YzNIZ0VYQnlFUkJ5YzNIZ0VYQnljUklTYzNIZ0VYQnljM0lSRTNIZ0VYQnljM0Z4SE5TaTZXbGd3V0RFb0JFMGt1bHlaTEppNUpBUk5LTGlWTUpaWXVTdjd0U1F3V0RKZVhMa2tCb0VrdWw1Y01GZ3hKQVJOS0xwWWxUQ1V1U3Y3dFNTNG1TeWFYTGtuKzdVb01GZ3lXbGk1S0FSTUFBQUVCS1FDWkF0Y0M1d0FLQUFBQkJ5YzNIZ0VYQnljUkl3SGdpUzdYTm1zMkxvbEFBbXlKTGRjMmF6WXRpZjR0QUFNQWdBQkFBNEFEUUFBYkFEY0FSZ0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZVE54NEJGd2NYQnljSEp6Y25OeGNDQUU5R1Jta2VIaDRlYVVaR1QwOUdSbWtlSGg0ZWFVWkdUMEk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN1Fxa01GZ3lxcWk2cHFTNnFxaTZwQTBBZUhtbEdSazlQUmtacEhoNGVIbWxHUms5UFJrWnBIaDVBR1JsWE9qdENRanM2VnhrWkdSbFhPanRDUWpzNlZ4a1ovdTJxREJZTXFha3VxcW91cWFrdXFnQURBTlVBbFFNckF1c0FCQUFKQUEwQUFCTXpFU01STnpNUkl4RVRNeEVqMVlDQTczaDQ3M2g0QWpmK1hnR2l0UDJxQWxiK3F2OEFBQU1BQVAvQUJBQUR3QUFQQUNBQUtBQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZakJ3RW5OeGNCSGdFRFNQMXdUR3hzVEFLUVRHeHNTdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBTUFBUC9BQkFBRHdBQVBBQ0FBSkFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hLL1cwdFFVRXRBcE10UVVBdUpmMjJBa3BBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgrSWtvQUFnQUEvOEFFQUFQQUFBOEFJQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWWpBMGhNYkd4TS9YQk1iR3hNQXBMOWJTMUJRUzBDa3kxQlFDNER3R3hNL1hCTWJHeE1BcEJNYkVkQkxmMXRMa0JBTGdLVExVRUFBQUFEQUhNQVNBT05BemdBQmdBS0FCWUFBQWtCQnhjSkFpRTNGeUVGTUFZVkZCWXpNalkxTkNZQy9mNVZQR2IrOXdGRkFVWDk3OHpNL21nQ1RGVXlJeU15VlFHTkFhczhadjczL3JzQlJjM05RR3NxSXpJeUl5cHJBQUFBQUFJQXdBQ2dBY0FDNEFBREFBY0FBQ1VoRVNFSEVUTVJBY0QvQUFFQXdJQ2dBa0JBL2tBQndBQUVBTUFBb0FOQUF1QUFBd0FIQUFzQUR3QUFKU01STXhNakVUTVRJeEV6QVNNUk13SEFRRURBUUVEQVFFRDl3RUJBb0FKQS9jQUNRUDNBQWtEOXdBSkFBQUFBQUFFQlhnQ3BBcUlDMXdBSEFBQUJCeGNIQ1FFZUFRS2k2ZWt0L3VrQkZ3c1hBcW5wNlM0QkZ3RVhEQllBQXdDZ0FFQURZQU5BQUJBQUlBQXpBQUFsSXlJbU5SRTBOanNCTWhZVkVSUUdJeE1oSWdZVkVSUVdNeUV5TmpVUk5DWUJJendCTlJFME5qTWhPZ0V6RlNFaUJoVVJBcjc3UTJCZ1EvdERYMTlEQmY3OUp6YzNKd0VESnpjMy9mZEJYME1CbWdFQ0FmNWRKalpBWDBRQk9rTmdZRVAreGtSZkFrQTRKdjY3SnpjM0p3RkZKamorQUFFRUFnSVhRMTlBTmliOTNBQUFBQUFCQVNrQTZRTFhBcGNBRGdBQUFUY2VBUmNIRndjbkJ5YzNKemNYQWdDcERCWU1xcW91cWFrdXFxb3VxUUh0cWd3V0RLbXBMcXFxTHFtcExxb0FBQUFBQlFCQUFBQUR3QU9BQUNVQU1nQS9BRXNBVVFBQUFUNEJOVFFtSXlJR0ZSUVdNekkyTnhjSExnRWpJZ1lWRkJZek1qWTFOQ1luTndFek5RRUhJaVkxTkRZek1oWVZGQVlqRVNJbU5UUTJNeklXRlJRR0l3RWlKalUwTmpNeUZoVVVCZ2tCRndFMUl3R1dDQWhwU2twcGFVb1VKUkZwYVJFbEZFcHBhVXBLYVFnSWFnRTZodjNXb3lVME5DVWxOVFVsSlRRMEpTVTFOU1VCRFFrTkRRa0pEUTBCTWY3eldRRTZoZ0tERVNVVVNtbHBTa3BwQ0FocWFnZ0lhVXBLYVdsS0ZDVVJhZjdITFFJcEVEVWxKVFEwSlNVMS9lYzBKU1UxTlNVbE5BRlFEUWtKRFEwSkNRMEJxZjd6V1FFNUxRQUFCd0NHQUZZRGVnTXFBQXNBRHdBYkFDZ0FMQUE0QUR3QUFEY2lCaFVVRmpNeU5qVTBKZ1UxSVJVRElnWVZGQll6TWpZMU5DWUhNaFlWRkFZaklpWTFORFl6QlNFMUlRRXlGaFVVQmlNaUpqVTBOZ1VoTlNIR0dpWW1HaHNsSlFLWi9lYWFHaVltR2hzbEpSc1NHUmtTRVJrWkVRSUovcEVCYi8zM0d5VWxHeG9tSmdMTy9lWUNHdFltR2hzbEpSc2FKbXRWVlFHVkpob2FKaVlhR2lZVkdSSVNHUmtTRWhsV1ZnRS9KUnNhSmlZYUd5VnFWUUFBQUFFQktRQ1pBdGNDNXdBS0FBQUJOeDRCRndjbk54Y1JNd0lnaVF3V0ROZlhMb2xBQVJTSkN4Y0wxOWN0aVFIVEFBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFVQVF3QnpBNzBERFFBc0FFb0FhQUJ6QUgwQUFBRStBVGM2QVRNV0Z4NEJGeFlYTUFZSERnRUhGd2NuQmdjR0ppY21KeTRCSnk0Qkp6QTJOejRCTnljM0Z3Y09BUThCRmhjZUFSY1dOejRCTnljT0FTTWlKeTRCSnlZMU5EWTNKd0UrQVQ4QkppY3VBU2NtQnc0QkJ4YytBVE15Rng0QkZ4WVZGQVlIRndFT0FSVVVGak15TmpjbkJUNEJOVFFtSXlJR0J3RXFMMmcyQndRSFNFTkNjaTB0R3prdUVDUVRQaTFMT1VCQWdENDlOU2xFR1FvUENpVWJGemNnUGkxS0NqRk9HQUVkTnplSlRFeElDeFlLSFJ4RUppOG9LVDBTRVJjVk1BSEJNVTBZQVJnbktHVTdPejRwVUNVa0hFUW1MaWtwUFJFU0dCVXEvcDBNRGw1Q0dDMFQzZ0VMRFE1ZVFoa3NFd0xFRnhzQ0FoZ1hVams0UkhZd0VSNE5QaTFMSEEwTUNCVVZKaDVLTEJFaUdGTWtIellXUGkxSlVTRlpOd0pGTlRVL0J3Y1hCQWdGSFJVWUVoSThLU2t1SmtRY01mNlpJVm8zQWpndUxrRVNFZ0VCRXhFakZSY1JFajBwS0M4bFJSd3FBUWdUTEJsQ1hnNE4zYkFUTFJoRFhRNE1BQVFBUXdDWkE3MEM5Z0FrQUVNQVlBQnZBQUFCRmhjZUFSY1dGekFHQndZSERnRW5KaWN1QVNjdUFTY3dOamMyTno0Qk56WTNPZ0V6QndZSERnRUhCZzhCRmhjZUFSY1dOelkzUGdFM05qOEJKaWN1QVNjbUl4Y3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpGelUwSmlNaUJoMEJGQll6TWpZMUFnbElRMEp5TFMwYk9TNDZUazZvVTFSRktVUVpDZzhLSlJzZ0tTcGdOVFUzQndRSEVUczROMkFuSmhnQkhUYzNpVXhNU0NvbEprQWFHaElCR0Njb1pUczdQZ2d0S0NjN0VSSVNFVHNuS0MwdEtDYzdFUklTRVRzbktDMmdYa0pDWGw1Q1FsNEM5Z0lZRjFJNU9FUjJNRDBqSkJBVkZESWVTaXdSSWhoVEpDc2pJeklPRGdKQUFoSVRRQzBzTmdKRk5UVS9Cd2NYRFJZV095TWpLQU00TGkxQ0VoRWZFUkU3SnlndExTZ25PeElSRVJJN0p5Z3RMU2duT3hFUjJBRkNYbDVDQWtKZVhrSUFBZ0RBQUtBRFFBTUFBQnNBTXdBQUFRWUhEZ0VIQmdjT0FSMEJCelEySnpRbUp5WW5MZ0VuSmljMUlRVVVGaGNXRng0QkZ4WVhGVGMxTmpjK0FUYzJOejRCTlFOQUFSWVZRU1VtSUFRRXdBSUNCUU1oSlNaQUZoVUJBb0Q5d0FRRUlTVW1RQllWQVVBQkZoVkJKU1lnQkFRQ3VpQWZIejhnSUNJRkN3WjFrRUtEUWdZS0JDSWhJa0FlSHgxR1FBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBTUFCd0FBQVNFMUlRVVZJVFVEZ1AwQUF3RDlRQUtBQVdEQVFFQkFBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBSUFRQUNnQThBQzRBQUtBQllBQUFFM0hnRVhCeWMzRnhFekFTTVJCeWMzSGdFWEJ5Y1JBVUdRREJjTTRPQXZrRUlCd0VLUUwrQTRjRGd2a0FFWWhnc1dDOUxTTElZQnlQM0FBY2lHTE5JMGFUVXNodjQ0QUFBR0FIWUFRQU9MQTBzQUhBQXlBRUVBVXdCaUFHNEFBQUVXRng0QkZ4WUhCZ2NPQVNjbUp5WW5MZ0UzTmpjMk56NEJOellYQndZSERnRUhCaGNXRng0Qk56WTNOaWN1QVNjbUJ4Y1dCdzRCQndZbkxnRXZBUUVlQVFFV056NEJOelkzTmlZbkJnY09BUWNHQnhNeUZoOEJBU1luSmpZM05qYzZBUWNHQnc0QkJ3WVhBUzRCQndJR1lsVlZhdzROTFNkT1RiZGRYa2N2SGg0WENBZ2NHU2NtWHpjM09RcFRSMGhhQ2dzbktGTlR1VlZWTFNVS0NWaEpTVnp6SXdnSVRVQkJUaHcwR0NnQmd3WUwvdGdvS1NwSkhCc01DQUVKSVNBaFFTRWdJVU1oUUIwcC9uMGxCUVl5T0RoWUJBb0dNQ29xTndvS0RnRUdFU0lTQTBzQ05UV2taV1JnVkRjM0pSVVVReXM1T241QVFEb3lLaWs2RUJBQlFBRXRMWXhWVkZGVExTMEVLaXRjVEZWVmp5OHVBYzFBU2tsN0pTWUlBaEVORmdHRENoVCtyUXdGQlNjZ0h5a2VQUjBnSVNGQklTQWhBZFlSRUJiK2ZFRkxUSUl1TFFaQUFoa1pUVEF2TGdFRkJRVUJBQUFBQUFNQWdBQXdBNEFEVUFBV0FDSUFOZ0FBQVRRbUl5SUdGU01pQmhVUkZCWXpJVEkyTlJFMEppTUZNaFlWRkFZaklpWTFORFlCSVNJbU5SRTBOanNCRlNFMU16SVdGUkVVQmdLQU9FaElPSUExUzBzMUFnQTFTMHMxL3dBU0dSa1NFaGtaQVJMK0FCb21KaHBBQVlCQUdpWW1BdkFZU0VnWVN6WCtRRFZMU3pVQndEVkxFUmdSRVJnWUVSRVkvWkVtR2dIQUdpYUFnQ1lhL2tBYUpnQUFBQUFDQUhBQU1BT1FBMUFBS0FCQUFBQUJKekEyTno0QkZ6Y21OejRCTnpZeEZoY2VBUmNXRnc0QkJ3NEJKd2NlQVJjV0JnOEJKd2NuTndFT0FSOEJCeVlHQndFK0FUYzJKaWMzTUJZM0p6QUdNUUZabFFZUElYRXdaUWtRRUN3VUZDVWtKVWtsSlNRRkN3VWFSU3BxQVFFQ0F5Z3ZHSnJwTGVrQkNCRWFDaENnTUdJVEFTRUNCQUllQndlYU9pVGFBUUZIbFNjVkxROEpZeHdkSFM0UER5VWxKRW9sSkNVSERnY2pMd2RuQ1FFYk0yQVlESnJxTHVrQnRnNG1EeGVmREFJZS90OENBd0lhVml5YUVTclpBUUFBQ2dBLy8vOER3UU9CQUNjQU93QkhBR0VBWndCdUFIc0FoZ0NNQUpJQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklUSVJFV014WTJOelkzUGdFM05qYytBU2MwSndFVUZoVWVBUmN5RmpNMUl3RUhKemNlQVJjSEp4VU9BUWNqRndjbk54NEJGd2NXTmpjMUJSUVdGVE0xSndZVUJ6TTFJemNxQVNNaUJnY1VCaFV6TlRNbEZUTTBKalV1QVNjaUppVUdJZ2NWTXpjbUlpTVZNd01rUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWs5WFFJQkFRRUJBbHcrU1VsSmtrbEpxUDI2UFQwOWVqMDlQU1ExQWdJQ0FRRUJBdno4QVFJMUpBZ1FDSHdDUVFrdVZ4WXJGaTRKQVZ3L2R3b3VWbFlNRmd3TFVZSUIvYndCZm4wQkFYOTl2eGd1RnlVNkFRRjhRZ0hIZlFFQ05TUUlFUDd6SVVFZ2dzTWdRU0dDQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUgvQVAyOEFnRUJBUUlDQWpVa1BUMDhlajA5UFA0OENSRUlKRFVDQVg0QkZnb3VWaFVzRlM0S2N6OWZBZ2t1VjFjTUZnd0tBUjFGYzFRaFFDQ0J3aUZBSVlML09DWVlNQmxCZjM4SkVRa2tOUUlCQWdFQmY0QUJnUUFBQWdDZ0FHQURZQU1nQUFzQUZ3QUFBU0VWSVJFakVTRTFJUkV6QnhFaEZTRVJNeEVoTlNFUkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQUlnd1A4QUFRREFBUUJBL3dCQS93QUJBRUFCQUFBQUFRRmVBS2tDb2dMWEFBY0FBQUVIRndjSkFSNEJBcUxwNlMzKzZRRVhDeGNDcWVucExnRVhBUmNNRmdBQ0FBRC93QVFBQThBQUd3QTNBQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtQnpJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmdJQWFsMWRpeWtvS0NtTFhWMXFhbDFkaXlrb0tDbUxYVjFxWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qSXlONlVsRUR3Q2dwaTExZGFtcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtFQWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VWMWRVVko2SXlNQUF3QUEvOEFFQUFQQUFCc0FOd0JUQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUJ6SVhIZ0VYRmhVVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05nRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQVowWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtEd0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLRUFqSTNwU1VWMWRVVko2SXlNakkzcFNVVjFkVVZKNkl5UCtRRUk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN0FBQUFBQUlBZVFDVEE0Y0M3UUFPQUJrQUFBa0JKemNoTlNFbk54WVhIZ0VYRmlVWElSVWhCeGMzSnc0QkE0ZiswbzFBL20wQmswQ05KaVlsVENVbS9zYUEvaElCN29BeTA5TU1HZ0hBL3RPTlFNQkFqU1VtSmtzbUpYcUFRSUF6MDlNTkdRQUFBQUFDQUlBQVFBT0FBMEFBRGdBWkFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUk1RTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBUURwQVI0REZ3SmlBQWNBQUFrQ054YzNIZ0VERi83cC91a3U2ZWtNRmdJMS91a0JGeTNwNlFzWEFBQUJBVjRBcVFLaUF0Y0FCd0FBQVFjWEJ3a0JIZ0VDb3VucExmN3BBUmNMRndLcDZla3VBUmNCRnd3V0FBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFFQTZRRWVBeGNDWWdBTEFBQUJCeWNISndFV0Z4NEJGeFlERnk3cDZTNEJGeU1qSWtZakl3RkxMZW5wTFFFWEl5TWpSU01qQUFBQUFRRHBBTzRERndLU0FBY0FBQWtCSnpjWEFSNEJBeGYraWJjdWlRRkpEQllDWmY2SnR5MkpBVWtMRndBQkFWNEFxUUtpQXRjQURBQUFDUUVuTnljM0ZoY2VBUmNXRndLaS91a3Q2ZWt0SXlNalJTTWpJd0hBL3VrdTZla3VJeU1qUmlJakl3QUFBQUFCQU1BQm9BTkFBZUFBQXdBQUV5RVZJY0FDZ1AyQUFlQkFBQUFBQVFEcEFSNERGd0ppQUFjQUFBa0NOeGMzSGdFREYvN3AvdWt1NmVrTUZnSTEvdWtCRnkzcDZRc1hBQUFCQUFBQUFRQUFFa3ZoZVY4UFBQVUFDd1FBQUFBQUFObEJqNDBBQUFBQTJVR1BqUUFBLzhBRUFBUEFBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBUEEvOEFBQUFRQUFBQUFBQVFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUE0QkFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQUQ4RUFBQlRCQUFCS1FRQUFJQUVBQURWQkFBQUFBUUFBQUFFQUFBQUJBQUFjd1FBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1JQkJnRWVBWXdCcUFIcUFpUUNXQUtHQXBvQ3ZBTFNBeDREUGdPMkJCSUVLZ1JJQlFnRnJnWUNCaUFHYWdjTUI3WUgyZ2dJQ0ZJSWNnaU1DSzRJd2dqZ0NRd0p4QW9VQ253TFZBdCtDNVFMNmd4cURKd015QXplRFBRTkVnMHVEVVFOWWcxd0RZWUFBQUFCQUFBQU9BQ1RBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBQ0FBQUFBRUFBQUFBQUFJQUJ3QnBBQUVBQUFBQUFBTUFDQUE1QUFFQUFBQUFBQVFBQ0FCK0FBRUFBQUFBQUFVQUN3QVlBQUVBQUFBQUFBWUFDQUJSQUFFQUFBQUFBQW9BR2dDV0FBTUFBUVFKQUFFQUVBQUlBQU1BQVFRSkFBSUFEZ0J3QUFNQUFRUUpBQU1BRUFCQkFBTUFBUVFKQUFRQUVBQ0dBQU1BQVFRSkFBVUFGZ0FqQUFNQUFRUUpBQVlBRUFCWkFBTUFBUVFKQUFvQU5BQ3dRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3UVdkQ1lXeG9ZVzBBUVFCbkFFSUFZUUJzQUdnQVlRQnRRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1iYWxoYW0ge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiAjMDAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOTFFQTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHdoaXRlO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtICo6Zm9jdXMsIC5hZy10aGVtZS1iYWxoYW0gKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogODEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoZWNrYm94LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvZ2dsZS1idXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveCBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveCBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsOmVtcHR5IHtcXG4gICAgICAgIG1hcmdpbjogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiAjZTUzOTM1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAxNjAsIDEzMywgMC41KTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5NUE1QTY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0OSwgMTY1LCAxNjYsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5NUE1QTY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ5LCAxNjUsIDE2NiwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZGZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNztcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwOTFFQTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQkRDM0M3JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNWY3Zjc7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogMnB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyID4gZGl2IHtcXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICBwYWRkaW5nOiA0cHggMDtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxNnB4O1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24gYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIGxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgLmFnLWljb24ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCBidXR0b24ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2U0ZmY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDg4LCAyNTUsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDEzMiwgMC4xKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM4NjkxOTg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICAgIHdpZHRoOiAyMDBweDtcXG4gICAgICBoZWlnaHQ6IDE4MnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXNtYWxsLWxlZnQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogI2RkZTRlNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAwLjU0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAxNjAsIDEzMywgMC41KSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjMDAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiAjMDAwO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XFxuICAgIHBhZGRpbmc6IDBweDtcXG4gICAgYm9yZGVyOiAwIHNvbGlkICNjYmQwZDM7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllZWVmO1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgaGVpZ2h0OiAyNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IGRpdiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC10b29sYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNWY1O1xcbiAgICAgIHBhZGRpbmc6IDRweDtcXG4gICAgICBib3JkZXI6IDAgc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW46IDJweCAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICAgIGhlaWdodDogMThweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2xpZGVyID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1wYXJlbnQtY2lyY2xlIHtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLWNoaWxkLWNpcmNsZSB7XFxuICAgIHRvcDogNHB4O1xcbiAgICBsZWZ0OiAxMnB4O1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XFxuICAgIG1hcmdpbi10b3A6IC00cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjNGM0YzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjN0Y4QzhEO1xcbiAgICBib3JkZXItcmFkaXVzOiA1MDByZW07IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3RjhDOEQ7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyID4gZGl2IHtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciBidXR0b246aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZy5hZy1jb2xvci1kaWFsb2cge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIHtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1jb2xvciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdG9vbHMge1xcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNhdCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20od2hpdGUpLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSwgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXZhbCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShibGFjayksIHRvKHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpKTtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWh1ZS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWFscGhhLWJhY2tncm91bmQge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgICAgIGhlaWdodDogMTFweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XFxuICAgICAgd2lkdGg6IDEzcHg7XFxuICAgICAgaGVpZ2h0OiAxM3B4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlIHtcXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZTpmb2N1cyB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkNzdlNDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXYge1xcbiAgICAgIG1hcmdpbjogMCAzcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2Omxhc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLXBvcHVwID4gZGl2Om5vdCguYWctdG9vbHRpcC1jdXN0b20pIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhbmVsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkY2RlO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlMGUyOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NiZDBkMztcXG4gICAgY29sb3I6ICMwMDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjY2JkMGQzO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBtYXJnaW46IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWw6bnRoLWNoaWxkKDJuICsgMik6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWw6bnRoLWNoaWxkKDNuKSB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsLmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZm9ybWF0IC5hZy1jaGFydC1mb3JtYXQtd3JhcHBlciAuYWctZ3JvdXAtaXRlbSB7XFxuICAgIG1hcmdpbjogNC44cHggMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG4gICAgY29sb3I6ICM3RjhDOEQ7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29sb3ItcGlja2VyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBsaW5lLWhlaWdodDogMTZweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUEgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogODAlO1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTg5LCAxOTUsIDE5OSwgMC41KTtcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0ZXh0LWluZGVudDogLTIwMDBweDtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDo6YWZ0ZXIge1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcC5hZy13aWR0aC1oYWxmOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogI2Q5ZGNkZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWluLWhlaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zaWRlLWJhcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1leHBhbmRlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1jb250cmFjdGVkIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgcGFkZGluZzogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyLXRvb2xwYW5lbC1ib2R5IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxNQUFBQzhBQUFBWUdOdFlYQVhWdEs2QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WnQ2c29hNEFBQUY0QUFBVTRHaGxZV1FWbzJPdkFBQVdXQUFBQURab2FHVmhCOFFEK0FBQUZwQUFBQUFrYUcxMGVOWUFHRmtBQUJhMEFBQUE0R3h2WTJHYWhKVjZBQUFYbEFBQUFISnRZWGh3QUVVQVhRQUFHQWdBQUFBZ2JtRnRaUkhCYkNVQUFCZ29BQUFCbm5CdmMzUUFBd0FBQUFBWnlBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE13UEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VFAvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFDZ0FBQVNFWEJ5RVZJUk1ESVJVRFN2NlRlWGtCYmYxczNOd0NsQUtWMWRXckFZQUJnS3NBQUFBQUFRQUEvOEFFQUFQQUFDRUFBQUUxQnljM0Z3Y25FU0VuTnhjSEp6Y2hFVGNYQnljM0Z4RWhGd2NuTnhjSElSRUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQVFBQUFBQUFBUUNXQUI0RGFnTmlBQkFBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEV4QWE2eFp3RnFMUzR0V2k0dExXZXdwUUpDc1djQmFpNHRMVnN0TFMxbnNQM2RBaVFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWpBQ2NBTEFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakpUTVZJd016RVNNUkEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AyYVZWVUJWVlZWcTFaV1FrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9xdisxcXFxQWFyK1ZnR3FBQUFBQXdBQi83NEQvd1BCQUE4QUh3QXBBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnY0JKemNYRXg0QkZ6RURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWWJQN28vVFd1NkJJbUVnUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdMNzkvc3BEaXdHb0NoUUtBQUFBQUFNQUFmKytBLzhEd1FBUEFCOEFJd0FBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWURJVFVoQTM4MVMwczEvUUkxUzBzMUF2LzgvaEVZR0JFREFoRVlHT2IrcWdGV0E4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9nR3FBQUFBQWdBQi83NEQvd1BCQUE4QUh3QUFBVElXRlJFVUJpTWhJaVkxRVRRMk13VWhJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFNQWN3QklBNDBET0FBR0FBb0FGd0FBQ1FFSEZ3a0NJVGNYSVFVd0JoVVVGak15TmpVMEpqRUMvZjVWUEdiKzl3RkZBVVg5Nzh6TS9tZ0NURlV5SXlNeVZRR05BYXM4WnY3My9yc0JSYzNOUUdzcUl6SXlJeXByQUFBQUFnQlZBQlVCcXdOckFBTUFCd0FBQVJFaEVRRVZJVFVCcS82cUFWYitxZ0pyL2FvQ1ZnRUFxNnNBQUFBR0FGVUFGUU9yQTJzQUF3QUhBQXNBRHdBVEFCY0FBQ1VWSVRVaEZTRTFBeFVoTlNFVklUVURGU0UxSVJVaE5RR3IvcW9EVnY2cXF2NnFBMWIrcXFyK3FnTlcvcXJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQXdBQi83NEQvd1BCQUE4QUh3QWpBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnTVZJVFVEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBQUFEQUtzQWF3TlZBeFVBQndBTUFCSUFBQUV6RVNFMUl4RWhFeUVSSVJFbk5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQVZWV1ZmNnJBUUFBQUFBQUFRQnVBQzREa2dOU0FBMEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FnQUJHUjQ5SHY3bkFSbDUvdWYrNTNrQkdmN25lUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1hrQUF3QjRBTlVEbndMaEFEZ0FSd0JhQUFBQk5qYytBVGMyRng0Qkh3RUdCdzRCQndZSEZoY2VBUmNXRnc0Qkp5NEJKdzRCQndZbkxnRW5KamMrQVRjdUFUYytBUmNlQVJjZUFSY0hCZ2NPQVFjR056NEJOekEyQnpFbklnWUhEZ0VIQmhjZUFSY1dGemN1QVNNeEFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFBQUJ3QXlBQ2NEemdOWkFBc0FEd0FiQUI4QUt3QXdBRDBBQURjaUJoVVVGak15TmpVMEppa0JGU0VCSWdZVkZCWXpNalkxTkNZaEZTRTFCeklXRlJRR0l5SW1OVFEyQVJVaE5TRWhNaFlWRkFZaklpWTFORFl6blMwK1BpMHNQajREQmYxVkFxdjh6eTArUGkwc1BqNERCZjFWaGg0c0xCNGZMQ3dEVVAxVkFxdjh6eXcrUGl3dFBqNHQvRDRzTFQ0K0xTdysxUUlFUHl3c1B6OHNMRC9XMWlBc0h4OHNMQjhmTEFGTzFkVStMU3crUGl3dFBnQUFBQUVBbGdBakEyb0RYUUFKQUFBQkVUTVJOeGNKQVRjWEFhK2tzR2YrbHY2V1o3SUJRd0lhL2Vld1ovNldBV3Buc1FBQUFBQURBQUgvd1FRQkE4RUFFQUFnQUN3QUFBRXlGaFVSRkFZaklTSW1OUkUwTmpNaEZ5RWlCaFVSRkJZeklUSTJOUkUwSmdFekZTTVZJelVqTlRNMU13T0FOVXhNTmYwQk5VdExOUUwvQWZ6K0VoZ1lFZ01DRVJnWS9zU3JxNnVycTZzRHdVczEvUUExUzBzMUF3QTFTMWNZRWYwQkVSZ1lFUUwvRVJqK3JLcXFxcXFyQUFBREFDSUFkZ1BlQXdvQUlnQklBRk1BQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTnpFQlBnRTNNQ1luRGdFSEZ3RW9OU2NnUWlOSVFrSjNORE1yS205QU4wTWhEdjdNSGo4ZUNoUUxBUXMxYXpKUU11c3FKU1U2RkJRSEl6NGFKakV5Y3o4L1B6UXVMeTlmTHk4dUloNGZOaGtZRnl0cVB3SGpMa3dnUHprTFBpeFRBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZodHFBQUFBQXdBaUFKa0QzZ0xvQUJzQU93QktBQUFCRmhjZUFSY1dGd1lIRGdFbkppY21KeTRCSnlZbk5qYytBVGMyQnc0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp6RWxKalExSXc0QkJ4YytBVGM2QVRNQ0NVaENRbmMwTXlzN1ZWWEZhV2xqSWg0Zk5oa1lGeW8xTkh0R1JiY2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRTEF1Z0NGeGRQTmpaQVYwVkZTQVVFUEJRYUdqb2hJQ0UvTnpkUkZ4ZXZHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFBQ0FGVUFRQU9yQTBBQUJnQUxBQUFUSVFFUkp4RUJBUlV6TlNOVkExYitxcXIrcWdGV3Fxb0RRUDZyL2xXckFRQUJWZjZyVmxZQUFBSUE4Z0RBQXc0Q3dBQURBQWtBQUFFUkl4RUJKemNuQ1FFQlIxVUNITWZIT2Y4QUFRQUN3UDRBQWdEK09jZkhPZjhBL3dBQUFBQUFEQUNyLytzRFZRT1ZBQU1BQndBTEFBOEFFd0FYQUJzQUh3QWpBQ2NBS3dBdkFBQTNNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5RWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxQUFBQUFBVUFWZi9yQTZzRGxRQWZBQ01BS0FBc0FEQUFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVeEFTTVZNeEVqRlRNMUVTTVZNeVVqRlRNQnE2b0JWdjZxcXFzQlZRRlcvcXIrcXdGVkFWYitxdjVXVmdGV0FhcXFxcXFxcXFyK0FLcXFBMEJWL3dCV1ZxcFYvd0JWL3dCVy93QlZBbFVCQUZYOVZWVUJxMVpXQVZWVlZWVUFBQUFEQUJrQkVRUG5BcE1BRmdBdEFEd0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKekVISmpRMUl3NEJCeGMrQVRjMk1qTUNDRDQ4UEhJek5Dd2tYbnA1LzN4N1l5UXhPamwrUkVNQkxSeUJVbEtCSENFOUhBTktYbDdGWDE5TUF4dy9JcGtCQzBTSFBDVXVaakVLRkFzQ2t3RU1EQzBoSUNza1hUVTFEeW9wWHlReUp5ZzNEdytJUjF4Y1J3NG1Gd00vSUNFQklCOUFBaGdvRGlNVkt4VUJFQjVNRmcwQ0FRQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBY0FDY0FBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1WQXpNM05TY2pCeFVlQVJjQ1ZaeDVuTjNkSjA0bmVaeXFuSG1jM2QyY2VTZE9KNnFjam1Sa2ptUVpNaGtDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNkMytoMlNPWkdTT0dUSVpBQUFFQUFIL3ZnUC9BOEVBRHdBZkFDY0FMd0FBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJCemNYTnhjSEZ3RTNCeGNIRnpjWEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AzZzQwZ3luem1mTUFHM1N1VXhvRG1nTVVKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nTVFBREFGVUFGUU9yQTJzQUF3QUhBQXNBQUNVVklUVUJGU0UxQVJVaE5RT3IvS29EVnZ5cUExYjhxc0NycXdGVnFxb0JWcXVyQUFBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdkFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFM0J5Y0hKemNuQVFjM0p6Y25CeWNEZi8wQ05VdExOUUwrTlV0TE5QeitFUmdZRVFNQ0VSZ1kvV3prU1RLZk9aOHdBV3hKNURHZk9aOHhRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQXhBQUVBcXdGckExVUNGUUFEQUFBVElSVWhxd0txL1ZZQ0Zhb0FBQUFCQVdRQXdBS2NBc0FBQlFBQUpUY25Od2tCQVdUSHh6Z0JBUDhBK2NmSE9mOEEvd0FBQUFBQUFRRFMvOVlETGdPcUFCUUFBQUVISndFV0Z4NEJGeFlYQnljUk54Y0pBVGNYRVFHbGJHY0JMaVlsSmt3bEppWm5iR3huL3RMKzBtZHNBb0ZzWndFdUppVW1UQ1VtSm1kcy9uNXNaLzdTQVM1bmJBR0NBQUFBQUFNQUFmKy9CQUFEd2dBY0FDb0FPUUFBQVRJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNRkFSNEJNekkzUGdFM05qVTBKaWN1QVNNaUJ3NEJCd1lWRkJZWEFRSUFhbDFkaXlncEtTaUxYVjFxYWwxZGl5Z29LQ2lMWFYxcUFWSDlxVGFHU2xoT1RuUWhJakIwTjRaS1dFNU9jeUloTHlzQ1Z3UENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrbysvMnBLakFpSVhST1RWbEtoWUVxTUNFaWRFMU9XRXVHTmdKWEFBQUNBS3NBUUFOVkEwQUFDQUFTQUFBQklSRWhFU0UxTXhVWEl4VWhOU01SSVJFeEFsVUJBUDFXQVFDcXExWCtxbFVDQUFMci9WVUNxMVZWVnFxcS9nQUNBQUFBQUFFQXF3QVZBMVVERlFBUEFBQUJJeEVYSVFzQklUYzFNeEVqTlNFVkF3QlZxdjhBVlZYL0FLcFdxd0lBQXNEK3ExYi9BQUVBVmxVQkFGVlZBQVVBQWYrK0EvOER3UUFQQUI0QUpnQThBRVFBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlCTlNNaUJoVVJGQlk3QVJFak5UTUZJUkVoTWpZMUVROEJKemNlQVJjSEp4VWpGd2NuTng0QkZ3Y3pOVEVUSVJVaE5UUW1Jd04vL1FJMVMwczFBdjQxUzB2OVRJSVJHQmdSZ3F1ckFxbjlyQUlyRVJqK0RUeHpIVG9kUFF6RURUMXpjeEFlRHcxdjFmM1ZBbFFZRVVKTE5RTUROVXRMTmZ6OU5Vc0RBcW9ZRWZ6L0VSa0NWVlZWL2FzWkVRSXI1dzA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUFBQUFCQUtzQWF3TlZBeFVBQ3dBQUV5RVJNeEVoRlNFUkl4RWhxd0VBcWdFQS93Q3Evd0FDRlFFQS93Q3Evd0FCQUFBQkFXUUF3QUtjQXNBQUJRQUFKU2MzSndrQkFwekh4emovQUFFQStjZkhPZjhBL3dBQUFBQUFBZ0FCLzc4RUFBUENBQndBT1FBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTVZNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJNd0lBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs1WUE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NoWElTSjBUVTVZV1UxT2RDRWlJaUYwVGsxWldFNU5kQ0loQUFBREFBSC92d1FBQThJQUhBQTVBRllBQUFFeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dGUUlBYWwxZGl5Z3BLU2lMWFYxcWFsMWRpeWdvS0NpTFhWMXFXRTVPY3lJaElTSnpUazVZV0U1T2RDRWlJaUYwVGs1WUFRQVVGRVV2THpVMUx5NUdGQlFVRkVZdUx6VTFMeTlGRkJRRHdpZ3BpMTVkYW10ZFhZd29LU2tvakYxZGEycGRYb3NwS0ZjaEluUk5UbGhaVFU1MElTSWlJWFJPVFZsWVRrMTBJaUgrVmpVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUFBQUFFQVN3QldBN1VES2dBUEFBQUJKemNXRng0QkZ4WVhBU2MzSVRVaEFwS3VaeTB0TFZzdExTNytsbWV0L2JvQ1J3SVZybWN0TFM1YUxTNHQvcFpucmFzQUFBQUFBZ0NBQUVBRGdBTkFBQTBBR0FBQUFSRWhFU01SRkJZeklUSTJOUkVGTnhjSEp6Y1hFVE1STVFNci9hcFZNaU1DVmlNeS9xdHVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFBRUFxd0VWQTFVQ2F3QURBQUFUSVFrQnF3S3EvcXYrcXdKci9xb0JWZ0FBQVFGVkFHc0Nxd01WQUFNQUFBa0JFUUVCVlFGVy9xb0J3QUZWL1ZZQlZRQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RVZBMVVDYXdBREFBQVRDUUVocXdGVkFWWDlWZ0VWQVZiK3FnQUFBUUJFQUdZRHZBTWJBQWtBQUFrQ054Y0JIZ0VYTVFPOC9jVCt4SGpFQWNRZVBCNENvdjNFQVR4NHd3SEVIendlQUFBQUFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFXc0RWUUlWQUFNQUFCTWhGU0dyQXFyOVZnSVZxZ0FBQUFFQXF3RVZBMVVDYXdBREFBQVRJUWtCcXdLcS9xditxd0pyL3FvQlZnQUFBUUFBQUFFQUFQUWZmUTlmRHp6MUFBc0VBQUFBQUFEWlFZK1pBQUFBQU5sQmo1a0FBUCsrQkFFRHdnQUFBQWdBQWdBQUFBQUFBQUFCQUFBRHdQL0FBQUFFQUFBQS8vOEVBUUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFPQVFBQUFBQUFBQUFBQUFBQUFJQUFBQUVBQUMyQkFBQUFBUUFBSllFQUFFQUJBQUFBUVFBQUFFRUFBQUJCQUFBQVFRQUFITUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E0QUhRQWxnQ3dBUGdCUEFGMkFhZ0IxZ0hzQWhnQ1VnSjRBcHdETEFPSUE2SUQ1QVJxQk9BRS9BVVlCV2dGc2dZVUJqQUdUQWFLQnRnRzlBZENCMUFIWkFlUUIrd0lEZ2dzQ0pRSXJBakFDUmdKbWdtOENlZ0orQW9JQ2hnS0tBcENDbElLWUFwd0FBQUFBUUFBQURnQVd3QU1BQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWtBQUFBQkFBQUFBQUFDQUFjQWNnQUJBQUFBQUFBREFBa0FQQUFCQUFBQUFBQUVBQWtBaHdBQkFBQUFBQUFGQUFzQUd3QUJBQUFBQUFBR0FBa0FWd0FCQUFBQUFBQUtBQm9Bb2dBREFBRUVDUUFCQUJJQUNRQURBQUVFQ1FBQ0FBNEFlUUFEQUFFRUNRQURBQklBUlFBREFBRUVDUUFFQUJJQWtBQURBQUVFQ1FBRkFCWUFKZ0FEQUFFRUNRQUdBQklBWUFBREFBRUVDUUFLQURRQXZFRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkxWmxjbk5wYjI0Z01TNHdBRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUVGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTBGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTFKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNrRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkwWnZiblFnWjJWdVpYSmhkR1ZrSUdKNUlFbGpiMDF2YjI0dUFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBQUFBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1ibHVlIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogIzIyMjIyMjtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51LCAuYWctdGhlbWUtYmx1ZSAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgKjpmb2N1cywgLmFnLXRoZW1lLWJsdWUgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1ibHVlIC5hZy10b2dnbGUtYnV0dG9uIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbDplbXB0eSB7XFxuICAgICAgICBtYXJnaW46IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogZGFya3JlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogd2hpdGU7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlYmY3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzOUJDMkU2JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiAycHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDAgNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM0OTkwZDI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtbGVmdCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGViZjc7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICMyMjIyMjI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xcbiAgICBwYWRkaW5nOiAwcHg7XFxuICAgIGJvcmRlcjogMCBzb2xpZCAjYWZjZWViO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwgLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIGhlaWdodDogMjZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gZGl2IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRvb2xiYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XFxuICAgICAgcGFkZGluZzogNHB4O1xcbiAgICAgIGJvcmRlcjogMCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luOiAycHggMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi10b3AgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtYmx1ZSAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICBib3JkZXItcmFkaXVzOiA1MDByZW07IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvZ2dsZS1idXR0b24gLmFnLWlucHV0LXdyYXBwZXIgLmFnLWljb24ge1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcXG4gICAgICByaWdodDogY2FsYygxMDAlIC0gMTJweCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgPiBkaXYge1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nLmFnLWNvbG9yLWRpYWxvZyB7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIHtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10b29scyB7XFxuICAgICAgcGFkZGluZzogMTBweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNhdCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20od2hpdGUpLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSwgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS12YWwge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20oYmxhY2spLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tZHJhZ2dlciB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XFxuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWh1ZS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1hbHBoYS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1odWUtYWxwaGEge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICAgICAgaGVpZ2h0OiAxMXB4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XFxuICAgICAgd2lkdGg6IDEzcHg7XFxuICAgICAgaGVpZ2h0OiAxM3B4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlOmZvY3VzIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGQ3N2U0O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXYge1xcbiAgICAgIG1hcmdpbjogMCAzcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6bGFzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlLmFnLXBvcHVwID4gZGl2Om5vdCguYWctdG9vbHRpcC1jdXN0b20pIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJsdWUgLmFnLXBhbmVsLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMztcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M0ZGJmMDtcXG4gICAgICBjb2xvcjogd2hpdGU7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc4M2M3OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTljZDM7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gICAgbWFyZ2luOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoMm4gKyAyKTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgzbikge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyIC5hZy1ncm91cC1pdGVtIHtcXG4gICAgbWFyZ2luOiA0LjhweCAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjMzMzO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbG9yLXBpY2tlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCI3MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI0cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMTJweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGViZjc7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIHRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgcGFkZGluZzogMTBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgaW5wdXQsXFxuICAuYWctdGhlbWUtYmx1ZSBzZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBjb2xvcjogIzIyMjIyMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsTUFBQUM4QUFBQVlHTnRZWEFYVnRLNkFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVp0NnNvYTRBQUFGNEFBQVU0R2hsWVdRVm8yT3ZBQUFXV0FBQUFEWm9hR1ZoQjhRRCtBQUFGcEFBQUFBa2FHMTBlTllBR0ZrQUFCYTBBQUFBNEd4dlkyR2FoSlY2QUFBWGxBQUFBSEp0WVhod0FFVUFYUUFBR0FnQUFBQWdibUZ0WlJIQmJDVUFBQmdvQUFBQm5uQnZjM1FBQXdBQUFBQVp5QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNd1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRQLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBQ2dBQUFTRVhCeUVWSVJNRElSVURTdjZUZVhrQmJmMXMzTndDbEFLVjFkV3JBWUFCZ0tzQUFBQUFBUUFBLzhBRUFBUEFBQ0VBQUFFMUJ5YzNGd2NuRVNFbk54Y0hKemNoRVRjWEJ5YzNGeEVoRndjbk54Y0hJUkVCelZKSXpjMUlVZ0VKVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpBdk1KVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpVa2pOelVoU0FRQUFBQUFBQVFDV0FCNERhZ05pQUJBQUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFeEFhNnhad0ZxTFM0dFdpNHRMV2V3cFFKQ3NXY0JhaTR0TFZzdExTMW5zUDNkQWlRQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FqQUNjQUxBQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpKVE1WSXdNekVTTVJBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQMmFWVlVCVlZWVnExWldRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvcXYrMXFxcUFhcitWZ0dxQUFBQUF3QUIvNzREL3dQQkFBOEFId0FwQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6QlNFaUJoVVJGQll6SVRJMk5SRTBKZ2NCSnpjWEV4NEJGekVEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1liUDdvL1RXdTZCSW1FZ1BCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHTDc5L3NwRGl3R29DaFFLQUFBQUFBTUFBZisrQS84RHdRQVBBQjhBSXdBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXdVaElnWVZFUlFXTXlFeU5qVVJOQ1lESVRVaEEzODFTMHMxL1FJMVMwczFBdi84L2hFWUdCRURBaEVZR09iK3FnRldBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvZ0dxQUFBQUFnQUIvNzREL3dQQkFBOEFId0FBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWUFBTUFjd0JJQTQwRE9BQUdBQW9BRndBQUNRRUhGd2tDSVRjWElRVXdCaFVVRmpNeU5qVTBKakVDL2Y1VlBHYis5d0ZGQVVYOTc4ek0vbWdDVEZVeUl5TXlWUUdOQWFzOFp2NzMvcnNCUmMzTlFHc3FJekl5SXlwckFBQUFBZ0JWQUJVQnF3TnJBQU1BQndBQUFSRWhFUUVWSVRVQnEvNnFBVmIrcWdKci9hb0NWZ0VBcTZzQUFBQUdBRlVBRlFPckEyc0FBd0FIQUFzQUR3QVRBQmNBQUNVVklUVWhGU0UxQXhVaE5TRVZJVFVERlNFMUlSVWhOUUdyL3FvRFZ2NnFxdjZxQTFiK3FxcitxZ05XL3FyQXE2dXJxd0ZWcXFxcXFnRldxNnVycXdBQUF3QUIvNzREL3dQQkFBOEFId0FqQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6QlNFaUJoVVJGQll6SVRJMk5SRTBKZ01WSVRVRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQUFBREFLc0Fhd05WQXhVQUJ3QU1BQklBQUFFekVTRTFJeEVoRXlFUklSRW5OU0VSTXhFQ3E2citBS29DQUZYK3F3RlZxLzZyVlFKci9nQ3FBZ0QvQVA2ckFWVldWZjZyQVFBQUFBQUFBUUJ1QUM0RGtnTlNBQTBBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBZ0FCR1I0OUh2N25BUmw1L3VmKzUza0JHZjduZVFJNUFSa2VQUjcrNS83bmVRRVovdWQ1QVJrQkdYa0FBd0I0QU5VRG53TGhBRGdBUndCYUFBQUJOamMrQVRjMkZ4NEJId0VHQnc0QkJ3WUhGaGNlQVJjV0Z3NEJKeTRCSnc0QkJ3WW5MZ0VuSmpjK0FUY3VBVGMrQVJjZUFSY2VBUmNIQmdjT0FRY0dOejRCTnpBMkJ6RW5JZ1lIRGdFSEJoY2VBUmNXRnpjdUFTTXhBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBQUFCd0F5QUNjRHpnTlpBQXNBRHdBYkFCOEFLd0F3QUQwQUFEY2lCaFVVRmpNeU5qVTBKaWtCRlNFQklnWVZGQll6TWpZMU5DWWhGU0UxQnpJV0ZSUUdJeUltTlRRMkFSVWhOU0VoTWhZVkZBWWpJaVkxTkRZem5TMCtQaTBzUGo0REJmMVZBcXY4enkwK1BpMHNQajREQmYxVmhoNHNMQjRmTEN3RFVQMVZBcXY4enl3K1Bpd3RQajR0L0Q0c0xUNCtMU3crMVFJRVB5d3NQejhzTEQvVzFpQXNIeDhzTEI4ZkxBRk8xZFUrTFN3K1Bpd3RQZ0FBQUFFQWxnQWpBMm9EWFFBSkFBQUJFVE1STnhjSkFUY1hBYStrc0dmK2x2NldaN0lCUXdJYS9lZXdaLzZXQVdwbnNRQUFBQUFEQUFIL3dRUUJBOEVBRUFBZ0FDd0FBQUV5RmhVUkZBWWpJU0ltTlJFME5qTWhGeUVpQmhVUkZCWXpJVEkyTlJFMEpnRXpGU01WSXpVak5UTTFNd09BTlV4TU5mMEJOVXRMTlFML0FmeitFaGdZRWdNQ0VSZ1kvc1NycTZ1cnE2c0R3VXMxL1FBMVMwczFBd0ExUzFjWUVmMEJFUmdZRVFML0VSaityS3FxcXFxckFBQURBQ0lBZGdQZUF3b0FJZ0JJQUZNQUFBRTNGejRCTXhZWEhnRVhGaGNPQVFjWEJ5YzNBVDRCTnpZeU15WTBOU01pQmdjbkJ4TW1KeTRCSnlZbkRnRUhGaGNlQVJjV054Y0dCd1ltSnlZbkppY3VBU2NtSno0Qk56RUJQZ0UzTUNZbkRnRUhGd0VvTlNjZ1FpTklRa0ozTkRNckttOUFOME1oRHY3TUhqOGVDaFFMQVFzMWF6SlFNdXNxSlNVNkZCUUhJejRhSmpFeWN6OC9QelF1THk5Zkx5OHVJaDRmTmhrWUZ5dHFQd0hqTGt3Z1B6a0xQaXhUQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHRxQUFBQUF3QWlBSmtEM2dMb0FCc0FPd0JLQUFBQkZoY2VBUmNXRndZSERnRW5KaWNtSnk0Qkp5WW5OamMrQVRjMkJ3NEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KekVsSmpRMUl3NEJCeGMrQVRjNkFUTUNDVWhDUW5jME15czdWVlhGYVdsakloNGZOaGtZRnlvMU5IdEdSYmNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUxBdWdDRnhkUE5qWkFWMFZGU0FVRVBCUWFHam9oSUNFL056ZFJGeGV2R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBQUNBRlVBUUFPckEwQUFCZ0FMQUFBVElRRVJKeEVCQVJVek5TTlZBMWIrcXFyK3FnRldxcW9EUVA2ci9sV3JBUUFCVmY2clZsWUFBQUlBOGdEQUF3NEN3QUFEQUFrQUFBRVJJeEVCSnpjbkNRRUJSMVVDSE1mSE9mOEFBUUFDd1A0QUFnRCtPY2ZIT2Y4QS93QUFBQUFBREFDci8rc0RWUU9WQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUEzTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeUVqTlRPcnFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQWFxcXFwV3FxcXFxcWdHcXFxcXFxcW9CcXFxcXFxcXFBYXFxcXFxcUFBQUFBQVVBVmYvckE2c0RsUUFmQUNNQUtBQXNBREFBQUFFek5TRVJJVFVqRlNNVklUVWhFU0UxSVJFaE5TRVJJVFVoRVNNUklSVXhBU01WTXhFakZUTTFFU01WTXlVakZUTUJxNm9CVnY2cXFxc0JWUUZXL3FyK3F3RlZBVmIrcXY1V1ZnRldBYXFxcXFxcXFxcitBS3FxQTBCVi93QldWcXBWL3dCVi93Qlcvd0JWQWxVQkFGWDlWVlVCcTFaV0FWVlZWVlVBQUFBREFCa0JFUVBuQXBNQUZnQXRBRHdBQUFFV0Z4NEJGeFlmQVFZSERnRW5KaThCTmpjK0FUYzJCUTRCSXlJbUp3NEJEd0VXRng0Qk56WS9BUzRCSnpFSEpqUTFJdzRCQnhjK0FUYzJNak1DQ0Q0OFBISXpOQ3drWG5wNS8zeDdZeVF4T2psK1JFTUJMUnlCVWxLQkhDRTlIQU5LWGw3RlgxOU1BeHcvSXBrQkMwU0hQQ1V1WmpFS0ZBc0Nrd0VNREMwaElDc2tYVFUxRHlvcFh5UXlKeWczRHcrSVIxeGNSdzRtRndNL0lDRUJJQjlBQWhnb0RpTVZLeFVCRUI1TUZnMENBUUFBQWdEeUFNQUREZ0xBQUFNQUNnQUFKU01STXdFM0p6Y0pBU2NERGxWVi9lVEh4emtCQVA4QU9jQUNBUDQ1eDhjNS93RC9BRGtBQUFBQkFFc0FWZ08xQXlvQUN3QUFBUmNIQ1FFZUFSY0hJUlVoQVcrdFovNldBV29aTkJxdkFrajl1Z0ZxcldjQmFnRnFHak1hcnFzQUFBSUFWUUFWQTZzRGF3QWNBQ2NBQUFFM0Z3Y3pGU01lQVJjSEp4VWpOUWNuTnlNMU15YzNIZ0VYTlRNVkF6TTNOU2NqQnhVZUFSY0NWWng1bk4zZEowNG5lWnlxbkhtYzNkMmNlU2RPSjZxY2ptUmtqbVFaTWhrQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZDMraDJTT1pHU09HVElaQUFBRUFBSC92Z1AvQThFQUR3QWZBQ2NBTHdBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCQnpjWE54Y0hGd0UzQnhjSEZ6Y1hBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQM2c0MGd5bnptZk1BRzNTdVV4b0RtZ01VSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ01RQURBRlVBRlFPckEyc0FBd0FIQUFzQUFDVVZJVFVCRlNFMUFSVWhOUU9yL0tvRFZ2eXFBMWI4cXNDcnF3RlZxcW9CVnF1ckFBQUFBQVFBQWYrK0EvOER3UUFQQUI4QUp3QXZBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBeUVpQmhVUkZCWXpJVEkyTlJFMEpnRTNCeWNISnpjbkFRYzNKemNuQnljRGYvMENOVXRMTlFMK05VdExOUHorRVJnWUVRTUNFUmdZL1d6a1NUS2ZPWjh3QVd4SjVER2ZPWjh4UWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUF4QUFFQXF3RnJBMVVDRlFBREFBQVRJUlVocXdLcS9WWUNGYW9BQUFBQkFXUUF3QUtjQXNBQUJRQUFKVGNuTndrQkFXVEh4emdCQVA4QStjZkhPZjhBL3dBQUFBQUFBUURTLzlZRExnT3FBQlFBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JOeGNKQVRjWEVRR2xiR2NCTGlZbEprd2xKaVpuYkd4bi90TCswbWRzQW9Gc1p3RXVKaVVtVENVbUptZHMvbjVzWi83U0FTNW5iQUdDQUFBQUFBTUFBZisvQkFBRHdnQWNBQ29BT1FBQUFUSVhIZ0VYRmhVVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTUZBUjRCTXpJM1BnRTNOalUwSmljdUFTTWlCdzRCQndZVkZCWVhBUUlBYWwxZGl5Z3BLU2lMWFYxcWFsMWRpeWdvS0NpTFhWMXFBVkg5cVRhR1NsaE9UblFoSWpCME40WktXRTVPY3lJaEx5c0NWd1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a28rLzJwS2pBaUlYUk9UVmxLaFlFcU1DRWlkRTFPV0V1R05nSlhBQUFDQUtzQVFBTlZBMEFBQ0FBU0FBQUJJUkVoRVNFMU14VVhJeFVoTlNNUklSRXhBbFVCQVAxV0FRQ3FxMVgrcWxVQ0FBTHIvVlVDcTFWVlZxcXEvZ0FDQUFBQUFBRUFxd0FWQTFVREZRQVBBQUFCSXhFWElRc0JJVGMxTXhFak5TRVZBd0JWcXY4QVZWWC9BS3BXcXdJQUFzRCtxMWIvQUFFQVZsVUJBRlZWQUFVQUFmKytBLzhEd1FBUEFCNEFKZ0E4QUVRQUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZQk5TTWlCaFVSRkJZN0FSRWpOVE1GSVJFaE1qWTFFUThCSnpjZUFSY0hKeFVqRndjbk54NEJGd2N6TlRFVElSVWhOVFFtSXdOLy9RSTFTMHMxQXY0MVMwdjlUSUlSR0JnUmdxdXJBcW45ckFJckVSaitEVHh6SFRvZFBRekVEVDF6Y3hBZUR3MXYxZjNWQWxRWUVVSkxOUU1ETlV0TE5mejlOVXNEQXFvWUVmei9FUmtDVlZWVi9hc1pFUUlyNXcwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFBQUFBQkFLc0Fhd05WQXhVQUN3QUFFeUVSTXhFaEZTRVJJeEVocXdFQXFnRUEvd0NxL3dBQ0ZRRUEvd0NxL3dBQkFBQUJBV1FBd0FLY0FzQUFCUUFBSlNjM0p3a0JBcHpIeHpqL0FBRUErY2ZIT2Y4QS93QUFBQUFBQWdBQi83OEVBQVBDQUJ3QU9RQUFBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KaU1WTWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyTXdJQWFsMWRpeWdvS0NpTFhWMXFhbDFkaXlncEtTaUxYVjFxV0U1T2RDRWlJaUYwVGs1WVdFNU9jeUloSVNKelRrNVlBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTaFhJU0owVFU1WVdVMU9kQ0VpSWlGMFRrMVpXRTVOZENJaEFBQURBQUgvdndRQUE4SUFIQUE1QUZZQUFBRXlGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpGU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KaU1CRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlFJQWFsMWRpeWdwS1NpTFhWMXFhbDFkaXlnb0tDaUxYVjFxV0U1T2N5SWhJU0p6VGs1WVdFNU9kQ0VpSWlGMFRrNVlBUUFVRkVVdkx6VTFMeTVHRkJRVUZFWXVMelUxTHk5RkZCUUR3aWdwaTE1ZGFtdGRYWXdvS1Nrb2pGMWRhMnBkWG9zcEtGY2hJblJOVGxoWlRVNTBJU0lpSVhST1RWbFlUazEwSWlIK1ZqVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFBQUFBRUFTd0JXQTdVREtnQVBBQUFCSnpjV0Z4NEJGeFlYQVNjM0lUVWhBcEt1WnkwdExWc3RMUzcrbG1ldC9ib0NSd0lWcm1jdExTNWFMUzR0L3BabnJhc0FBQUFBQWdDQUFFQURnQU5BQUEwQUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFRk54Y0hKemNYRVRNUk1RTXIvYXBWTWlNQ1ZpTXkvcXR1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBQUVBcXdFVkExVUNhd0FEQUFBVElRa0Jxd0txL3F2K3F3SnIvcW9CVmdBQUFRRlZBR3NDcXdNVkFBTUFBQWtCRVFFQlZRRlcvcW9Cd0FGVi9WWUJWUUFCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0VWQTFVQ2F3QURBQUFUQ1FFaHF3RlZBVlg5VmdFVkFWYitxZ0FBQVFCRUFHWUR2QU1iQUFrQUFBa0NOeGNCSGdFWE1RTzgvY1QreEhqRUFjUWVQQjRDb3YzRUFUeDR3d0hFSHp3ZUFBQUFBQUVCVlFCckFxc0RGUUFEQUFBSkFoRUJWUUZXL3FvREZmNnIvcXNDcWdBQUFRQ3JBV3NEVlFJVkFBTUFBQk1oRlNHckFxcjlWZ0lWcWdBQUFBRUFxd0VWQTFVQ2F3QURBQUFUSVFrQnF3S3EvcXYrcXdKci9xb0JWZ0FBQVFBQUFBRUFBUFFmZlE5ZkR6ejFBQXNFQUFBQUFBRFpRWStaQUFBQUFObEJqNWtBQVArK0JBRUR3Z0FBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUEvLzhFQVFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBT0FRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFDMkJBQUFBQVFBQUpZRUFBRUFCQUFBQVFRQUFBRUVBQUFCQkFBQUFRUUFBSE1FQUFCVkJBQUFWUVFBQUFFRUFBQ3JCQUFBYmdRQUFIZ0VBQUF5QkFBQWxnUUFBQUVFQUFBaUJBQUFJZ1FBQUZVRUFBRHlCQUFBcXdRQUFGVUVBQUFaQkFBQThnUUFBRXNFQUFCVkJBQUFBUVFBQUZVRUFBQUJCQUFBcXdRQUFXUUVBQURTQkFBQUFRUUFBS3NFQUFDckJBQUFBUVFBQUtzRUFBRmtCQUFBQVFRQUFBRUVBQUJMQkFBQWdBUUFBS3NFQUFGVkJBQUJWUVFBQUtzRUFBQkVCQUFCVlFRQUFLc0VBQUNyQUFBQUFBQUtBQlFBSGdBNEFIUUFsZ0N3QVBnQlBBRjJBYWdCMWdIc0FoZ0NVZ0o0QXB3RExBT0lBNklENUFScUJPQUUvQVVZQldnRnNnWVVCakFHVEFhS0J0Z0c5QWRDQjFBSFpBZVFCK3dJRGdnc0NKUUlyQWpBQ1JnSm1nbThDZWdKK0FvSUNoZ0tLQXBDQ2xJS1lBcHdBQUFBQVFBQUFEZ0FXd0FNQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTRBcmdBQkFBQUFBQUFCQUFrQUFBQUJBQUFBQUFBQ0FBY0FjZ0FCQUFBQUFBQURBQWtBUEFBQkFBQUFBQUFFQUFrQWh3QUJBQUFBQUFBRkFBc0FHd0FCQUFBQUFBQUdBQWtBVndBQkFBQUFBQUFLQUJvQW9nQURBQUVFQ1FBQkFCSUFDUUFEQUFFRUNRQUNBQTRBZVFBREFBRUVDUUFEQUJJQVJRQURBQUVFQ1FBRUFCSUFrQUFEQUFFRUNRQUZBQllBSmdBREFBRUVDUUFHQUJJQVlBQURBQUVFQ1FBS0FEUUF2RUZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMVpsY25OcGIyNGdNUzR3QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1FRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkwRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkxSmxaM1ZzWVhJQVVnQmxBR2NBZFFCc0FHRUFja0ZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMFp2Ym5RZ1oyVnVaWEpoZEdWa0lHSjVJRWxqYjAxdmIyNHVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYm9vdHN0cmFwIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogYmxhY2s7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAqOmZvY3VzLCAuYWctdGhlbWUtYm9vdHN0cmFwICogKjpiZWZvcmUsIC5hZy10aGVtZS1ib290c3RyYXAgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGVja2JveCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3ggbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3ggbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbDplbXB0eSB7XFxuICAgICAgICBtYXJnaW46IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwicmFuZ2VcXFwiXSB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiAycHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiBidXR0b24ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIHRvcDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCBidXR0b24ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgwLCA4MCwgODAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXNtYWxsLWxlZnQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogYmxhY2s7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xcbiAgICBwYWRkaW5nOiAwcHg7XFxuICAgIGJvcmRlcjogMCBzb2xpZCByZ2JhKDEzLCAxMywgMTMsIDApO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIGhlaWdodDogMjZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbjogMnB4IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sYWJlbGVkIGxhYmVsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWxhYmVsZWQuYWctbGFiZWwtYWxpZ24tdG9wIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1hbmdsZS1zZWxlY3QgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLXBhcmVudC1jaXJjbGUge1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgaGVpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICB3aWR0aDogNDBweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICB3aWR0aDogMTJweDtcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgICBib3JkZXItcmFkaXVzOiA1MDByZW07XFxuICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDEycHgpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cuYWctY29sb3ItZGlhbG9nIHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCB7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRvb2xzIHtcXG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zYXQge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHdoaXRlKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUsIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS12YWwge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20oYmxhY2spLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1kcmFnZ2VyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICB3aWR0aDogMTJweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcXG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1odWUtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1hbHBoYS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLWh1ZS1hbHBoYSB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG4gICAgICBoZWlnaHQ6IDExcHg7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zbGlkZXIge1xcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xcbiAgICAgIHdpZHRoOiAxM3B4O1xcbiAgICAgIGhlaWdodDogMTNweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWU6Zm9jdXMge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZDc3ZTQ7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2IHtcXG4gICAgICBtYXJnaW46IDAgM3B4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpsYXN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1wb3B1cCA+IGRpdjpub3QoLmFnLXRvb2x0aXAtY3VzdG9tKSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhbmVsLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhbmVsLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDApO1xcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gICAgbWFyZ2luOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWw6bnRoLWNoaWxkKDNuICsgMSkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgzbikge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDQuOHB4IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2xvci1waWNrZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWdyaXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbE1BQUFDOEFBQUFZR050WVhBWFZ0SzZBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVadDZzb2E0QUFBRjRBQUFVNEdobFlXUVZvMk92QUFBV1dBQUFBRFpvYUdWaEI4UUQrQUFBRnBBQUFBQWthRzEwZU5ZQUdGa0FBQmEwQUFBQTRHeHZZMkdhaEpWNkFBQVhsQUFBQUhKdFlYaHdBRVVBWFFBQUdBZ0FBQUFnYm1GdFpSSEJiQ1VBQUJnb0FBQUJubkJ2YzNRQUF3QUFBQUFaeUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTXdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUUC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQUNnQUFBU0VYQnlFVklSTURJUlVEU3Y2VGVYa0JiZjFzM053Q2xBS1YxZFdyQVlBQmdLc0FBQUFBQVFBQS84QUVBQVBBQUNFQUFBRTFCeWMzRndjbkVTRW5OeGNISnpjaEVUY1hCeWMzRnhFaEZ3Y25OeGNISVJFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBUUFBQUFBQUFRQ1dBQjREYWdOaUFCQUFBQUVISndFV0Z4NEJGeFlYQnljUkl4RXhBYTZ4WndGcUxTNHRXaTR0TFdld3BRSkNzV2NCYWk0dExWc3RMUzFuc1AzZEFpUUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBakFDY0FMQUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqSlRNVkl3TXpFU01SQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDJhVlZVQlZWVlZxMVpXUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL3F2KzFxcXFBYXIrVmdHcUFBQUFBd0FCLzc0RC93UEJBQThBSHdBcEFBQUJNaFlWRVJRR0l5RWlKalVSTkRZekJTRWlCaFVSRkJZeklUSTJOUkUwSmdjQkp6Y1hFeDRCRnpFRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZYlA3by9UV3U2QkltRWdQQlN6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0w3OS9zcERpd0dvQ2hRS0FBQUFBQU1BQWYrK0EvOER3UUFQQUI4QUl3QUFBVElXRlJFVUJpTWhJaVkxRVRRMk13VWhJZ1lWRVJRV015RXlOalVSTkNZRElUVWhBMzgxUzBzMS9RSTFTMHMxQXYvOC9oRVlHQkVEQWhFWUdPYitxZ0ZXQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL2dHcUFBQUFBZ0FCLzc0RC93UEJBQThBSHdBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXdVaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1lBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQU1BY3dCSUE0MERPQUFHQUFvQUZ3QUFDUUVIRndrQ0lUY1hJUVV3QmhVVUZqTXlOalUwSmpFQy9mNVZQR2IrOXdGRkFVWDk3OHpNL21nQ1RGVXlJeU15VlFHTkFhczhadjczL3JzQlJjM05RR3NxSXpJeUl5cHJBQUFBQWdCVkFCVUJxd05yQUFNQUJ3QUFBUkVoRVFFVklUVUJxLzZxQVZiK3FnSnIvYW9DVmdFQXE2c0FBQUFHQUZVQUZRT3JBMnNBQXdBSEFBc0FEd0FUQUJjQUFDVVZJVFVoRlNFMUF4VWhOU0VWSVRVREZTRTFJUlVoTlFHci9xb0RWdjZxcXY2cUExYitxcXIrcWdOVy9xckFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBd0FCLzc0RC93UEJBQThBSHdBakFBQUJNaFlWRVJRR0l5RWlKalVSTkRZekJTRWlCaFVSRkJZeklUSTJOUkUwSmdNVklUVURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWWtmNEFBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvcXVxcWdBQUFBQURBS3NBYXdOVkF4VUFCd0FNQUJJQUFBRXpFU0UxSXhFaEV5RVJJUkVuTlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBVlZXVmY2ckFRQUFBQUFBQVFCdUFDNERrZ05TQUEwQUFBa0JIZ0VYQ1FFSENRRW5DUUUzQWdBQkdSNDlIdjduQVJsNS91Zis1M2tCR2Y3bmVRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWGtBQXdCNEFOVURud0xoQURnQVJ3QmFBQUFCTmpjK0FUYzJGeDRCSHdFR0J3NEJCd1lIRmhjZUFSY1dGdzRCSnk0Qkp3NEJCd1luTGdFbkpqYytBVGN1QVRjK0FSY2VBUmNlQVJjSEJnY09BUWNHTno0Qk56QTJCekVuSWdZSERnRUhCaGNlQVJjV0Z6Y3VBU014QWhvbUpTWkdJQ0VkRUJ3Tk55QWdJRUFoSUNBZ0lTQkFJQ0FnTm0xSklrb2hPM3hDSHlVbU93OFBEZzFES0VCTUdCQTlNVDFzTmhBaEVKc25LeXMyQVFJdEkwUWtBd1dPQkFrRkF3VURGdzBNUGljbkhnRWxUaDBDT1NFZUh5OE9EZ0VCQ1FjaEd4c2JOeHdiR3hvWkdqUWFHaG9oRGpZWk54a3NUQjBPQWdJaUhoNHFLemtUSW5BMEl5TUJCRTRtREJnTWtBRVZGVEVURXdJQk5CZzBBZU1DQVFFREFROFVGU1VPRFFFekdqUUFBQUFBQndBeUFDY0R6Z05aQUFzQUR3QWJBQjhBS3dBd0FEMEFBRGNpQmhVVUZqTXlOalUwSmlrQkZTRUJJZ1lWRkJZek1qWTFOQ1loRlNFMUJ6SVdGUlFHSXlJbU5UUTJBUlVoTlNFaE1oWVZGQVlqSWlZMU5EWXpuUzArUGkwc1BqNERCZjFWQXF2OHp5MCtQaTBzUGo0REJmMVZoaDRzTEI0ZkxDd0RVUDFWQXF2OHp5dytQaXd0UGo0dC9ENHNMVDQrTFN3KzFRSUVQeXdzUHo4c0xEL1cxaUFzSHg4c0xCOGZMQUZPMWRVK0xTdytQaXd0UGdBQUFBRUFsZ0FqQTJvRFhRQUpBQUFCRVRNUk54Y0pBVGNYQWEra3NHZitsdjZXWjdJQlF3SWEvZWV3Wi82V0FXcG5zUUFBQUFBREFBSC93UVFCQThFQUVBQWdBQ3dBQUFFeUZoVVJGQVlqSVNJbU5SRTBOak1oRnlFaUJoVVJGQll6SVRJMk5SRTBKZ0V6RlNNVkl6VWpOVE0xTXdPQU5VeE1OZjBCTlV0TE5RTC9BZnorRWhnWUVnTUNFUmdZL3NTcnE2dXJxNnNEd1VzMS9RQTFTMHMxQXdBMVMxY1lFZjBCRVJnWUVRTC9FUmorcktxcXFxcXJBQUFEQUNJQWRnUGVBd29BSWdCSUFGTUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOekVCUGdFM01DWW5EZ0VIRndFb05TY2dRaU5JUWtKM05ETXJLbTlBTjBNaER2N01IajhlQ2hRTEFRczFhekpRTXVzcUpTVTZGQlFISXo0YUpqRXljejgvUHpRdUx5OWZMeTh1SWg0Zk5oa1lGeXRxUHdIakxrd2dQemtMUGl4VEF1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmh0cUFBQUFBd0FpQUprRDNnTG9BQnNBT3dCS0FBQUJGaGNlQVJjV0Z3WUhEZ0VuSmljbUp5NEJKeVluTmpjK0FUYzJCdzRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnpFbEpqUTFJdzRCQnhjK0FUYzZBVE1DQ1VoQ1FuYzBNeXM3VlZYRmFXbGpJaDRmTmhrWUZ5bzFOSHRHUmJjalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFMQXVnQ0Z4ZFBOalpBVjBWRlNBVUVQQlFhR2pvaElDRS9OemRSRnhldkdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUFDQUZVQVFBT3JBMEFBQmdBTEFBQVRJUUVSSnhFQkFSVXpOU05WQTFiK3FxcitxZ0ZXcXFvRFFQNnIvbFdyQVFBQlZmNnJWbFlBQUFJQThnREFBdzRDd0FBREFBa0FBQUVSSXhFQkp6Y25DUUVCUjFVQ0hNZkhPZjhBQVFBQ3dQNEFBZ0QrT2NmSE9mOEEvd0FBQUFBQURBQ3IvK3NEVlFPVkFBTUFCd0FMQUE4QUV3QVhBQnNBSHdBakFDY0FLd0F2QUFBM014VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlFak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFBQUFBQUFVQVZmL3JBNnNEbFFBZkFDTUFLQUFzQURBQUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlV4QVNNVk14RWpGVE0xRVNNVk15VWpGVE1CcTZvQlZ2NnFxcXNCVlFGVy9xcitxd0ZWQVZiK3F2NVdWZ0ZXQWFxcXFxcXFxcXIrQUtxcUEwQlYvd0JXVnFwVi93QlYvd0JXL3dCVkFsVUJBRlg5VlZVQnExWldBVlZWVlZVQUFBQURBQmtCRVFQbkFwTUFGZ0F0QUR3QUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp6RUhKalExSXc0QkJ4YytBVGMyTWpNQ0NENDhQSEl6TkN3a1hucDUvM3g3WXlReE9qbCtSRU1CTFJ5QlVsS0JIQ0U5SEFOS1hsN0ZYMTlNQXh3L0lwa0JDMFNIUENVdVpqRUtGQXNDa3dFTURDMGhJQ3NrWFRVMUR5b3BYeVF5SnlnM0R3K0lSMXhjUnc0bUZ3TS9JQ0VCSUI5QUFoZ29EaU1WS3hVQkVCNU1GZzBDQVFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FjQUNjQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTVZBek0zTlNjakJ4VWVBUmNDVlp4NW5OM2RKMDRuZVp5cW5IbWMzZDJjZVNkT0o2cWNqbVJram1RWk1oa0NqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2QzK2gyU09aR1NPR1RJWkFBQUVBQUgvdmdQL0E4RUFEd0FmQUNjQUx3QUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQkJ6Y1hOeGNIRndFM0J4Y0hGemNYQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDNnNDBneW56bWZNQUczU3VVeG9EbWdNVUpMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDB0U2VReG56bWZNUUczNVVreW9EbWdNUUFEQUZVQUZRT3JBMnNBQXdBSEFBc0FBQ1VWSVRVQkZTRTFBUlVoTlFPci9Lb0RWdnlxQTFiOHFzQ3Jxd0ZWcXFvQlZxdXJBQUFBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F2QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0UzQnljSEp6Y25BUWMzSnpjbkJ5Y0RmLzBDTlV0TE5RTCtOVXRMTlB6K0VSZ1lFUU1DRVJnWS9XemtTVEtmT1o4d0FXeEo1REdmT1o4eFFrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9lNUo1REdnT2FBeEFXemtTVEdnT2FBeEFBRUFxd0ZyQTFVQ0ZRQURBQUFUSVJVaHF3S3EvVllDRmFvQUFBQUJBV1FBd0FLY0FzQUFCUUFBSlRjbk53a0JBV1RIeHpnQkFQOEErY2ZIT2Y4QS93QUFBQUFBQVFEUy85WURMZ09xQUJRQUFBRUhKd0VXRng0QkZ4WVhCeWNSTnhjSkFUY1hFUUdsYkdjQkxpWWxKa3dsSmlabmJHeG4vdEwrMG1kc0FvRnNad0V1SmlVbVRDVW1KbWRzL241c1ovN1NBUzVuYkFHQ0FBQUFBQU1BQWYrL0JBQUR3Z0FjQUNvQU9RQUFBVElYSGdFWEZoVVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak1GQVI0Qk16STNQZ0UzTmpVMEppY3VBU01pQnc0QkJ3WVZGQllYQVFJQWFsMWRpeWdwS1NpTFhWMXFhbDFkaXlnb0tDaUxYVjFxQVZIOXFUYUdTbGhPVG5RaElqQjBONFpLV0U1T2N5SWhMeXNDVndQQ0tDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvKy8ycEtqQWlJWFJPVFZsS2hZRXFNQ0VpZEUxT1dFdUdOZ0pYQUFBQ0FLc0FRQU5WQTBBQUNBQVNBQUFCSVJFaEVTRTFNeFVYSXhVaE5TTVJJUkV4QWxVQkFQMVdBUUNxcTFYK3FsVUNBQUxyL1ZVQ3ExVlZWcXFxL2dBQ0FBQUFBQUVBcXdBVkExVURGUUFQQUFBQkl4RVhJUXNCSVRjMU14RWpOU0VWQXdCVnF2OEFWVlgvQUtwV3F3SUFBc0QrcTFiL0FBRUFWbFVCQUZWVkFBVUFBZisrQS84RHdRQVBBQjRBSmdBOEFFUUFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWUJOU01pQmhVUkZCWTdBUkVqTlRNRklSRWhNalkxRVE4Qkp6Y2VBUmNISnhVakZ3Y25OeDRCRndjek5URVRJUlVoTlRRbUl3Ti8vUUkxUzBzMUF2NDFTMHY5VElJUkdCZ1JncXVyQXFuOXJBSXJFUmorRFR4ekhUb2RQUXpFRFQxemN4QWVEdzF2MWYzVkFsUVlFVUpMTlFNRE5VdExOZno5TlVzREFxb1lFZnovRVJrQ1ZWVlYvYXNaRVFJcjV3MDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQUFBQUJBS3NBYXdOVkF4VUFDd0FBRXlFUk14RWhGU0VSSXhFaHF3RUFxZ0VBL3dDcS93QUNGUUVBL3dDcS93QUJBQUFCQVdRQXdBS2NBc0FBQlFBQUpTYzNKd2tCQXB6SHh6ai9BQUVBK2NmSE9mOEEvd0FBQUFBQUFnQUIvNzhFQUFQQ0FCd0FPUUFBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmlNVk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMk13SUFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazVZQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2hYSVNKMFRVNVlXVTFPZENFaUlpRjBUazFaV0U1TmRDSWhBQUFEQUFIL3Z3UUFBOElBSEFBNUFGWUFBQUV5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RlNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmlNQkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpNaGNlQVJjV0ZRSUFhbDFkaXlncEtTaUxYVjFxYWwxZGl5Z29LQ2lMWFYxcVdFNU9jeUloSVNKelRrNVlXRTVPZENFaUlpRjBUazVZQVFBVUZFVXZMelUxTHk1R0ZCUVVGRVl1THpVMUx5OUZGQlFEd2lncGkxNWRhbXRkWFl3b0tTa29qRjFkYTJwZFhvc3BLRmNoSW5STlRsaFpUVTUwSVNJaUlYUk9UVmxZVGsxMElpSCtWalV2TDBVVUZCUVVSUzh2TlRVdUwwWVVGQlFVUmk4dU5RQUFBQUVBU3dCV0E3VURLZ0FQQUFBQkp6Y1dGeDRCRnhZWEFTYzNJVFVoQXBLdVp5MHRMVnN0TFM3K2xtZXQvYm9DUndJVnJtY3RMUzVhTFM0dC9wWm5yYXNBQUFBQUFnQ0FBRUFEZ0FOQUFBMEFHQUFBQVJFaEVTTVJGQll6SVRJMk5SRUZOeGNISnpjWEVUTVJNUU1yL2FwVk1pTUNWaU15L3F0dVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQUFFQXF3RVZBMVVDYXdBREFBQVRJUWtCcXdLcS9xditxd0pyL3FvQlZnQUFBUUZWQUdzQ3F3TVZBQU1BQUFrQkVRRUJWUUZXL3FvQndBRlYvVllCVlFBQkFWVUFhd0tyQXhVQUF3QUFDUUlSQVZVQlZ2NnFBeFgrcS82ckFxb0FBQUVBcXdFVkExVUNhd0FEQUFBVENRRWhxd0ZWQVZYOVZnRVZBVmIrcWdBQUFRQkVBR1lEdkFNYkFBa0FBQWtDTnhjQkhnRVhNUU84L2NUK3hIakVBY1FlUEI0Q292M0VBVHg0d3dIRUh6d2VBQUFBQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVdzRFZRSVZBQU1BQUJNaEZTR3JBcXI5VmdJVnFnQUFBQUVBcXdFVkExVUNhd0FEQUFBVElRa0Jxd0txL3F2K3F3SnIvcW9CVmdBQUFRQUFBQUVBQVBRZmZROWZEenoxQUFzRUFBQUFBQURaUVkrWkFBQUFBTmxCajVrQUFQKytCQUVEd2dBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFEd1AvQUFBQUVBQUFBLy84RUFRQUJBQUFBQUFBQUFBQUFBQUFBQUFBQU9BUUFBQUFBQUFBQUFBQUFBQUlBQUFBRUFBQzJCQUFBQUFRQUFKWUVBQUVBQkFBQUFRUUFBQUVFQUFBQkJBQUFBUVFBQUhNRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTRBSFFBbGdDd0FQZ0JQQUYyQWFnQjFnSHNBaGdDVWdKNEFwd0RMQU9JQTZJRDVBUnFCT0FFL0FVWUJXZ0ZzZ1lVQmpBR1RBYUtCdGdHOUFkQ0IxQUhaQWVRQit3SURnZ3NDSlFJckFqQUNSZ0ptZ204Q2VnSitBb0lDaGdLS0FwQ0NsSUtZQXB3QUFBQUFRQUFBRGdBV3dBTUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0QXJnQUJBQUFBQUFBQkFBa0FBQUFCQUFBQUFBQUNBQWNBY2dBQkFBQUFBQUFEQUFrQVBBQUJBQUFBQUFBRUFBa0Fod0FCQUFBQUFBQUZBQXNBR3dBQkFBQUFBQUFHQUFrQVZ3QUJBQUFBQUFBS0FCb0FvZ0FEQUFFRUNRQUJBQklBQ1FBREFBRUVDUUFDQUE0QWVRQURBQUVFQ1FBREFCSUFSUUFEQUFFRUNRQUVBQklBa0FBREFBRUVDUUFGQUJZQUpnQURBQUVFQ1FBR0FCSUFZQUFEQUFFRUNRQUtBRFFBdkVGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTFabGNuTnBiMjRnTVM0d0FGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNRUZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMEZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMUpsWjNWc1lYSUFVZ0JsQUdjQWRRQnNBR0VBY2tGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTBadmJuUWdaMlZ1WlhKaGRHVmtJR0o1SUVsamIwMXZiMjR1QUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgY29sb3I6ICNjY2M7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSwgLmFnLXRoZW1lLWRhcmsgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0LCAuYWctdGhlbWUtZGFyayAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZGFyayAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMDJlMmUgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWRhcmsgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbDplbXB0eSB7XFxuICAgICAgICBtYXJnaW46IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIGdyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6IGdyZWVueWVsbG93OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogcmVkOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcm93Om5vdCguYWctcm93LWZpcnN0KSB7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDNlM2U7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDVkNTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyM0E5QTlBOSclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICNjY2NjY2M7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGhlaWdodDogMjVweCAhaW1wb3J0YW50O1xcbiAgICBsaW5lLWhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiAwIDhweDtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCAuYWctZG5kLWdob3N0LWljb24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSB7XFxuICAgIHBhZGRpbmc6IDJweCAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCB7XFxuICAgIG1hcmdpbjogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwge1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjcpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuOCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtbGVmdCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICM0MDNlM2U7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogI2NjYztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMwMzA7XFxuICAgIHBhZGRpbmc6IDBweDtcXG4gICAgYm9yZGVyOiAwIHNvbGlkICNiNmI2YjY7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNDI0O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgaGVpZ2h0OiAyNnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgcGFkZGluZzogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMmMyYztcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luOiAycHggMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi10b3AgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtZGFyayAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ1ZDU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ1ZDU7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxMnB4KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvZ2dsZS1idXR0b24uYWctc2VsZWN0ZWQgLmFnLWlucHV0LXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciBidXR0b24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZy5hZy1jb2xvci1kaWFsb2cge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCB7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWNvbG9yIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdG9vbHMge1xcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zYXQge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHdoaXRlKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUsIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdmFsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKGJsYWNrKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrLCByZ2JhKDIwNCwgMTU0LCAxMjksIDApKTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1odWUtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tYWxwaGEtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgICAgIGhlaWdodDogMTFweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zbGlkZXIge1xcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xcbiAgICAgIHdpZHRoOiAxM3B4O1xcbiAgICAgIGhlaWdodDogMTNweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWUge1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZTpmb2N1cyB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkNzdlNDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2IHtcXG4gICAgICBtYXJnaW46IDAgM3B4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2OmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2Omxhc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyay5hZy1wb3B1cCA+IGRpdjpub3QoLmFnLXRvb2x0aXAtY3VzdG9tKSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1kYXJrIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjM2MzYzM7XFxuICAgICAgY29sb3I6ICNjY2NjY2M7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk0OTQ5OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE1MTU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gICAgbWFyZ2luOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoMm4gKyAyKTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgzbikge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyIC5hZy1ncm91cC1pdGVtIHtcXG4gICAgbWFyZ2luOiA0LjhweCAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjZDZkNWQ1O1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbG9yLXBpY2tlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjZDZkNWQ1OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICM0MDNlM2U7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBtaW4taGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBsaWdodGdyZWVuOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1oaWdobGlnaHQtYW5pbWF0aW9uIHtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXM7XFxuICAgIHRyYW5zaXRpb246IGFsbCAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIGlucHV0LFxcbiAgLmFnLXRoZW1lLWRhcmsgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSBpbnB1dFtyZWFkb25seV0ge1xcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxNQUFBQzhBQUFBWUdOdFlYQVhWdEs2QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WnQ2c29hNEFBQUY0QUFBVTRHaGxZV1FWbzJPdkFBQVdXQUFBQURab2FHVmhCOFFEK0FBQUZwQUFBQUFrYUcxMGVOWUFHRmtBQUJhMEFBQUE0R3h2WTJHYWhKVjZBQUFYbEFBQUFISnRZWGh3QUVVQVhRQUFHQWdBQUFBZ2JtRnRaUkhCYkNVQUFCZ29BQUFCbm5CdmMzUUFBd0FBQUFBWnlBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE13UEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VFAvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFDZ0FBQVNFWEJ5RVZJUk1ESVJVRFN2NlRlWGtCYmYxczNOd0NsQUtWMWRXckFZQUJnS3NBQUFBQUFRQUEvOEFFQUFQQUFDRUFBQUUxQnljM0Z3Y25FU0VuTnhjSEp6Y2hFVGNYQnljM0Z4RWhGd2NuTnhjSElSRUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQVFBQUFBQUFBUUNXQUI0RGFnTmlBQkFBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEV4QWE2eFp3RnFMUzR0V2k0dExXZXdwUUpDc1djQmFpNHRMVnN0TFMxbnNQM2RBaVFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWpBQ2NBTEFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakpUTVZJd016RVNNUkEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AyYVZWVUJWVlZWcTFaV1FrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9xdisxcXFxQWFyK1ZnR3FBQUFBQXdBQi83NEQvd1BCQUE4QUh3QXBBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnY0JKemNYRXg0QkZ6RURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWWJQN28vVFd1NkJJbUVnUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdMNzkvc3BEaXdHb0NoUUtBQUFBQUFNQUFmKytBLzhEd1FBUEFCOEFJd0FBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWURJVFVoQTM4MVMwczEvUUkxUzBzMUF2LzgvaEVZR0JFREFoRVlHT2IrcWdGV0E4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9nR3FBQUFBQWdBQi83NEQvd1BCQUE4QUh3QUFBVElXRlJFVUJpTWhJaVkxRVRRMk13VWhJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFNQWN3QklBNDBET0FBR0FBb0FGd0FBQ1FFSEZ3a0NJVGNYSVFVd0JoVVVGak15TmpVMEpqRUMvZjVWUEdiKzl3RkZBVVg5Nzh6TS9tZ0NURlV5SXlNeVZRR05BYXM4WnY3My9yc0JSYzNOUUdzcUl6SXlJeXByQUFBQUFnQlZBQlVCcXdOckFBTUFCd0FBQVJFaEVRRVZJVFVCcS82cUFWYitxZ0pyL2FvQ1ZnRUFxNnNBQUFBR0FGVUFGUU9yQTJzQUF3QUhBQXNBRHdBVEFCY0FBQ1VWSVRVaEZTRTFBeFVoTlNFVklUVURGU0UxSVJVaE5RR3IvcW9EVnY2cXF2NnFBMWIrcXFyK3FnTlcvcXJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQXdBQi83NEQvd1BCQUE4QUh3QWpBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnTVZJVFVEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBQUFEQUtzQWF3TlZBeFVBQndBTUFCSUFBQUV6RVNFMUl4RWhFeUVSSVJFbk5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQVZWV1ZmNnJBUUFBQUFBQUFRQnVBQzREa2dOU0FBMEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FnQUJHUjQ5SHY3bkFSbDUvdWYrNTNrQkdmN25lUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1hrQUF3QjRBTlVEbndMaEFEZ0FSd0JhQUFBQk5qYytBVGMyRng0Qkh3RUdCdzRCQndZSEZoY2VBUmNXRnc0Qkp5NEJKdzRCQndZbkxnRW5KamMrQVRjdUFUYytBUmNlQVJjZUFSY0hCZ2NPQVFjR056NEJOekEyQnpFbklnWUhEZ0VIQmhjZUFSY1dGemN1QVNNeEFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFBQUJ3QXlBQ2NEemdOWkFBc0FEd0FiQUI4QUt3QXdBRDBBQURjaUJoVVVGak15TmpVMEppa0JGU0VCSWdZVkZCWXpNalkxTkNZaEZTRTFCeklXRlJRR0l5SW1OVFEyQVJVaE5TRWhNaFlWRkFZaklpWTFORFl6blMwK1BpMHNQajREQmYxVkFxdjh6eTArUGkwc1BqNERCZjFWaGg0c0xCNGZMQ3dEVVAxVkFxdjh6eXcrUGl3dFBqNHQvRDRzTFQ0K0xTdysxUUlFUHl3c1B6OHNMRC9XMWlBc0h4OHNMQjhmTEFGTzFkVStMU3crUGl3dFBnQUFBQUVBbGdBakEyb0RYUUFKQUFBQkVUTVJOeGNKQVRjWEFhK2tzR2YrbHY2V1o3SUJRd0lhL2Vld1ovNldBV3Buc1FBQUFBQURBQUgvd1FRQkE4RUFFQUFnQUN3QUFBRXlGaFVSRkFZaklTSW1OUkUwTmpNaEZ5RWlCaFVSRkJZeklUSTJOUkUwSmdFekZTTVZJelVqTlRNMU13T0FOVXhNTmYwQk5VdExOUUwvQWZ6K0VoZ1lFZ01DRVJnWS9zU3JxNnVycTZzRHdVczEvUUExUzBzMUF3QTFTMWNZRWYwQkVSZ1lFUUwvRVJqK3JLcXFxcXFyQUFBREFDSUFkZ1BlQXdvQUlnQklBRk1BQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTnpFQlBnRTNNQ1luRGdFSEZ3RW9OU2NnUWlOSVFrSjNORE1yS205QU4wTWhEdjdNSGo4ZUNoUUxBUXMxYXpKUU11c3FKU1U2RkJRSEl6NGFKakV5Y3o4L1B6UXVMeTlmTHk4dUloNGZOaGtZRnl0cVB3SGpMa3dnUHprTFBpeFRBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZodHFBQUFBQXdBaUFKa0QzZ0xvQUJzQU93QktBQUFCRmhjZUFSY1dGd1lIRGdFbkppY21KeTRCSnlZbk5qYytBVGMyQnc0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp6RWxKalExSXc0QkJ4YytBVGM2QVRNQ0NVaENRbmMwTXlzN1ZWWEZhV2xqSWg0Zk5oa1lGeW8xTkh0R1JiY2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRTEF1Z0NGeGRQTmpaQVYwVkZTQVVFUEJRYUdqb2hJQ0UvTnpkUkZ4ZXZHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFBQ0FGVUFRQU9yQTBBQUJnQUxBQUFUSVFFUkp4RUJBUlV6TlNOVkExYitxcXIrcWdGV3Fxb0RRUDZyL2xXckFRQUJWZjZyVmxZQUFBSUE4Z0RBQXc0Q3dBQURBQWtBQUFFUkl4RUJKemNuQ1FFQlIxVUNITWZIT2Y4QUFRQUN3UDRBQWdEK09jZkhPZjhBL3dBQUFBQUFEQUNyLytzRFZRT1ZBQU1BQndBTEFBOEFFd0FYQUJzQUh3QWpBQ2NBS3dBdkFBQTNNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5RWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxQUFBQUFBVUFWZi9yQTZzRGxRQWZBQ01BS0FBc0FEQUFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVeEFTTVZNeEVqRlRNMUVTTVZNeVVqRlRNQnE2b0JWdjZxcXFzQlZRRlcvcXIrcXdGVkFWYitxdjVXVmdGV0FhcXFxcXFxcXFyK0FLcXFBMEJWL3dCV1ZxcFYvd0JWL3dCVy93QlZBbFVCQUZYOVZWVUJxMVpXQVZWVlZWVUFBQUFEQUJrQkVRUG5BcE1BRmdBdEFEd0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKekVISmpRMUl3NEJCeGMrQVRjMk1qTUNDRDQ4UEhJek5Dd2tYbnA1LzN4N1l5UXhPamwrUkVNQkxSeUJVbEtCSENFOUhBTktYbDdGWDE5TUF4dy9JcGtCQzBTSFBDVXVaakVLRkFzQ2t3RU1EQzBoSUNza1hUVTFEeW9wWHlReUp5ZzNEdytJUjF4Y1J3NG1Gd00vSUNFQklCOUFBaGdvRGlNVkt4VUJFQjVNRmcwQ0FRQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBY0FDY0FBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1WQXpNM05TY2pCeFVlQVJjQ1ZaeDVuTjNkSjA0bmVaeXFuSG1jM2QyY2VTZE9KNnFjam1Sa2ptUVpNaGtDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNkMytoMlNPWkdTT0dUSVpBQUFFQUFIL3ZnUC9BOEVBRHdBZkFDY0FMd0FBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJCemNYTnhjSEZ3RTNCeGNIRnpjWEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AzZzQwZ3luem1mTUFHM1N1VXhvRG1nTVVKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nTVFBREFGVUFGUU9yQTJzQUF3QUhBQXNBQUNVVklUVUJGU0UxQVJVaE5RT3IvS29EVnZ5cUExYjhxc0NycXdGVnFxb0JWcXVyQUFBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdkFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFM0J5Y0hKemNuQVFjM0p6Y25CeWNEZi8wQ05VdExOUUwrTlV0TE5QeitFUmdZRVFNQ0VSZ1kvV3prU1RLZk9aOHdBV3hKNURHZk9aOHhRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQXhBQUVBcXdGckExVUNGUUFEQUFBVElSVWhxd0txL1ZZQ0Zhb0FBQUFCQVdRQXdBS2NBc0FBQlFBQUpUY25Od2tCQVdUSHh6Z0JBUDhBK2NmSE9mOEEvd0FBQUFBQUFRRFMvOVlETGdPcUFCUUFBQUVISndFV0Z4NEJGeFlYQnljUk54Y0pBVGNYRVFHbGJHY0JMaVlsSmt3bEppWm5iR3huL3RMKzBtZHNBb0ZzWndFdUppVW1UQ1VtSm1kcy9uNXNaLzdTQVM1bmJBR0NBQUFBQUFNQUFmKy9CQUFEd2dBY0FDb0FPUUFBQVRJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNRkFSNEJNekkzUGdFM05qVTBKaWN1QVNNaUJ3NEJCd1lWRkJZWEFRSUFhbDFkaXlncEtTaUxYVjFxYWwxZGl5Z29LQ2lMWFYxcUFWSDlxVGFHU2xoT1RuUWhJakIwTjRaS1dFNU9jeUloTHlzQ1Z3UENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrbysvMnBLakFpSVhST1RWbEtoWUVxTUNFaWRFMU9XRXVHTmdKWEFBQUNBS3NBUUFOVkEwQUFDQUFTQUFBQklSRWhFU0UxTXhVWEl4VWhOU01SSVJFeEFsVUJBUDFXQVFDcXExWCtxbFVDQUFMci9WVUNxMVZWVnFxcS9nQUNBQUFBQUFFQXF3QVZBMVVERlFBUEFBQUJJeEVYSVFzQklUYzFNeEVqTlNFVkF3QlZxdjhBVlZYL0FLcFdxd0lBQXNEK3ExYi9BQUVBVmxVQkFGVlZBQVVBQWYrK0EvOER3UUFQQUI0QUpnQThBRVFBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlCTlNNaUJoVVJGQlk3QVJFak5UTUZJUkVoTWpZMUVROEJKemNlQVJjSEp4VWpGd2NuTng0QkZ3Y3pOVEVUSVJVaE5UUW1Jd04vL1FJMVMwczFBdjQxUzB2OVRJSVJHQmdSZ3F1ckFxbjlyQUlyRVJqK0RUeHpIVG9kUFF6RURUMXpjeEFlRHcxdjFmM1ZBbFFZRVVKTE5RTUROVXRMTmZ6OU5Vc0RBcW9ZRWZ6L0VSa0NWVlZWL2FzWkVRSXI1dzA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUFBQUFCQUtzQWF3TlZBeFVBQ3dBQUV5RVJNeEVoRlNFUkl4RWhxd0VBcWdFQS93Q3Evd0FDRlFFQS93Q3Evd0FCQUFBQkFXUUF3QUtjQXNBQUJRQUFKU2MzSndrQkFwekh4emovQUFFQStjZkhPZjhBL3dBQUFBQUFBZ0FCLzc4RUFBUENBQndBT1FBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTVZNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJNd0lBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs1WUE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NoWElTSjBUVTVZV1UxT2RDRWlJaUYwVGsxWldFNU5kQ0loQUFBREFBSC92d1FBQThJQUhBQTVBRllBQUFFeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dGUUlBYWwxZGl5Z3BLU2lMWFYxcWFsMWRpeWdvS0NpTFhWMXFXRTVPY3lJaElTSnpUazVZV0U1T2RDRWlJaUYwVGs1WUFRQVVGRVV2THpVMUx5NUdGQlFVRkVZdUx6VTFMeTlGRkJRRHdpZ3BpMTVkYW10ZFhZd29LU2tvakYxZGEycGRYb3NwS0ZjaEluUk5UbGhaVFU1MElTSWlJWFJPVFZsWVRrMTBJaUgrVmpVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUFBQUFFQVN3QldBN1VES2dBUEFBQUJKemNXRng0QkZ4WVhBU2MzSVRVaEFwS3VaeTB0TFZzdExTNytsbWV0L2JvQ1J3SVZybWN0TFM1YUxTNHQvcFpucmFzQUFBQUFBZ0NBQUVBRGdBTkFBQTBBR0FBQUFSRWhFU01SRkJZeklUSTJOUkVGTnhjSEp6Y1hFVE1STVFNci9hcFZNaU1DVmlNeS9xdHVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFBRUFxd0VWQTFVQ2F3QURBQUFUSVFrQnF3S3EvcXYrcXdKci9xb0JWZ0FBQVFGVkFHc0Nxd01WQUFNQUFBa0JFUUVCVlFGVy9xb0J3QUZWL1ZZQlZRQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RVZBMVVDYXdBREFBQVRDUUVocXdGVkFWWDlWZ0VWQVZiK3FnQUFBUUJFQUdZRHZBTWJBQWtBQUFrQ054Y0JIZ0VYTVFPOC9jVCt4SGpFQWNRZVBCNENvdjNFQVR4NHd3SEVIendlQUFBQUFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFXc0RWUUlWQUFNQUFCTWhGU0dyQXFyOVZnSVZxZ0FBQUFFQXF3RVZBMVVDYXdBREFBQVRJUWtCcXdLcS9xditxd0pyL3FvQlZnQUFBUUFBQUFFQUFQUWZmUTlmRHp6MUFBc0VBQUFBQUFEWlFZK1pBQUFBQU5sQmo1a0FBUCsrQkFFRHdnQUFBQWdBQWdBQUFBQUFBQUFCQUFBRHdQL0FBQUFFQUFBQS8vOEVBUUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFPQVFBQUFBQUFBQUFBQUFBQUFJQUFBQUVBQUMyQkFBQUFBUUFBSllFQUFFQUJBQUFBUVFBQUFFRUFBQUJCQUFBQVFRQUFITUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E0QUhRQWxnQ3dBUGdCUEFGMkFhZ0IxZ0hzQWhnQ1VnSjRBcHdETEFPSUE2SUQ1QVJxQk9BRS9BVVlCV2dGc2dZVUJqQUdUQWFLQnRnRzlBZENCMUFIWkFlUUIrd0lEZ2dzQ0pRSXJBakFDUmdKbWdtOENlZ0orQW9JQ2hnS0tBcENDbElLWUFwd0FBQUFBUUFBQURnQVd3QU1BQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWtBQUFBQkFBQUFBQUFDQUFjQWNnQUJBQUFBQUFBREFBa0FQQUFCQUFBQUFBQUVBQWtBaHdBQkFBQUFBQUFGQUFzQUd3QUJBQUFBQUFBR0FBa0FWd0FCQUFBQUFBQUtBQm9Bb2dBREFBRUVDUUFCQUJJQUNRQURBQUVFQ1FBQ0FBNEFlUUFEQUFFRUNRQURBQklBUlFBREFBRUVDUUFFQUJJQWtBQURBQUVFQ1FBRkFCWUFKZ0FEQUFFRUNRQUdBQklBWUFBREFBRUVDUUFLQURRQXZFRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkxWmxjbk5wYjI0Z01TNHdBRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUVGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTBGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTFKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNrRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkwWnZiblFnWjJWdVpYSmhkR1ZrSUdKNUlFbGpiMDF2YjI0dUFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBQUFBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1mcmVzaCB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSwgLmFnLXRoZW1lLWZyZXNoIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAqOmZvY3VzLCAuYWctdGhlbWUtZnJlc2ggKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1mcmVzaCAuYWctdG9nZ2xlLWJ1dHRvbiB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3ggbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtZnJlc2ggLmFnLXRvZ2dsZS1idXR0b24gbGFiZWwge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3ggbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1mcmVzaCAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZnJlc2ggLmFnLXRvZ2dsZS1idXR0b24gbGFiZWw6ZW1wdHkge1xcbiAgICAgICAgbWFyZ2luOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy10b2dnbGUtYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHdoaXRlKSwgdG8obGlnaHRncmV5KSk7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgbGlnaHRncmV5KTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQTlBOUE5JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiAycHggMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiBidXR0b24ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIHRvcDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uLmFnLWRpc2FibGVkIC5hZy1pY29uIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1zbWFsbC1sZWZ0LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogI2VjZjBmMTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWMgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6IGJsYWNrO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcXG4gICAgcGFkZGluZzogMHB4O1xcbiAgICBib3JkZXI6IDAgc29saWQgI2I2YjZiNjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBoZWlnaHQ6IDI2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIgLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50ID4gLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW46IDJweCAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWxhYmVsZWQgbGFiZWwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtZnJlc2ggLmFnLWFuZ2xlLXNlbGVjdCA+IC5hZy13cmFwcGVyID4gZGl2Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1wYXJlbnQtY2lyY2xlIHtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvZ2dsZS1idXR0b24gLmFnLWlucHV0LXdyYXBwZXIge1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHdpZHRoOiA0MHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgYm9yZGVyLXJhZGl1czogNTAwcmVtOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxMnB4KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICByaWdodDogLTFweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nLmFnLWNvbG9yLWRpYWxvZyB7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1wYW5lbCB7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1jb2xvciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10b29scyB7XFxuICAgICAgcGFkZGluZzogMTBweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zYXQge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHdoaXRlKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUsIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXZhbCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShibGFjayksIHRvKHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpKTtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tZHJhZ2dlciB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XFxuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1odWUtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWFscGhhLWJhY2tncm91bmQge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1odWUtYWxwaGEge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICAgICAgaGVpZ2h0OiAxMXB4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zbGlkZXIge1xcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xcbiAgICAgIHdpZHRoOiAxM3B4O1xcbiAgICAgIGhlaWdodDogMTNweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlIHtcXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlOmZvY3VzIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGQ3N2U0O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2IHtcXG4gICAgICBtYXJnaW46IDAgM3B4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6bGFzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaC5hZy1wb3B1cCA+IGRpdjpub3QoLmFnLXRvb2x0aXAtY3VzdG9tKSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjM2MzYzM7XFxuICAgICAgY29sb3I6ICMzMzMzMzM7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFuZWwgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIG1hcmdpbjogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24pIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBmb250LXNpemU6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDQuOHB4IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjMzMzO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNvbG9yLXBpY2tlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWdyaXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b2dnbGUtYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHdoaXRlKSwgdG8obGlnaHRncmV5KSk7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgbGlnaHRncmV5KTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZE1hdGVyaWFsXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxNQUFBQzhBQUFBWUdOdFlYQVhWdEs2QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WnZaTkJCZ0FBQUY0QUFBUldHaGxZV1FWYVdOM0FBQVMwQUFBQURab2FHVmhCNGtEK1FBQUV3Z0FBQUFrYUcxMGVOWUFKcDhBQUJNc0FBQUE0R3h2WTJGOVNIak1BQUFVREFBQUFISnRZWGh3QUVJQVdRQUFGSUFBQUFBZ2JtRnRaVm04cTNFQUFCU2dBQUFCcW5CdmMzUUFBd0FBQUFBV1RBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE13UEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VFAvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBUUFBYXdNQUF4VUFDd0FBQVNFVkNRRVZJVFVoTnljaEF3RCtBQUVWL3VzQ0FQN1YxdFlCS3dNVlZmOEEvd0JWZ05YVkFBQUFBQVFBT2YvNUE4Y0Rod0FJQUE4QUZ3QWZBQUFCTXpVekp3Y3pGVEVISXpVSEZ6VXpKU2NWSXhVekZUY0ZJeFVqRnpjak5RR3JxbkxIeDNJNWNzZkhjZ0pWeDNKeXgvNk9xbkxIeDNJQ1RuTEh4M0k1Y3NmSGNsWEhjcXB5eDQ1eXg4ZHlBQUFCQUtzQWF3TlZBeFVBQ1FBQUV4YzNFVE1SRnpjSkFhczg3bGJ1UFA2ci9xc0J3RHp1L2ZrQ0IrODlBVlgrcXdBQ0FGVUFGUU9yQTJzQUhBQW9BQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtSXhNSEp3Y25OeWMzRnpjWEJ3SUFXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WTFUeVptVHlabVR5Wm1UeVpBMnNpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDl2RHlabVR5Wm1UeVptVHlaQUFBQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQUNBSUFBUUFPQUEwQUFEd0FXQUFBQklTSUdGUkVVRmpNaE1qWTFFVFFtQVNjM0Z3RVhBUU1yL2Fvak1qSWpBbFlqTWpMK1hkWThtZ0ZFUFA2QUEwQXlJLzJxSXpJeUl3SldJekw5cTlVOG1RRkVQUDZBQUFBQUFnQ0FBRUFEZ0FOQUFBOEFFd0FBQVNFaUJoVVJGQll6SVRJMk5SRTBKZ01oTlNFREsvMnFJekl5SXdKV0l6SXllZjVXQWFvRFFESWovYW9qTWpJakFsWWpNdjVWVmdBQUFnQ0FBRUFEZ0FOQUFBTUFFd0FBQVJFaEVTVWhJZ1lWRVJRV015RXlOalVSTkNZREsvMnFBbGI5cWlNeU1pTUNWaU15TWdMci9hb0NWbFV5SS8ycUl6SXlJd0pXSXpJQUF3QnpBRWdEalFNNEFBWUFDZ0FXQUFBSkFRY1hDUUloTnhjaEJUQUdGUlFXTXpJMk5UUW1BdjMrVlR4bS92Y0JSUUZGL2UvTXpQNW9Ba3hWTWlNak1sVUJqUUdyUEdiKzkvNjdBVVhOelVCcktpTXlNaU1xYXdBQUFBQUNBS3NBYXdGVkF4VUFBd0FIQUFBbEl4RXpOUlVqTlFGVnFxcXFhd0gvcTFkWEFBQUpBS3NBYXdOVkF4VUFBd0FJQUF3QUVBQVZBQmtBSGdBaUFDWUFBQk16TlNNQk16VWpGU0V6TlNNMU16VWpCVE0xSXhVQkZUTTFCVE0xSXhVQk16VWpFVE0xSTZ1cXFnRUFxcXIvQUtxcXFxb0JBS3FxQVFDcS9sYXFxZ0VBcXFxcXFnSnJxdjFXcXFxcVZxcXFxcW9CcXFxcXFxcXEvd0NxL2xhcUFBQUFBQUVCWWdEQUFwNEN3QUFHQUFBQkp3a0JOeWMzQXA0OC93QUJBRHpEd3dLRVBQOEEvd0E4eE1RQUFBQUFBd0JyLytzRGxRT1ZBQWdBR1FBZEFBQUJJU0lHRlJFekVTRVhJU0lHRlJFVUZqTWhNalkxRVRRbUl4RWhFU0VDd1A0QUl6SlZBZ0NBL2lza01qSWtBZFVqTWpJai9pc0IxUU9WTWlQOXF3SlZWVElrL2Fzak1qSWpBbFVrTXYxVkFsVUFBQUVBMVFDVkF5c0M2d0FNQUFBQkp3Y25CeGNIRnpjWE55YzNBeXM4Nys4ODcrODg3Kzg4Nys4Q3J6enY3enp2N3p6djd6enY3d0FBQlFCVkFCVURxd05yQUNVQU1nQS9BRXNBVVFBQUFUNEJOVFFtSXlJR0ZSUVdNekkyTnhjSExnRWpJZ1lWRkJZek1qWTFOQ1luTndFek5RRUhJaVkxTkRZek1oWVZGQVlqRVNJbU5UUTJNeklXRlJRR0l3RWlKalUwTmpNeUZoVVVCZ2tCRndFMUl3R2JDQWhrUjBka1pFY1RJeEJsWlJBakUwZGtaRWRIWkFnSVpRRXJnUDN3bXlNeU1pTWpNaklqSXpJeUl5TXlNaU1CQUFrTURBa0pEQXdCSXY4QVZRRXJnQUo2RUNNVFIyUmtSMGRrQ0FobFpRZ0laRWRIWkdSSEV5TVFaZjdWS3dJUER6RWtKREV4SkNReC9nQXhKQ1F4TVNRa01RRkFEQWtKREF3SkNRd0JsZjhBVlFFcUt3QUFCd0NYQUw4RGFRTEJBQXdBRUFBZEFDRUFMUUE2QUQ0QUFCTWlCaFVVRmpNeU5qVTBKaU1GTlNFVkF5SUdGUlFXTXpJMk5UUW1Jd1VoTlNFRk1oWVZGQVlqSWlZMU5EWTNNaFlWRkFZaklpWTFORFl6QlNFMUljSVNHUmtTRWhrWkVnS24vZGQrRWhrWkVoSVpHUklCMHY2c0FWVCtMZzBURXcwTkV4TU5FaGtaRWhJWkdSSUNwLzNYQWlrQkZSa1NFUm9hRVJJWlZWWldBU3NaRWhJWkdSSVNHVlZWQ3hNTkRSTVREUTBUNFJvUkVoa1pFaEVhVmxVQUFBQUJBS3NBYXdOVkF4VUFDUUFBQVNjSEVTTVJKd2NKQVFOVlBPNVc3andCVlFGVkFjQTg3Z0lIL2ZudlBmNnJBVlVBQUFBQUFRRmlBTUFDbmdMQUFBWUFBQUVIRndjWENRRUJuanpEd3p3QkFQOEFBc0E4eE1ROEFRQUJBQUFBQUFBQkFKTUF4d050QXJrQVJ3QUFBUzRCSXlJR0J5YytBVE15Rng0QkZ4WVhEZ0VISno0Qk55TU9BUWNuSXhjT0FTTWlKaWNqSGdFek1qWTNGdzRCSXlJbkxnRW5KaWMrQVRjWERnRUhNeWMrQVRNeUZoY3pBcU1LWEQwaVBSWlBLMk0yUGprNVh5UWxGUmhZT1U4U0dBVkVCQTBJSzFCR0JBa0ZJalVKUkFwY1BoTWpFRWdoUnlZK09UbGZKQ1VWRXo0b1hnVUdBb1lwRFNRVklqUUpSQUhkT2s4YUYwOFpIQk1TUWk0dE56NWxJVThTTFJvTUZRa3FSZ0VCS1I4NlVBZ0lTQTBPRXhKQ0xpMDNNRlFnWGdvVUN5b05FQ2dmQUFBREFKTUF4d050QXJrQUhBQXBBRFVBQUFFaUJ3NEJCd1lIRmhjZUFSY1dNekkzUGdFM05qY21KeTRCSnlZakVTSW1OVFEyTXpJV0ZSUUdJeEVpQmhVVUZqTXlOalUwSmdJQVBqazVYeVFsRlJVbEpGODVPVDQrT1RsZkpDVVZGU1VrWHprNVBrVmhZVVZGWVdGRktUczdLU2s3T3dLNUV4SkNMaTAzTnkwdVFoSVRFeEpDTGkwM055MHVRaElUL21GaFJVVmhZVVZGWVFFS095a3BPenNwS1RzQUFBTUFnQURBQTRBQ3dBQUVBQWdBREFBQUpUTTFJeFVCRlNFMUFTRTFJUUdycXFyKzFRTUEvWUFDQVA0QXdGVlZBZ0JWVmY3VlZnQUFBZ0QzQU1BRENRTEFBQVVBQ2dBQUpTYzNKd2tCQVRNUkl4RURDY1RFUFA4QUFRRCtLbFpXL01URVBQOEEvd0FDQVA0QUFnQUFBQUFDQUtzQlFBTlZBa0FBQXdBSUFBQUJJUlVoQlNFMUlSVURWZjFXQXFyOVZnS3EvVllDUUZXclZWVUFBQVlBamdDa0EzSUMzQUFIQUF3QUV3QVhBQnNBSVFBQUFTRVVCaXNCTlRFbEZTRTFJU2N5RmhVaE5TRUJJelV6TlNNMU15Y2pORFl6RlFKVkFSMURMNnNCSGY3akFSMXlMMFArQUFHTy91Unljbkp5NUhKREx3RVZMMEp4NUhKeTQwSXZjZjNJY1hKeWNpOUNjUUFBQUFBQ0FKTUF4d050QXJrQUhBQXBBQUFCSWdjT0FRY0dCeFlYSGdFWEZqTXlOejRCTnpZM0ppY3VBU2NtSXhFaUpqVTBOak15RmhVVUJpTUNBRDQ1T1Y4a0pSVVZKU1JmT1RrK1BqazVYeVFsRlJVbEpGODVPVDVGWVdGRlJXRmhSUUs1RXhKQ0xpMDNOeTB1UWhJVEV4SkNMaTAzTnkwdVFoSVQvbUZoUlVWaFlVVkZZUUFDQVBjQXdBTUpBc0FBQmdBS0FBQVRGd2NYQ1FFSEpUTVJJL2ZFeER3QkFQOEFQQUc4VmxZQ2hNVEVQQUVBQVFBOFBQNEFBQUFBQUFFQXF3QnJBMVVERlFBSkFBQUJJVGNuQ1FFM0p5RTFBMVg5K2U4OS9xc0JWVHp1QWdjQjYrNDgvcXYrcXp6dVZnQUFBQUFDQU9RQXBBTWNBdHdBSEFBbUFBQUJOeGNITXhVakhnRVhCeWNWSXpVSEp6Y2pOVE1uTng0QkZ6VXpGUWN6TnpVbkl3Y1ZIZ0VDT1doUWFKT1RHalFhVUdoeWFGQm9rNU5vVUJvMEduSm9Ya05EWGtNUklRSkphRkJvY2hvMEdsQm9rNU5vVUdoeWFGQWFOQnFUay90RFhrTkRYaEVoQUFBQkFJQUM2d09BQTBBQUF3QUFFeUVWSVlBREFQMEFBMEJWQUFBQUF3Q0FBTUFEZ0FMQUFBTUFCd0FMQUFBM0lUVWhOU0UxSVRVVklUV0FBd0Q5QUFNQS9RQURBTUJWZ0ZiVlZWVUFBUUVBQUVBREFBQ1ZBQU1BQUNVaEZTRUJBQUlBL2dDVlZRQUFBQUVBMVFHVkF5c0I2d0FFQUFBVElSVWhOZFVDVnYycUFldFdWZ0FCQVdJQXdBS2VBc0FBQmdBQUFRY1hCeGNKQVFHZVBNUERQQUVBL3dBQ3dEekV4RHdCQUFFQUFBQUFBQU1BZ0FEQUE0QUN3QUFEQUFjQUN3QUFOeUUxSVJFVklUVUJJVFVoZ0FJQS9nQURBUDBBQXdEOUFNQlZBYXRWVmY3VlZnQURBRlVBRlFPckEyc0FIQUFyQURvQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpBVFEzUGdFM05qTXlGaGNCTGdFMUFTSW1Kd0VlQVJVVUJ3NEJCd1lqQWdCWVRrNTBJU0lpSVhST1RsaFlUazUwSVNJaUlYUk9UbGorcXhvYlhUNCtSenRySy80aUlpWUJWVHRyS3dIZUlpWWFHMTArUGtjRGF5SWhkRTVPV0ZoT1RuUWhJaUloZEU1T1dGaE9UblFoSXY1VlJ6NCtYUnNhSmlMK0lpdHJPLzZySmlJQjNpdHJPMGMrUGwwYkdnQUFBQUFEQUlELzZ3T0FBNVVBR0FBa0FDd0FBQUVqTGdFaklnWUhJeUlHRlJFVUZqTWhNalkxRVRRbUl6RWhNaFlWRkFZaklpWTFORFlCSVJFekZTRTFNd01yc3cxQktpcEJEYk1qTWpJakFsWWpNaklqL3RVU0dSa1NFaGtaQVQzOXFsWUJxbFlEUUNVd01DVXlJLzFWSXpJeUl3S3JJeklaRWhFWkdSRVNHZjBBQXF1QWdBQUNBSzBBYndOVEF4RUFCUUFTQUFBbEJ5YzNIZ0VUQVFjbkJ4Y0hKemNYTnljM0FXT09LSTRLRk1ZQk5COGU5ejVZOWxnOWV4NGUvWTRvamdvVUFncit6QjRlZXoxWTlsZys5eDRmQUFBQUFBa0FPZi81QThjRGh3QVBBQk1BRndBZ0FDUUFMZ0F5QURZQU9nQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnRWpGVE1CSVJFaEpRY1hCeWMzSGdFWEp5TVZNeVVISndjbk54NEJGekVCSXhVekpTTVZNemNqRlRNRFZmMVdMME5ETHdLcUwwTkQvZEdxcWdJQS9qa0J4LzdjUWtJcGFXa0tGUXJjcXFvQitDaEJRaWhxR2pVYS9naXFxZ0VkNU9UanFxb0hReThDcWk5RFF5LzlWaTlEQVJ5cUFZNytjck5DUVNocGFnb1VDdHVyTVNoQlFTaHBHalVhQVphcXFxcXFxZ0FBQUFBQkFOVUFsUU1yQXVzQUN3QUFBU0VSSXhFaE5TRVJNeEVoQXl2L0FGYi9BQUVBVmdFQUFaWC9BQUVBVmdFQS93QUFBQUFBQVFGaUFNQUNuZ0xBQUFZQUFBRW5DUUUzSnpjQ25qei9BQUVBUE1QREFvUTgvd0QvQUR6RXhBQUFBQUFDQUZVQUZRT3JBMnNBSEFBNUFBQUJJZ2NPQVFjR0ZSUVhIZ0VYRmpNeU56NEJOelkxTkNjdUFTY21JeEVpSnk0Qkp5WTFORGMrQVRjMk16SVhIZ0VYRmhVVUJ3NEJCd1lqQWdCWVRrNTBJU0lpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhIUGo1ZEd4b2FHMTArUGtkSFBqNWRHeG9hRzEwK1BrY0RheUloZEU1T1dGaE9UblFoSWlJaGRFNU9XRmhPVG5RaEl2MEFHaHRkUGo1SFJ6NCtYUnNhR2h0ZFBqNUhSejQrWFJzYUFBTUFWUUFWQTZzRGF3QWNBRGtBVmdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTTFJZ2NPQVFjR0ZSUVhIZ0VYRmpNeU56NEJOelkxTkNjdUFTY21JeEVpSnk0Qkp5WTFORGMrQVRjMk16SVhIZ0VYRmhVVUJ3NEJCd1lqQWdBc0p5YzZFUkFRRVRvbkp5d3NKeWM2RVJBUUVUb25KeXhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0lpSVhST1RsaEhQajVkR3hvYUcxMCtQa2RIUGo1ZEd4b2FHMTArUGtjQ2xSQVJPaWNuTEN3bkp6b1JFQkFST2ljbkxDd25Kem9SRU5ZaUlYUk9UbGhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0w5QUJvYlhUNCtSMGMrUGwwYkdob2JYVDQrUjBjK1BsMGJHZ0FCQUtzQWF3TlZBeFVBQ1FBQUFRY1hJUlVoQnhjSkFRSUFQTzc5K1FJSDdqd0JWZjZyQXhVODdsYnVQQUZWQVZVQUFBQUFBZ0NBQUVBRGdBTkFBQTRBR1FBQUFSRWhFU01SRkJZeklUSTJOUkVqQlRjWEJ5YzNGeEV6RVRFREsvMnFWVElqQWxZak1sWC9BRzQ4MWRVOGJsWUJ3UDdWQVN2KzFTTXlNaU1CS3gxdVBOWFZQRzRCbmY1akFBRUJLd0ZWQXRVQ0t3QURBQUFCRnpjaEFTdlYxZjVXQWl2VzFnQUJBWlVBNndKckFwVUFBd0FBQVFjWEVRSnIxdFlDbGRYVkFhb0FBUUdWQU9zQ2F3S1ZBQU1BQUNVM0p4RUJsZGJXNjlYVi9sWUFBQUVCS3dGVkF0VUNLd0FEQUFBQk54Y2hBU3ZWMWY1V0FWWFcxZ0FCQUlrQW9nTjNBdDRBQmdBQUFTY0hGd0VuQVFGM3NqenVBZ0E4L2p3Qkc3STk3Z0lBUFA0OUFBQUFBQUVCWWdEQUFwNEN3QUFHQUFBQkJ4Y0hGd2tCQVo0OHc4TThBUUQvQUFMQVBNVEVQQUVBQVFBQUFBQUFBUURWQVpVREt3SHJBQVFBQUJNaEZTRTExUUpXL2FvQjYxWldBQUVCQUFFaUF3QUNYZ0FGQUFBQkJ5Y0hDUUVDeE1URVBBRUFBUUFDWHNQRFBQOEFBUUFBQUFBQkFBQUFBUUFBY0ZCekVWOFBQUFVBQ3dRQUFBQUFBTmxCajMwQUFBQUEyVUdQZlFBQS8rc0R4d09WQUFBQUNBQUNBQUFBQUFBQUFBRUFBQVBBLzhBQUFBUUFBQUFBQUFQSEFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBNEJBQUFBQUFBQUFBQUFBQUFBZ0FBQUFRQUFRQUVBQUE1QkFBQXF3UUFBRlVFQUFEVkJBQUFnQVFBQUlBRUFBQ0FCQUFBY3dRQUFLc0VBQUNyQkFBQllnUUFBR3NFQUFEVkJBQUFWUVFBQUpjRUFBQ3JCQUFCWWdRQUFKTUVBQUNUQkFBQWdBUUFBUGNFQUFDckJBQUFqZ1FBQUpNRUFBRDNCQUFBcXdRQUFPUUVBQUNBQkFBQWdBUUFBUUFFQUFEVkJBQUJZZ1FBQUlBRUFBQlZCQUFBZ0FRQUFLMEVBQUE1QkFBQTFRUUFBV0lFQUFCVkJBQUFWUVFBQUtzRUFBQ0FCQUFCS3dRQUFaVUVBQUdWQkFBQkt3UUFBSWtFQUFGaUJBQUExUVFBQVFBQUFBQUFBQW9BRkFBZUFEb0FiQUNFQU1nQTVBRVFBVFFCV0FHR0FaZ0IyQUh1QWlBQ1BBSzBBeElETEFOQ0E2NEVBQVFjQkRnRVRnU0dCTWdFNUFUK0JUb0ZTQVZnQlc0RmZBV1NCYXdHREFaT0JuWUcyQWJ5QndnSFlBZmdCL29JSmdnMENFSUlVQWhlQ0hRSWlnaVlDS3dBQUFBQkFBQUFPQUJYQUFrQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQUNnQUFBQUVBQUFBQUFBSUFCd0I3QUFFQUFBQUFBQU1BQ2dBL0FBRUFBQUFBQUFRQUNnQ1FBQUVBQUFBQUFBVUFDd0FlQUFFQUFBQUFBQVlBQ2dCZEFBRUFBQUFBQUFvQUdnQ3VBQU1BQVFRSkFBRUFGQUFLQUFNQUFRUUpBQUlBRGdDQ0FBTUFBUVFKQUFNQUZBQkpBQU1BQVFRSkFBUUFGQUNhQUFNQUFRUUpBQVVBRmdBcEFBTUFBUVFKQUFZQUZBQm5BQU1BQVFRSkFBb0FOQURJUVdkTllYUmxjbWxoYkFCQkFHY0FUUUJoQUhRQVpRQnlBR2tBWVFCc1ZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3UVdkTllYUmxjbWxoYkFCQkFHY0FUUUJoQUhRQVpRQnlBR2tBWVFCc1FXZE5ZWFJsY21saGJBQkJBR2NBVFFCaEFIUUFaUUJ5QUdrQVlRQnNVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5UVdkTllYUmxjbWxoYkFCQkFHY0FUUUJoQUhRQVpRQnlBR2tBWVFCc1JtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1tYXRlcmlhbCB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDEzcHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsICo6Zm9jdXMsIC5hZy10aGVtZS1tYXRlcmlhbCAqICo6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyOTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1MTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1OTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3MjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4NDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTg5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4OTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExOTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFkaW8tYnV0dG9uLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvZ2dsZS1idXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsOmVtcHR5IHtcXG4gICAgICAgIG1hcmdpbjogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhY2MxO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgICBoZWlnaHQ6IDQwcHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgIGJvcmRlci13aWR0aDogMDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Zm9jdXMge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6Zm9jdXMge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1ncm91cC1jZWxsOmhvdmVyLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItY2VsbDpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1jZWxsLmFnLWNvbHVtbi1yZXNpemluZyxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZTpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZS5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUuYWctY29sdW1uLXJlc2l6aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgIG1pbi13aWR0aDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnMTZweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDE2cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzhweCclMjB4MiUzRCcxJyUyMHkyJTNEJzhweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzRTJFMkUyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDM0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDU2cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCAxNnB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIGNvbG9yOiAjM2Y1MWI1O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBoZWlnaHQ6IDU2cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiA1NnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgaGVpZ2h0OiA1NnB4O1xcbiAgICBwYWRkaW5nOiAwIDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDE4cHg7XFxuICAgIGhlaWdodDogMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgLmFnLWljb24ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uLmFnLWRpc2FibGVkIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjEpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgODgsIDI1NSwgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjU1LCAxMzIsIDAuMSk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuMik7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDI0cHg7XFxuICAgIGhlaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgICAgd2lkdGg6IDIwMHB4O1xcbiAgICAgIGhlaWdodDogMzEycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICAgIHBhZGRpbmc6IDAgOHB4IDAgMjRweDtcXG4gICAgICBoZWlnaHQ6IDQ4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDQ4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMThweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xcbiAgICBoZWlnaHQ6IDQ4cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1zbWFsbC1sZWZ0LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA4cHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XFxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XFxuICAgIG1pbi1oZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMzJweDtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgaGVpZ2h0OiAxNDBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWNjMSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgICAgd2lkdGg6IDIycHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0NHB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkO1xcbiAgICBwYWRkaW5nOiAwcHg7XFxuICAgIGJvcmRlcjogMCBzb2xpZCAjZWZlZmVmO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcXG4gICAgICBoZWlnaHQ6IDE4cHg7XFxuICAgICAgZm9udC1zaXplOiAxM3B4O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBoZWlnaHQ6IDI2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIgLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcXG4gICAgICBwYWRkaW5nOiA4cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XFxuICAgICAgcGFkZGluZzogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW46IDRweCAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWxhYmVsZWQgbGFiZWwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWFuZ2xlLXNlbGVjdCA+IC5hZy13cmFwcGVyID4gZGl2Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLWNoaWxkLWNpcmNsZSB7XFxuICAgIHRvcDogNHB4O1xcbiAgICBsZWZ0OiAxMnB4O1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XFxuICAgIG1hcmdpbi10b3A6IC00cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjNGM0YzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgaGVpZ2h0OiAxOHB4O1xcbiAgICB3aWR0aDogNDBweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgYm9yZGVyLXJhZGl1czogNTAwcmVtOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDE4cHg7XFxuICAgICAgaGVpZ2h0OiAxOHB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxOHB4KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDA4MTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvZ2dsZS1idXR0b24uYWctc2VsZWN0ZWQgLmFnLWlucHV0LXdyYXBwZXIgLmFnLWljb24ge1xcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDE4cHg7XFxuICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZy5hZy1jb2xvci1kaWFsb2cge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGFuZWwge1xcbiAgICBwYWRkaW5nOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdG9vbHMge1xcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tc2F0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSh3aGl0ZSksIHRvKHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpKTtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHdoaXRlLCByZ2JhKDIwNCwgMTU0LCAxMjksIDApKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS12YWwge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20oYmxhY2spLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0taHVlLWJhY2tncm91bmQge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1hbHBoYS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgICAgIGhlaWdodDogMTFweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tc2xpZGVyIHtcXG4gICAgICBtYXJnaW4tdG9wOiAtMTJweDtcXG4gICAgICB3aWR0aDogMTNweDtcXG4gICAgICBoZWlnaHQ6IDEzcHg7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMTNweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZTpmb2N1cyB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkNzdlNDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdiB7XFxuICAgICAgbWFyZ2luOiAwIDNweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2Omxhc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctcG9wdXAgPiBkaXY6bm90KC5hZy10b29sdGlwLWN1c3RvbSkge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYW5lbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFuZWwuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmNmY2ZjO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogNTZweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFuZWwgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIG1hcmdpbjogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24pIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1zaXplOiAxMXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDkuNnB4IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkTWF0ZXJpYWxcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxOHB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jb2xvci1waWNrZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjZmY0MDgxOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjZmY0MDgxOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiNTZweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjQycHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjMycHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiNDBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiMTQwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIyNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIyNHB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCI0OHB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjhweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxOHB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb24sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZiB7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGZvbnQtc2l6ZTogMjRweDtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2U0ZWMgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudS1vcHRpb24ge1xcbiAgICBoZWlnaHQ6IDM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIge1xcbiAgICBib3JkZXItYm90dG9tOiAwO1xcbiAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgIGJvcmRlci10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGJ1dHRvbiB7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgICBtYXJnaW4tbGVmdDogLTJweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1maWx0ZXItdG9vbHBhbmVsLWJvZHkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIi8qXFxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cXG4qXFxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXFxuKi9cXG5cXG4uZ3ctYWxpZ25tZW50LWNlbGwtcmlnaHQsXFxuLmd3LWFsaWdubWVudC1jZWxsLXJpZ2h0IC5hZy1jZWxsLXZhbHVlIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDE7XFxuICAgICAgICAgICAgZmxleDogMTtcXG59XFxuXFxuLmd3LWFsaWdubWVudC1jZWxsLWNlbnRlcixcXG4uZ3ctYWxpZ25tZW50LWNlbGwtY2VudGVyIC5hZy1jZWxsLXZhbHVlIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMTtcXG4gICAgICAgICAgICBmbGV4OiAxO1xcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1yaWdodCAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyAgICBcXG59XFxuXFxuLmd3LWFsaWdubWVudC1oZWFkZXItY2VudGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuXFxuLmd3LWFsaWdubWVudC1oZWFkZXItcmlnaHQgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyLFxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLWNlbnRlciAuYWctY2VsbC1sYWJlbC1jb250YWluZXIge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG59XCIiLCIvKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuXG52YXIgc3R5bGVzSW5Eb20gPSB7fTtcblxudmFyXHRtZW1vaXplID0gZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoKSB7XG5cdFx0aWYgKHR5cGVvZiBtZW1vID09PSBcInVuZGVmaW5lZFwiKSBtZW1vID0gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblx0XHRyZXR1cm4gbWVtbztcblx0fTtcbn07XG5cbnZhciBpc09sZElFID0gbWVtb2l6ZShmdW5jdGlvbiAoKSB7XG5cdC8vIFRlc3QgZm9yIElFIDw9IDkgYXMgcHJvcG9zZWQgYnkgQnJvd3NlcmhhY2tzXG5cdC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcblx0Ly8gVGVzdHMgZm9yIGV4aXN0ZW5jZSBvZiBzdGFuZGFyZCBnbG9iYWxzIGlzIHRvIGFsbG93IHN0eWxlLWxvYWRlclxuXHQvLyB0byBvcGVyYXRlIGNvcnJlY3RseSBpbnRvIG5vbi1zdGFuZGFyZCBlbnZpcm9ubWVudHNcblx0Ly8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG5cdHJldHVybiB3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYjtcbn0pO1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gKHRhcmdldCkge1xuICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpO1xufTtcblxudmFyIGdldEVsZW1lbnQgPSAoZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vID0ge307XG5cblx0cmV0dXJuIGZ1bmN0aW9uKHRhcmdldCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHBhc3NpbmcgZnVuY3Rpb24gaW4gb3B0aW9ucywgdGhlbiB1c2UgaXQgZm9yIHJlc29sdmUgXCJoZWFkXCIgZWxlbWVudC5cbiAgICAgICAgICAgICAgICAvLyBVc2VmdWwgZm9yIFNoYWRvdyBSb290IHN0eWxlIGkuZVxuICAgICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgICAvLyAgIGluc2VydEludG86IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZm9vXCIpLnNoYWRvd1Jvb3QgfVxuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuXHRcdFx0dmFyIHN0eWxlVGFyZ2V0ID0gZ2V0VGFyZ2V0LmNhbGwodGhpcywgdGFyZ2V0KTtcblx0XHRcdC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cdFx0XHRpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Ly8gVGhpcyB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhY2Nlc3MgdG8gaWZyYW1lIGlzIGJsb2NrZWRcblx0XHRcdFx0XHQvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gc3R5bGVUYXJnZXQuY29udGVudERvY3VtZW50LmhlYWQ7XG5cdFx0XHRcdH0gY2F0Y2goZSkge1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG5cdFx0fVxuXHRcdHJldHVybiBtZW1vW3RhcmdldF1cblx0fTtcbn0pKCk7XG5cbnZhciBzaW5nbGV0b24gPSBudWxsO1xudmFyXHRzaW5nbGV0b25Db3VudGVyID0gMDtcbnZhclx0c3R5bGVzSW5zZXJ0ZWRBdFRvcCA9IFtdO1xuXG52YXJcdGZpeFVybHMgPSByZXF1aXJlKFwiLi91cmxzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGxpc3QsIG9wdGlvbnMpIHtcblx0aWYgKHR5cGVvZiBERUJVRyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBERUJVRykge1xuXHRcdGlmICh0eXBlb2YgZG9jdW1lbnQgIT09IFwib2JqZWN0XCIpIHRocm93IG5ldyBFcnJvcihcIlRoZSBzdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudFwiKTtcblx0fVxuXG5cdG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG5cdG9wdGlvbnMuYXR0cnMgPSB0eXBlb2Ygb3B0aW9ucy5hdHRycyA9PT0gXCJvYmplY3RcIiA/IG9wdGlvbnMuYXR0cnMgOiB7fTtcblxuXHQvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cblx0Ly8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXHRpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gXCJib29sZWFuXCIpIG9wdGlvbnMuc2luZ2xldG9uID0gaXNPbGRJRSgpO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIDxoZWFkPiBlbGVtZW50XG4gICAgICAgIGlmICghb3B0aW9ucy5pbnNlcnRJbnRvKSBvcHRpb25zLmluc2VydEludG8gPSBcImhlYWRcIjtcblxuXHQvLyBCeSBkZWZhdWx0LCBhZGQgPHN0eWxlPiB0YWdzIHRvIHRoZSBib3R0b20gb2YgdGhlIHRhcmdldFxuXHRpZiAoIW9wdGlvbnMuaW5zZXJ0QXQpIG9wdGlvbnMuaW5zZXJ0QXQgPSBcImJvdHRvbVwiO1xuXG5cdHZhciBzdHlsZXMgPSBsaXN0VG9TdHlsZXMobGlzdCwgb3B0aW9ucyk7XG5cblx0YWRkU3R5bGVzVG9Eb20oc3R5bGVzLCBvcHRpb25zKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlIChuZXdMaXN0KSB7XG5cdFx0dmFyIG1heVJlbW92ZSA9IFtdO1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gc3R5bGVzW2ldO1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRcdGRvbVN0eWxlLnJlZnMtLTtcblx0XHRcdG1heVJlbW92ZS5wdXNoKGRvbVN0eWxlKTtcblx0XHR9XG5cblx0XHRpZihuZXdMaXN0KSB7XG5cdFx0XHR2YXIgbmV3U3R5bGVzID0gbGlzdFRvU3R5bGVzKG5ld0xpc3QsIG9wdGlvbnMpO1xuXHRcdFx0YWRkU3R5bGVzVG9Eb20obmV3U3R5bGVzLCBvcHRpb25zKTtcblx0XHR9XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG1heVJlbW92ZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gbWF5UmVtb3ZlW2ldO1xuXG5cdFx0XHRpZihkb21TdHlsZS5yZWZzID09PSAwKSB7XG5cdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIGRvbVN0eWxlLnBhcnRzW2pdKCk7XG5cblx0XHRcdFx0ZGVsZXRlIHN0eWxlc0luRG9tW2RvbVN0eWxlLmlkXTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG59O1xuXG5mdW5jdGlvbiBhZGRTdHlsZXNUb0RvbSAoc3R5bGVzLCBvcHRpb25zKSB7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRpZihkb21TdHlsZSkge1xuXHRcdFx0ZG9tU3R5bGUucmVmcysrO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHNbal0oaXRlbS5wYXJ0c1tqXSk7XG5cdFx0XHR9XG5cblx0XHRcdGZvcig7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGRvbVN0eWxlLnBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSwgb3B0aW9ucykpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR2YXIgcGFydHMgPSBbXTtcblxuXHRcdFx0Zm9yKHZhciBqID0gMDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0cGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cblx0XHRcdHN0eWxlc0luRG9tW2l0ZW0uaWRdID0ge2lkOiBpdGVtLmlkLCByZWZzOiAxLCBwYXJ0czogcGFydHN9O1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBsaXN0VG9TdHlsZXMgKGxpc3QsIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlcyA9IFtdO1xuXHR2YXIgbmV3U3R5bGVzID0ge307XG5cblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBsaXN0W2ldO1xuXHRcdHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xuXHRcdHZhciBjc3MgPSBpdGVtWzFdO1xuXHRcdHZhciBtZWRpYSA9IGl0ZW1bMl07XG5cdFx0dmFyIHNvdXJjZU1hcCA9IGl0ZW1bM107XG5cdFx0dmFyIHBhcnQgPSB7Y3NzOiBjc3MsIG1lZGlhOiBtZWRpYSwgc291cmNlTWFwOiBzb3VyY2VNYXB9O1xuXG5cdFx0aWYoIW5ld1N0eWxlc1tpZF0pIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7aWQ6IGlkLCBwYXJ0czogW3BhcnRdfSk7XG5cdFx0ZWxzZSBuZXdTdHlsZXNbaWRdLnBhcnRzLnB1c2gocGFydCk7XG5cdH1cblxuXHRyZXR1cm4gc3R5bGVzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQgKG9wdGlvbnMsIHN0eWxlKSB7XG5cdHZhciB0YXJnZXQgPSBnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0SW50bylcblxuXHRpZiAoIXRhcmdldCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0SW50bycgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuXHR9XG5cblx0dmFyIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcFtzdHlsZXNJbnNlcnRlZEF0VG9wLmxlbmd0aCAtIDFdO1xuXG5cdGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcInRvcFwiKSB7XG5cdFx0aWYgKCFsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcCkge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgdGFyZ2V0LmZpcnN0Q2hpbGQpO1xuXHRcdH0gZWxzZSBpZiAobGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpIHtcblx0XHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wLm5leHRTaWJsaW5nKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0XHR9XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5wdXNoKHN0eWxlKTtcblx0fSBlbHNlIGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcImJvdHRvbVwiKSB7XG5cdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0fSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJvYmplY3RcIiAmJiBvcHRpb25zLmluc2VydEF0LmJlZm9yZSkge1xuXHRcdHZhciBuZXh0U2libGluZyA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvICsgXCIgXCIgKyBvcHRpb25zLmluc2VydEF0LmJlZm9yZSk7XG5cdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbmV4dFNpYmxpbmcpO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIltTdHlsZSBMb2FkZXJdXFxuXFxuIEludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAnaW5zZXJ0QXQnICgnb3B0aW9ucy5pbnNlcnRBdCcpIGZvdW5kLlxcbiBNdXN0IGJlICd0b3AnLCAnYm90dG9tJywgb3IgT2JqZWN0LlxcbiAoaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIjaW5zZXJ0YXQpXFxuXCIpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVN0eWxlRWxlbWVudCAoc3R5bGUpIHtcblx0aWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblx0c3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG5cblx0dmFyIGlkeCA9IHN0eWxlc0luc2VydGVkQXRUb3AuaW5kZXhPZihzdHlsZSk7XG5cdGlmKGlkeCA+PSAwKSB7XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5zcGxpY2UoaWR4LCAxKTtcblx0fVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQgKG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblxuXHRhZGRBdHRycyhzdHlsZSwgb3B0aW9ucy5hdHRycyk7XG5cdGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zLCBzdHlsZSk7XG5cblx0cmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMaW5rRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblx0b3B0aW9ucy5hdHRycy5yZWwgPSBcInN0eWxlc2hlZXRcIjtcblxuXHRhZGRBdHRycyhsaW5rLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIGxpbmspO1xuXG5cdHJldHVybiBsaW5rO1xufVxuXG5mdW5jdGlvbiBhZGRBdHRycyAoZWwsIGF0dHJzKSB7XG5cdE9iamVjdC5rZXlzKGF0dHJzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRlbC5zZXRBdHRyaWJ1dGUoa2V5LCBhdHRyc1trZXldKTtcblx0fSk7XG59XG5cbmZ1bmN0aW9uIGFkZFN0eWxlIChvYmosIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlLCB1cGRhdGUsIHJlbW92ZSwgcmVzdWx0O1xuXG5cdC8vIElmIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIHdhcyBkZWZpbmVkLCBydW4gaXQgb24gdGhlIGNzc1xuXHRpZiAob3B0aW9ucy50cmFuc2Zvcm0gJiYgb2JqLmNzcykge1xuXHQgICAgcmVzdWx0ID0gb3B0aW9ucy50cmFuc2Zvcm0ob2JqLmNzcyk7XG5cblx0ICAgIGlmIChyZXN1bHQpIHtcblx0ICAgIFx0Ly8gSWYgdHJhbnNmb3JtIHJldHVybnMgYSB2YWx1ZSwgdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBydW5uaW5nIHJ1bnRpbWUgdHJhbnNmb3JtYXRpb25zIG9uIHRoZSBjc3MuXG5cdCAgICBcdG9iai5jc3MgPSByZXN1bHQ7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgXHQvLyBJZiB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIHJldHVybnMgYSBmYWxzeSB2YWx1ZSwgZG9uJ3QgYWRkIHRoaXMgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBjb25kaXRpb25hbCBsb2FkaW5nIG9mIGNzc1xuXHQgICAgXHRyZXR1cm4gZnVuY3Rpb24oKSB7XG5cdCAgICBcdFx0Ly8gbm9vcFxuXHQgICAgXHR9O1xuXHQgICAgfVxuXHR9XG5cblx0aWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG5cdFx0dmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG5cblx0XHRzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcblxuXHRcdHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgZmFsc2UpO1xuXHRcdHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgdHJ1ZSk7XG5cblx0fSBlbHNlIGlmIChcblx0XHRvYmouc291cmNlTWFwICYmXG5cdFx0dHlwZW9mIFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5jcmVhdGVPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBVUkwucmV2b2tlT2JqZWN0VVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgQmxvYiA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIGJ0b2EgPT09IFwiZnVuY3Rpb25cIlxuXHQpIHtcblx0XHRzdHlsZSA9IGNyZWF0ZUxpbmtFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IHVwZGF0ZUxpbmsuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblxuXHRcdFx0aWYoc3R5bGUuaHJlZikgVVJMLnJldm9rZU9iamVjdFVSTChzdHlsZS5ocmVmKTtcblx0XHR9O1xuXHR9IGVsc2Uge1xuXHRcdHN0eWxlID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblx0XHR9O1xuXHR9XG5cblx0dXBkYXRlKG9iaik7XG5cblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlIChuZXdPYmopIHtcblx0XHRpZiAobmV3T2JqKSB7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG5ld09iai5jc3MgPT09IG9iai5jc3MgJiZcblx0XHRcdFx0bmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiZcblx0XHRcdFx0bmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcFxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dXBkYXRlKG9iaiA9IG5ld09iaik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbW92ZSgpO1xuXHRcdH1cblx0fTtcbn1cblxudmFyIHJlcGxhY2VUZXh0ID0gKGZ1bmN0aW9uICgpIHtcblx0dmFyIHRleHRTdG9yZSA9IFtdO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG5cdFx0dGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuXG5cdFx0cmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG5cdH07XG59KSgpO1xuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnIChzdHlsZSwgaW5kZXgsIHJlbW92ZSwgb2JqKSB7XG5cdHZhciBjc3MgPSByZW1vdmUgPyBcIlwiIDogb2JqLmNzcztcblxuXHRpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpO1xuXHR9IGVsc2Uge1xuXHRcdHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKTtcblx0XHR2YXIgY2hpbGROb2RlcyA9IHN0eWxlLmNoaWxkTm9kZXM7XG5cblx0XHRpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcblxuXHRcdGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuXHRcdFx0c3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcgKHN0eWxlLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBtZWRpYSA9IG9iai5tZWRpYTtcblxuXHRpZihtZWRpYSkge1xuXHRcdHN0eWxlLnNldEF0dHJpYnV0ZShcIm1lZGlhXCIsIG1lZGlhKVxuXHR9XG5cblx0aWYoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcblx0fSBlbHNlIHtcblx0XHR3aGlsZShzdHlsZS5maXJzdENoaWxkKSB7XG5cdFx0XHRzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcblx0XHR9XG5cblx0XHRzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcblx0fVxufVxuXG5mdW5jdGlvbiB1cGRhdGVMaW5rIChsaW5rLCBvcHRpb25zLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG5cdC8qXG5cdFx0SWYgY29udmVydFRvQWJzb2x1dGVVcmxzIGlzbid0IGRlZmluZWQsIGJ1dCBzb3VyY2VtYXBzIGFyZSBlbmFibGVkXG5cdFx0YW5kIHRoZXJlIGlzIG5vIHB1YmxpY1BhdGggZGVmaW5lZCB0aGVuIGxldHMgdHVybiBjb252ZXJ0VG9BYnNvbHV0ZVVybHNcblx0XHRvbiBieSBkZWZhdWx0LiAgT3RoZXJ3aXNlIGRlZmF1bHQgdG8gdGhlIGNvbnZlcnRUb0Fic29sdXRlVXJscyBvcHRpb25cblx0XHRkaXJlY3RseVxuXHQqL1xuXHR2YXIgYXV0b0ZpeFVybHMgPSBvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyA9PT0gdW5kZWZpbmVkICYmIHNvdXJjZU1hcDtcblxuXHRpZiAob3B0aW9ucy5jb252ZXJ0VG9BYnNvbHV0ZVVybHMgfHwgYXV0b0ZpeFVybHMpIHtcblx0XHRjc3MgPSBmaXhVcmxzKGNzcyk7XG5cdH1cblxuXHRpZiAoc291cmNlTWFwKSB7XG5cdFx0Ly8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY2MDM4NzVcblx0XHRjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiICsgYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSArIFwiICovXCI7XG5cdH1cblxuXHR2YXIgYmxvYiA9IG5ldyBCbG9iKFtjc3NdLCB7IHR5cGU6IFwidGV4dC9jc3NcIiB9KTtcblxuXHR2YXIgb2xkU3JjID0gbGluay5ocmVmO1xuXG5cdGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cblx0aWYob2xkU3JjKSBVUkwucmV2b2tlT2JqZWN0VVJMKG9sZFNyYyk7XG59XG4iLCJcbi8qKlxuICogV2hlbiBzb3VyY2UgbWFwcyBhcmUgZW5hYmxlZCwgYHN0eWxlLWxvYWRlcmAgdXNlcyBhIGxpbmsgZWxlbWVudCB3aXRoIGEgZGF0YS11cmkgdG9cbiAqIGVtYmVkIHRoZSBjc3Mgb24gdGhlIHBhZ2UuIFRoaXMgYnJlYWtzIGFsbCByZWxhdGl2ZSB1cmxzIGJlY2F1c2Ugbm93IHRoZXkgYXJlIHJlbGF0aXZlIHRvIGFcbiAqIGJ1bmRsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IHBhZ2UuXG4gKlxuICogT25lIHNvbHV0aW9uIGlzIHRvIG9ubHkgdXNlIGZ1bGwgdXJscywgYnV0IHRoYXQgbWF5IGJlIGltcG9zc2libGUuXG4gKlxuICogSW5zdGVhZCwgdGhpcyBmdW5jdGlvbiBcImZpeGVzXCIgdGhlIHJlbGF0aXZlIHVybHMgdG8gYmUgYWJzb2x1dGUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHBhZ2UgbG9jYXRpb24uXG4gKlxuICogQSBydWRpbWVudGFyeSB0ZXN0IHN1aXRlIGlzIGxvY2F0ZWQgYXQgYHRlc3QvZml4VXJscy5qc2AgYW5kIGNhbiBiZSBydW4gdmlhIHRoZSBgbnBtIHRlc3RgIGNvbW1hbmQuXG4gKlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNzcykge1xuICAvLyBnZXQgY3VycmVudCBsb2NhdGlvblxuICB2YXIgbG9jYXRpb24gPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5sb2NhdGlvbjtcblxuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZml4VXJscyByZXF1aXJlcyB3aW5kb3cubG9jYXRpb25cIik7XG4gIH1cblxuXHQvLyBibGFuayBvciBudWxsP1xuXHRpZiAoIWNzcyB8fCB0eXBlb2YgY3NzICE9PSBcInN0cmluZ1wiKSB7XG5cdCAgcmV0dXJuIGNzcztcbiAgfVxuXG4gIHZhciBiYXNlVXJsID0gbG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyBsb2NhdGlvbi5ob3N0O1xuICB2YXIgY3VycmVudERpciA9IGJhc2VVcmwgKyBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC9bXlxcL10qJC8sIFwiL1wiKTtcblxuXHQvLyBjb252ZXJ0IGVhY2ggdXJsKC4uLilcblx0Lypcblx0VGhpcyByZWd1bGFyIGV4cHJlc3Npb24gaXMganVzdCBhIHdheSB0byByZWN1cnNpdmVseSBtYXRjaCBicmFja2V0cyB3aXRoaW5cblx0YSBzdHJpbmcuXG5cblx0IC91cmxcXHMqXFwoICA9IE1hdGNoIG9uIHRoZSB3b3JkIFwidXJsXCIgd2l0aCBhbnkgd2hpdGVzcGFjZSBhZnRlciBpdCBhbmQgdGhlbiBhIHBhcmVuc1xuXHQgICAoICA9IFN0YXJ0IGEgY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgKD86ICA9IFN0YXJ0IGEgbm9uLWNhcHR1cmluZyBncm91cFxuXHQgICAgICAgICBbXikoXSAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICBcXCggID0gTWF0Y2ggYSBzdGFydCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKD86ICA9IFN0YXJ0IGFub3RoZXIgbm9uLWNhcHR1cmluZyBncm91cHNcblx0ICAgICAgICAgICAgICAgICBbXikoXSsgID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgICAgIFteKShdKiAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICBcXCkgID0gTWF0Y2ggYSBlbmQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICkgID0gRW5kIEdyb3VwXG4gICAgICAgICAgICAgICpcXCkgPSBNYXRjaCBhbnl0aGluZyBhbmQgdGhlbiBhIGNsb3NlIHBhcmVuc1xuICAgICAgICAgICkgID0gQ2xvc2Ugbm9uLWNhcHR1cmluZyBncm91cFxuICAgICAgICAgICogID0gTWF0Y2ggYW55dGhpbmdcbiAgICAgICApICA9IENsb3NlIGNhcHR1cmluZyBncm91cFxuXHQgXFwpICA9IE1hdGNoIGEgY2xvc2UgcGFyZW5zXG5cblx0IC9naSAgPSBHZXQgYWxsIG1hdGNoZXMsIG5vdCB0aGUgZmlyc3QuICBCZSBjYXNlIGluc2Vuc2l0aXZlLlxuXHQgKi9cblx0dmFyIGZpeGVkQ3NzID0gY3NzLnJlcGxhY2UoL3VybFxccypcXCgoKD86W14pKF18XFwoKD86W14pKF0rfFxcKFteKShdKlxcKSkqXFwpKSopXFwpL2dpLCBmdW5jdGlvbihmdWxsTWF0Y2gsIG9yaWdVcmwpIHtcblx0XHQvLyBzdHJpcCBxdW90ZXMgKGlmIHRoZXkgZXhpc3QpXG5cdFx0dmFyIHVucXVvdGVkT3JpZ1VybCA9IG9yaWdVcmxcblx0XHRcdC50cmltKClcblx0XHRcdC5yZXBsYWNlKC9eXCIoLiopXCIkLywgZnVuY3Rpb24obywgJDEpeyByZXR1cm4gJDE7IH0pXG5cdFx0XHQucmVwbGFjZSgvXicoLiopJyQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSk7XG5cblx0XHQvLyBhbHJlYWR5IGEgZnVsbCB1cmw/IG5vIGNoYW5nZVxuXHRcdGlmICgvXigjfGRhdGE6fGh0dHA6XFwvXFwvfGh0dHBzOlxcL1xcL3xmaWxlOlxcL1xcL1xcL3xcXHMqJCkvaS50ZXN0KHVucXVvdGVkT3JpZ1VybCkpIHtcblx0XHQgIHJldHVybiBmdWxsTWF0Y2g7XG5cdFx0fVxuXG5cdFx0Ly8gY29udmVydCB0aGUgdXJsIHRvIGEgZnVsbCB1cmxcblx0XHR2YXIgbmV3VXJsO1xuXG5cdFx0aWYgKHVucXVvdGVkT3JpZ1VybC5pbmRleE9mKFwiLy9cIikgPT09IDApIHtcblx0XHQgIFx0Ly9UT0RPOiBzaG91bGQgd2UgYWRkIHByb3RvY29sP1xuXHRcdFx0bmV3VXJsID0gdW5xdW90ZWRPcmlnVXJsO1xuXHRcdH0gZWxzZSBpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvXCIpID09PSAwKSB7XG5cdFx0XHQvLyBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgYmFzZSB1cmxcblx0XHRcdG5ld1VybCA9IGJhc2VVcmwgKyB1bnF1b3RlZE9yaWdVcmw7IC8vIGFscmVhZHkgc3RhcnRzIHdpdGggJy8nXG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIGN1cnJlbnQgZGlyZWN0b3J5XG5cdFx0XHRuZXdVcmwgPSBjdXJyZW50RGlyICsgdW5xdW90ZWRPcmlnVXJsLnJlcGxhY2UoL15cXC5cXC8vLCBcIlwiKTsgLy8gU3RyaXAgbGVhZGluZyAnLi8nXG5cdFx0fVxuXG5cdFx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCB1cmwoLi4uKVxuXHRcdHJldHVybiBcInVybChcIiArIEpTT04uc3RyaW5naWZ5KG5ld1VybCkgKyBcIilcIjtcblx0fSk7XG5cblx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCBjc3Ncblx0cmV0dXJuIGZpeGVkQ3NzO1xufTtcbiIsInZhciBnO1xuXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxuZyA9IChmdW5jdGlvbigpIHtcblx0cmV0dXJuIHRoaXM7XG59KSgpO1xuXG50cnkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIGV2YWwgaXMgYWxsb3dlZCAoc2VlIENTUClcblx0ZyA9IGcgfHwgbmV3IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKTtcbn0gY2F0Y2ggKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpIGcgPSB3aW5kb3c7XG59XG5cbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90aGluZyBoZXJlLCBzbyBpdCdzXG4vLyBlYXNpZXIgdG8gaGFuZGxlIHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XG5cbm1vZHVsZS5leHBvcnRzID0gZztcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obW9kdWxlKSB7XG5cdGlmICghbW9kdWxlLndlYnBhY2tQb2x5ZmlsbCkge1xuXHRcdG1vZHVsZS5kZXByZWNhdGUgPSBmdW5jdGlvbigpIHt9O1xuXHRcdG1vZHVsZS5wYXRocyA9IFtdO1xuXHRcdC8vIG1vZHVsZS5wYXJlbnQgPSB1bmRlZmluZWQgYnkgZGVmYXVsdFxuXHRcdGlmICghbW9kdWxlLmNoaWxkcmVuKSBtb2R1bGUuY2hpbGRyZW4gPSBbXTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImxvYWRlZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5sO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwiaWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUuaTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRtb2R1bGUud2VicGFja1BvbHlmaWxsID0gMTtcblx0fVxuXHRyZXR1cm4gbW9kdWxlO1xufTtcbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIFN0YXJ0IGNlbGwgZWRpdGluZ1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfG51bWJlcn0gcm93IFRoZSByb3cgaW5kZXhcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2xLZXkgVGhlIGNvbHVtbidzIGtleVxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSBrZXkgIEtleSBwcmVzc1xuICogQHBhcmFtIHtTdHJpbmd9IGNoYXIgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zdGFydEVkaXRpbmdDZWxsKGlkLCByb3csIGNvbEtleSwga2V5LCBjaGFyKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnNldEZvY3VzZWRDZWxsKE51bWJlcihyb3cpLCBjb2xLZXkpO1xuICBvcHRpb25zLmFwaS5zdGFydEVkaXRpbmdDZWxsKHtcbiAgICByb3dJbmRleDogTnVtYmVyKHJvdyksXG4gICAgY29sS2V5OiBjb2xLZXksXG4gICAga2V5UHJlc3M6IE51bWJlcihrZXkpLFxuICAgIGNoYXJQcmVzczogY2hhclxuICB9KTtcbn1cblxuLyoqXG4gKiBTdG9wIGNlbGwgZWRpdGluZyBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGNhbmNlbCB3aGVuIHRydWUgY2FuY2VsIGVkaXRzICwgc2F2ZSBlZGl0cyBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3N0b3BFZGl0aW5nKGlkLCBjYW5jZWwpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc3RvcEVkaXRpbmcoY2FuY2VsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2VkaXROZXh0Q2VsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC50YWJUb05leHRDZWxsKCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZWRpdFByZXZpb3VzQ2VsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC50YWJUb1ByZXZpb3VzQ2VsbCgpO1xufVxuXG4vKipcbiAqIFNldCBGb2N1cyBvbiB0aGUgZ2l2ZW4gcm93IGFuZCBjb2x1bW5cbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IHJvdyBUaGUgcm93J3MgaW5kZXgvaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW4gVGhlIGNvbHVtbiBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Rm9jdXNlZENlbGwoaWQsIHJvdywgY29sdW1uKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCByID0gIXJvdyA/IDAgOiAoTnVtYmVyLmlzSW50ZWdlcigrcm93KSA/ICtyb3cgOiBvcHRpb25zLmFwaS5nZXRSb3dOb2RlKHJvdykucm93SW5kZXgpO1xuICBjb25zdCBjID0gY29sdW1uID8gY29sdW1uIDogb3B0aW9ucy5jb2x1bW5BcGkuZ2V0QWxsR3JpZENvbHVtbnMoKVswXS5jb2xJZDtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0Rm9jdXNlZENlbGwociwgYyk7XG59XG5cbi8qKlxuICogR2V0IFJhbmdlIFNlbGVjdGlvbnNcbiAqIFxuICogVGhlIG1ldGhvZCB3aWxsIGNyZWF0ZSBhIHJhbmdlIGpzb24gbW9kZWwgZm9yIGVhY2ggcmFuZ2Ugd2hpY2ggY2FuIGJlIHBhcnNlZCBpbiBCQmogc2lkZS5cbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBzZWxlY3RlZCByYW5nZXMgYXMgSlNPTlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0UmFuZ2VTZWxlY3Rpb25zKGlkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBjb250ZXh0ID0gb3B0aW9ucy5jb250ZXh0O1xuICBjb25zdCBhcGkgPSBvcHRpb25zLmFwaTtcbiAgY29uc3QgcmFuZ2VzID0gYXBpLmdldENlbGxSYW5nZXMoKTtcbiAgY29uc3QgbW9kZWwgPSBhcGkuZ2V0TW9kZWwoKTtcbiAgbGV0IHJlc3VsdCA9IFtdO1xuXG4gIHJhbmdlcy5mb3JFYWNoKHJhbmdlID0+IHtcblxuICAgIC8vIGNvbnN0IHN0YXJ0ID0gZ3dfcGFyc2VOb2RlKG1vZGVsLmdldFJvdyhyYW5nZS5zdGFydFJvdy5yb3dJbmRleCksIG9wdGlvbnMuY29udGV4dCk7XG4gICAgLy8gY29uc3QgZW5kID0gZ3dfcGFyc2VOb2RlKG1vZGVsLmdldFJvdyhyYW5nZS5lbmRSb3cucm93SW5kZXgpLCBvcHRpb25zLmNvbnRleHQpO1xuXG4gICAgLy9pZiAoc3RhcnQgIT09IGZhbHNlICYmIGVuZCAhPT0gZmFsc2UpIHtcbiAgICBjb25zdCBjb2x1bW5zID0gcmFuZ2UuY29sdW1ucy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50KSA9PiB7XG5cbiAgICAgIGlmIChcImFnLUdyaWQtQXV0b0NvbHVtblwiICE9PSBjdXJyZW50LmNvbElkKSB7XG4gICAgICAgIGFjY3VtdWxhdG9yLnB1c2goY3VycmVudC5jb2xJZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICB9LCBbXSkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgY29uc3Qgc3RhckluZGV4ID0gTWF0aC5taW4ocmFuZ2Uuc3RhcnRSb3cucm93SW5kZXgsIHJhbmdlLmVuZFJvdy5yb3dJbmRleCk7XG4gICAgY29uc3QgZW5kSW5kZXggPSBNYXRoLm1heChyYW5nZS5zdGFydFJvdy5yb3dJbmRleCwgcmFuZ2UuZW5kUm93LnJvd0luZGV4KTtcbiAgICBjb25zdCByb3dzID0gW107XG5cbiAgICBmb3IgKGxldCByb3dJbmRleCA9IHN0YXJJbmRleDsgcm93SW5kZXggPD0gZW5kSW5kZXg7IHJvd0luZGV4KyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBtb2RlbC5nZXRSb3cocm93SW5kZXgpO1xuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkTm9kZSA9IGd3X3BhcnNlTm9kZShub2RlLCBjb250ZXh0KTtcbiAgICAgICAgaWYgKHBhcnNlZE5vZGUpIHJvd3MucHVzaChwYXJzZWROb2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocm93cy5sZW5ndGggJiYgY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgcjogcm93cywgYzogY29sdW1ucyB9KTtcbiAgICB9XG4gICAgLy99XG4gIH0pO1xuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShyZXN1bHQpO1xufVxuXG4vKipcbiAqIFBhcnNlIHRoZSBjZWxscyByYW5nZSBpbiBhIGZvcm1hdCB0aGUgZ3JpZCBjYW4gdW5kZXJzdGFuZCB3aGVuIGl0IGlzIHBhc3NlZCBcbiAqIHRvIGBhcGkuYWRkQ2VsbFJhbmdlYFxuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gcmFuZ2UgIGJvdW5kZWQgb3IgdW5ib3VuZGVkIHJhbmdlIG1vZGVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19wYXJzZUFkZENlbGxSYW5nZShpZCAsIHJhbmdlKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBwciA9IGRlZXBQYXJzZUpzb24oSlNPTi5zdHJpbmdpZnkocmFuZ2UpKTtcbiAgY29uc3Qgc3RhcnQgPSAhKHByLnN0YXJ0IHx8IG51bGwpID9cbiAgICAwIDogKE51bWJlci5pc0ludGVnZXIoK3ByLnN0YXJ0KSA/ICtwci5zdGFydCA6IG9wdGlvbnMuYXBpLmdldFJvd05vZGUocHIuc3RhcnQpLnJvd0luZGV4KTtcbiAgY29uc3QgZW5kID0gIShwci5lbmQgfHwgbnVsbCkgP1xuICAgIChvcHRpb25zLnJvd0RhdGEubGVuZ3RoIC0gMSkgOiAoTnVtYmVyLmlzSW50ZWdlcigrcHIuZW5kKSA/ICtwci5lbmQgOiBvcHRpb25zLmFwaS5nZXRSb3dOb2RlKHByLmVuZCkucm93SW5kZXgpO1xuXG4gIHJldHVybiB7XG4gICAgcm93U3RhcnRJbmRleDogTWF0aC5hYnMoc3RhcnQpLFxuICAgIHJvd0VuZEluZGV4OiBNYXRoLmFicyhlbmQpLFxuICAgIGNvbHVtbnM6IHByLmNvbHVtbnNcbiAgfTtcbn1cbi8qKlxuICogQWRkIG5ldyBjZWxsIHJhbmdlXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSByYW5nZSAgYm91bmRlZCBvciB1bmJvdW5kZWQgcmFuZ2UgbW9kZWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZENlbGxSYW5nZShpZCwgcmFuZ2UpIHtcbiAgb3B0aW9ucy5hcGkuYWRkQ2VsbFJhbmdlKGd3X3BhcnNlQWRkQ2VsbFJhbmdlKGlkLCByYW5nZSkpO1xufVxuXG4vKipcbiAqIENsZWFycyB0aGUgc2VsZWN0ZWQgcmFuZ2UuXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2NsZWFyUmFuZ2VTZWxlY3Rpb24oaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuY2xlYXJSYW5nZVNlbGVjdGlvbigpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGNoYXJ0IHRvb2xiYXIgaXRlbXMgZGVmaW5lZCBpbiB0aGUgZ3JpZCdzIGNvbnRleHQgXG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgXG4gKiBAcmV0dXJucyB7QXJyYXl9IGFycmF5IG9mIHN1cHBvcnRlZCBjaGFydCBpdGVtc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Q2hhcnRUb29sYmFySXRlbXMocGFyYW1zKSB7XG4gIHJldHVybiBwYXJhbXNcbiAgICAuYXBpXG4gICAgLmdyaWRPcHRpb25zV3JhcHBlclxuICAgIC5ncmlkT3B0aW9uc1xuICAgIC5jb250ZXh0XG4gICAgLmNoYXJ0VG9vbGJhckl0ZW1zIHx8IFtdO1xufVxuXG4vKipcbiAqIEFkZCBuZXcgY2hhcnQgcmFuZ2VcbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IHJhbmdlICBib3VuZGVkIG9yIHVuYm91bmRlZCByYW5nZSBtb2RlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkQ2hhcnRSYW5nZShpZCwgcmFuZ2UpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IHByID0gZGVlcFBhcnNlSnNvbihKU09OLnN0cmluZ2lmeShjZWxsUmFuZ2UpKTtcbiAgY29uc3Qgc3RhcnQgPSAhKHByLnN0YXJ0IHx8IG51bGwpID9cbiAgICAwIDogKE51bWJlci5pc0ludGVnZXIoK3ByLnN0YXJ0KSA/ICtwci5zdGFydCA6IG9wdGlvbnMuYXBpLmdldFJvd05vZGUocHIuc3RhcnQpLnJvd0luZGV4KTtcbiAgY29uc3QgZW5kID0gIShwci5lbmQgfHwgbnVsbCkgP1xuICAgIChvcHRpb25zLnJvd0RhdGEubGVuZ3RoIC0gMSkgOiAoTnVtYmVyLmlzSW50ZWdlcigrcHIuZW5kKSA/ICtwci5lbmQgOiBvcHRpb25zLmFwaS5nZXRSb3dOb2RlKHByLmVuZCkucm93SW5kZXgpO1xuXG4gIG9wdGlvbnMuYXBpLmFkZENlbGxSYW5nZSh7XG4gICAgcm93U3RhcnRJbmRleDogTWF0aC5hYnMoc3RhcnQpLFxuICAgIHJvd0VuZEluZGV4OiBNYXRoLmFicyhlbmQpLFxuICAgIGNvbHVtbnM6IHByLmNvbHVtbnNcbiAgfSk7XG59IiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmNvbnN0IHsgZGVlcFBhcnNlSnNvbiB9ID0gcmVxdWlyZShcImRlZXAtcGFyc2UtanNvblwiKTtcblxuLyoqXG4gKiBFeHRlbmQgdGhlIGNvbHVtbiBkZWZpbml0aW9uc1xuICogXG4gKiBFeHRlbmQgdGhlIGNvbHVtbiBkZWZpbml0aW9ucyB3aXRoIG9wdGlvbnMgd2hpY2ggY2FuIG5vdCBiZSBoYW5kbGVkIGluIEJCalxuICogKGV4OiBhdHRhY2hpbmcgY2FsbGJhY2tzKVxuICogXG4gKiBAcGFyYW0ge0FycmF5fSBkZWZpbml0aW9ucyBhcnJheSBvZiBjb2x1bW4gZGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGRlZmluaXRpb25zKSB7XG5cbiAgZm9yIChsZXQgaSBpbiBkZWZpbml0aW9ucykge1xuICAgIGNvbnN0IGRlZiA9IGRlZmluaXRpb25zW2ldO1xuXG4gICAgZGVmLmNoZWNrYm94U2VsZWN0aW9uID0gZGVmLmNoZWNrYm94U2VsZWN0aW9uIHx8IGd3X2lzU2hvd1NlbGVjdGlvbkNoZWNrYm94O1xuICAgIGRlZi5oZWFkZXJDaGVja2JveFNlbGVjdGlvbiA9IGRlZi5oZWFkZXJDaGVja2JveFNlbGVjdGlvbiB8fCBnd19pc0hlYWRlckNoZWNrYm94U2VsZWN0aW9uO1xuICB9XG59XG5cbi8qKlxuICogVXBkYXRlIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnMgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtBcnJheX0gZGVmaW5pdGlvbnMgYXJyYXkgb2YgY29sdW1uIGRlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRDb2x1bW5EZWZpbml0aW9ucyhpZCwgZGVmaW5pdGlvbnMpIHtcbiAgY29uc3QgZ3JpZCA9IGd3X2dldEdyaWQoaWQpO1xuICBjb25zdCBkZWVwUGFyc2VkRGVmaW5pdGlvbnMgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KGRlZmluaXRpb25zKSk7XG5cbiAgZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMoZGVlcFBhcnNlZERlZmluaXRpb25zKTtcblxuICBncmlkLm9wdGlvbnMuYXBpLnNldENvbHVtbkRlZnMoZGVlcFBhcnNlZERlZmluaXRpb25zKTtcbiAgZ3JpZC5vcHRpb25zLmNvbHVtbkRlZnMgPSBkZWVwUGFyc2VkRGVmaW5pdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zaXplQ29sdW1uc1RvRml0KGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNpemVDb2x1bW5zVG9GaXQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFZpc2libGVDb2x1bW4oaWQsIGNvbHVtbklkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmVuc3VyZUNvbHVtblZpc2libGUoY29sdW1uSWQpO1xufVxuXG4vKipcbiAqIFNldCBDb2x1bW4gV2lkdGhcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5JZCBUaGUgY29sdW1uIGlkXG4gKiBAcGFyYW0ge051bWJlcnxTdHJpbmd9IHdpZHRoIFRoZSBuZXcgY29sdW1uIHdpZHRoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRDb2x1bW5XaWR0aChpZCwgY29sdW1uSWQsIHdpZHRoKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnNldENvbHVtbldpZHRoKGNvbHVtbklkLCBOdW1iZXIod2lkdGgpKTtcbn1cblxuLyoqXG4gKiBQaW4gQ29sdW1uXG4gKlxuICogUGluIGEgY29sdW1uIHRvIGEgc3BlY2lmaWMgZGlyZWN0aW9uXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtTdHJpbmd9IHBpbiBUaGUgcGluIGRpcmVjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcGluQ29sdW1uKGlkLCBjb2x1bW5JZCwgcGluKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnNldENvbHVtblBpbm5lZChjb2x1bW5JZCwgcGluKTtcbn1cblxuLyoqXG4gKiBNb3ZlIENvbHVtblxuICpcbiAqIE1vdmUgY29sdW1uIHRvIGEgc3BlY2lmaWMgaW5kZXhcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5JZCBUaGUgY29sdW1uIGlkXG4gKiBAcGFyYW0ge051bWJlcnxTdHJpbmd9IHRvSW5kZXggVGhlIG5ldyBjb2x1bW4gaW5kZXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X21vdmVDb2x1bW4oaWQsIGNvbHVtbklkLCB0b0luZGV4KSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLm1vdmVDb2x1bW4oY29sdW1uSWQsIHRvSW5kZXgpO1xufVxuXG4vKipcbiAqIFNob3cgLyBIaWRlIHNlbGVjdGlvbiBjaGVja2JveCBiYXNlZCBvbiB0aGUgZmlyc3QgY29sdW1uXG4gKlxuICogVGhlIGZ1bmN0aW9uIG1ha2Ugc3VyZSB0aGF0IHRoZSBzZWxlY3Rpb24gY2hlY2tib3ggaXMgYWx3YXlzIHNob3duIG9uIHRoZVxuICogZmlyc3QgY29sdW1uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhcmFtXG4gKlxuICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIGZpcnN0IGNvbHVtbiAsIGZhbHNlIGlmIG5vdCB0aGUgZmlyc3QgY29sdW1uIG9yIGlmIHRoZVxuICogICAgICAgICAgICAgICAgICAgZ3JpZCdzIGBDb250ZXh0LnNob3dTZWxlY3Rpb25DaGVja2JveGAgaXMgZmFsc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2lzU2hvd1NlbGVjdGlvbkNoZWNrYm94KHBhcmFtKSB7XG4gIGlmICghcGFyYW0uY29udGV4dC5zaG93U2VsZWN0aW9uQ2hlY2tib3gpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBjb2x1bW5zID0gcGFyYW0uY29sdW1uQXBpLmdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zKCk7XG5cbiAgcmV0dXJuIGNvbHVtbnNbMF0uY29sRGVmLmZpZWxkID09PSBwYXJhbS5jb2xEZWYuZmllbGQ7XG59XG5cbi8qKlxuICogU2hvdyAvIEhpZGUgaGVhZGVyIHNlbGVjdGlvbiBjaGVja2JveCBiYXNlZCBvbiB0aGUgZmlyc3QgY29sdW1uXG4gKlxuICogVGhlIGZ1bmN0aW9uIG1ha2Ugc3VyZSB0aGF0IHRoZSBoZWFkZXIgc2VsZWN0aW9uIGNoZWNrYm94IGlzIGFsd2F5cyBzaG93biBvbiB0aGVcbiAqIGZpcnN0IGNvbHVtblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbVxuICpcbiAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBmaXJzdCBjb2x1bW4gLCBmYWxzZSBpZiBub3QgdGhlIGZpcnN0IGNvbHVtbiBvciBpZiB0aGVcbiAqICAgICAgICAgICAgICAgICAgIGdyaWQncyBgQ29udGV4dC5zaG93SGVhZGVyU2VsZWN0aW9uQ2hlY2tib3hgIGlzIGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19pc0hlYWRlckNoZWNrYm94U2VsZWN0aW9uKHBhcmFtKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBwYXJhbS5hcGkuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLmNvbnRleHQ7XG5cbiAgaWYgKCFjb250ZXh0LnNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveCkgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBwYXJhbS5jb2x1bW5BcGkuZ2V0QWxsRGlzcGxheWVkVmlydHVhbENvbHVtbnMoKTtcblxuICByZXR1cm4gY29sdW1uc1swXS5jb2xEZWYuZmllbGQgPT09IHBhcmFtLmNvbERlZi5maWVsZDtcbn1cblxuLyoqXG4gKiBFbmFibGUgcm93IGdyb3VwaW5nIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHNldCAgV2hlbiB0cnVlICwgYHNldFJvd0dyb3VwQ29sdW1uc2Agd2lsbCBiZSB1c2VkICwgYGFkZFJvd0dyb3VwQ29sdW1uc2Agb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRSb3dHcm91cENvbHVtbihpZCwgY29sdW1ucywgc2V0KSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpW3NldCA/IFwic2V0Um93R3JvdXBDb2x1bW5zXCIgOiBcImFkZFJvd0dyb3VwQ29sdW1uc1wiXShcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG5cbi8qKlxuICogRGlzYWJsZSByb3cgZ3JvdXBpbmcgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVJvd0dyb3VwQ29sdW1uKGlkLCBjb2x1bW5zKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnJlbW92ZVJvd0dyb3VwQ29sdW1ucyhcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRQaXZvdE1vZGUoaWQpIHtcbiAgcmV0dXJuIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLmlzUGl2b3RNb2RlKCk7XG59XG5cbi8qKlxuICogRW5hYmxlIC8gZGlzYmFsZSBwaXZvdCBtb2RlIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gbW9kZSB3aGVuIHRydWUgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRQaXZvdE1vZGUoaWQsIG1vZGUpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuc2V0UGl2b3RNb2RlKCEhTnVtYmVyKG1vZGUpKTtcbn1cblxuLyoqXG4gKiBFbmFibGUgcGl2b3QgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gc2V0ICBXaGVuIHRydWUgLCBgYWRkUGl2b3RDb2x1bW5zYCB3aWxsIGJlIHVzZWQgLCBgc2V0UGl2b3RDb2x1bW5zYCBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZFBpdm90Q29sdW1ucyhpZCwgY29sdW1ucywgc2V0KSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpW3NldCA/IFwic2V0UGl2b3RDb2x1bW5zXCIgOiBcImFkZFBpdm90Q29sdW1uc1wiXShcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG5cbi8qKlxuICogRGlzYWJsZSBwaXZvdCBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcmVtb3ZlUGl2b3RDb2x1bW5zKGlkLCBjb2x1bW5zKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnJlbW92ZVBpdm90Q29sdW1ucyhcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG5cbi8qKlxuICogRW5hYmxlIHZhbHVlIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRWYWx1ZUNvbHVtbnMoaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5hZGRWYWx1ZUNvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgdmFsdWUgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVZhbHVlQ29sdW1ucyhpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVWYWx1ZUNvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogVXBkYXRlIGNvbnRleHQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtTdHJpbmd9IGtleSBUaGUgY29udGV4dCdzIGtleSB0byB1cGRhdGVcbiAqIEBwYXJhbSB7U3RyaW5nfSB2YWx1ZSAgVGhlIG5ldyBjb250ZXh0J3MgdmFsdWUgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd191cGRhdGVDb250ZXh0KGlkLCBrZXksIHZhbHVlKSB7XG5cdGd3X2dldEdyaWQoaWQpXG5cdFx0Lm9wdGlvbnNcblx0XHQuY29udGV4dFtrZXldID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5pdC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3dzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xwYW5lbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1c2Jhci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL292ZXJsYXlzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2pzcy5qcyc7IiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbmltcG9ydCB7IGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zIH0gZnJvbSBcIi4vY29sdW1uc1wiO1xuaW1wb3J0IHsgZ3dfbmF2aWdhdGVUb05leHRSb3cgfSAgICAgICBmcm9tIFwiLi9yb3dzXCI7XG5pbXBvcnQgeyBnd19nZXRDb250ZXh0TWVudSB9ICAgICAgICAgIGZyb20gXCIuL21lbnVzXCI7XG5pbXBvcnQgeyBnd19nZXRDaGFydFRvb2xiYXJJdGVtcyB9ICAgIGZyb20gXCIuL2NoYXJ0c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQsIGd3X2FkZEdyaWR9ICBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIGd3X29uUm93RG91YmxlQ2xpY2tlZCxcbiAgZ3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuICBnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCxcbiAgZ3dfb25DZWxsQ2xpY2tFdmVudCxcbiAgZ3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuICBnd19vblJvd0VkaXRpbmdFdmVudCxcbiAgZ3dfb25SZWFkeUV2ZW50LFxuICBnd19kZWJvdW5jZVxufSBmcm9tIFwiZXZlbnRzXCI7XG5cbmNvbnN0IHsgZGVlcFBhcnNlSnNvbiB9ID0gcmVxdWlyZShcImRlZXAtcGFyc2UtanNvblwiKTtcbmNvbnN0IHRlbXBsYXRlICAgICAgICAgID0gcmVxdWlyZSgnbG9kYXNoL3RlbXBsYXRlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19pbml0KG9wdGlvbnMsIGxpY2Vuc2UgLCBkYXRhKSB7XG4gIFxuICAvLyBzZXQgdGhlIGxpY2Vuc2Uga2V5IGZvciBlbnRlcnByaXNlIHZlcnNpb25cbiAgaWYgKGFnR3JpZC5MaWNlbnNlTWFuYWdlciAmJiBsaWNlbnNlKVxuICAgIGFnR3JpZC5MaWNlbnNlTWFuYWdlci5zZXRMaWNlbnNlS2V5KGxpY2Vuc2UpO1xuXG4gIGNvbnN0IGlkICAgICAgICAgICAgICA9IG9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgY29udGFpbmVyICAgICAgID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChpZCk7XG4gIC8vIHdlIG1ha2UgdGhlIGdyaWQgb3B0aW9ucyBhdmFpbGFibGUgYXMgc29vbiBhcyBwb3NzaWJsZSBcbiAgY29uc3QgZ3JpZCAgICAgICAgICAgID0gZ3dfYWRkR3JpZChpZCwge1xuICAgIGNvbnRhaW5lcixcbiAgICBvcHRpb25zXG4gIH0pO1xuXG4gIC8vIFRPRE86IHVzZSBhZyBncmlkIGRlc3Ryb3lcbiAgY29udGFpbmVyLmlubmVySFRNTCAgID0gJyc7XG5cbiAgY29uc3QgcGFyc2VkT3B0aW9ucyAgID0gZ3dfcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICBwYXJzZWRPcHRpb25zLnJvd0RhdGEgPSBkYXRhO1xuXG4gIGNvbnN0IGluc3RhbmNlICAgICAgICA9IG5ldyBhZ0dyaWQuR3JpZChjb250YWluZXIsIHBhcnNlZE9wdGlvbnMpO1xuICBncmlkLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIGdyaWQub3B0aW9ucyAgPSBwYXJzZWRPcHRpb25zO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGAlYyBHcmlkIFske2lkfV0gc2V0dGluZ3MgOiBgXG4gICAgLCAnYmFja2dyb3VuZDogIzIyMjsgY29sb3I6ICNiYWRhNTUnXG4gICAgLCBwYXJzZWRPcHRpb25zXG4gICk7XG59XG5cbi8qKlxuICogUGFyc2UgT3B0aW9uc1xuICogXG4gKiBQYXJzZSB0aGUgZ3JpZCBvcHRpb25zIGFuZCByZXR1cm4gXG4gKiBhbiBvYmplY3Qgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byB0aGUgZ3JpZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBHcmlkIG9wdGlvbnMgYXMgSnNvbiBPYmplY3RcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBvcHRpb25zIG9iamVjdFxuICovXG5mdW5jdGlvbiBnd19wYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICBjb25zdCBkZWVwUGFyc2VkT3B0aW9ucyAgICAgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgY29uc3QgaWQgICAgICAgICAgICAgICAgICAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZSAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5nZXREYXRhUGF0aCB8fCBcIlwiO1xuICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRvIGNvbnRyb2wgdGhpcyBzZXR0aW5nIGZyb20gQkJqID9cbiAgY29uc3QgZGVib3VuY2VEdXJhdGlvbiAgICAgID0gMjUwO1xuICBjb25zdCBmaW5hbE9wdGlvbnMgPSB7XG4gICAgLi4uZGVlcFBhcnNlZE9wdGlvbnMgLFxuICAgIC4uLntcbiAgICAgIGdldERvY3VtZW50OiAgICAgICAgICAgICgpICAgICA9PiAgIGd3X2dldERvY3VtZW50KCksXG4gICAgICBvbkNlbGxFZGl0aW5nU3RhcnRlZDogICBlICAgICAgPT4geyBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRWRpdGluZ1N0b3BwZWQ6ICAgZSAgICAgID0+IHsgZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbFZhbHVlQ2hhbmdlZDogICAgIGUgICAgICA9PiB7IGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvblJvd0VkaXRpbmdTdGFydGVkOiAgICBlICAgICAgPT4geyBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25Sb3dFZGl0aW5nU3RvcHBlZDogICAgZSAgICAgID0+IHsgZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uUm93VmFsdWVDaGFuZ2VkOiAgICAgIGUgICAgICA9PiB7IGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkNlbGxDbGlja2VkOiAgICAgICAgICBlICAgICAgPT4geyBnd19vbkNlbGxDbGlja0V2ZW50KGlkLCBlKSAgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRG91YmxlQ2xpY2tlZDogICAgZSAgICAgID0+IHsgZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkgICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uR3JpZFJlYWR5OiAgICAgICAgICAgIGUgICAgICA9PiB7IGd3X29uUmVhZHlFdmVudChpZCwgZSkgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBnZXRSb3dOb2RlSWQ6ICAgICAgICAgICBkYXRhICAgPT4gICBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgZ2V0Q29udGV4dE1lbnVJdGVtczogICAgcGFyYW1zID0+ICAgZ3dfZ2V0Q29udGV4dE1lbnUoaWQsIHBhcmFtcykgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIFwiZ2V0Q2hhcnRUb29sYmFySXRlbXNcIjogICAgICAgICAgICAgZ3dfZ2V0Q2hhcnRUb29sYmFySXRlbXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIFwicG9wdXBQYXJlbnRcIjogICAgICAgICAgICAgICAgICAgICAgZ3dfZ2V0RG9jdW1lbnQoKS5ib2R5LFxuICAgICAgXCJvblJvd0RvdWJsZUNsaWNrZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJvd0RvdWJsZUNsaWNrZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblNlbGVjdGlvbkNoYW5nZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblNlbGVjdGlvbkNoYW5nZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblJhbmdlU2VsZWN0aW9uQ2hhbmdlZFwiOiAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCAsIGRlYm91bmNlRHVyYXRpb24pICAsXG4gICAgICBcImNvbXBvbmVudHNcIjoge1xuICAgICAgICBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0Jvb2xlYW5zUmVuZGVyZXIsXG4gICAgICAgIFwiQmFzaWNCb29sZWFuc0VkaXRvclwiICAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljQm9vbGVhbnNFZGl0b3IgICxcbiAgICAgICAgXCJCYXNpY0Jvb2xlYW5zRmlsdGVyXCIgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNCb29sZWFuc0ZpbHRlciAgLFxuICAgICAgICBcIkJhc2ljTnVtYmVyc0VkaXRvclwiICAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY051bWJlcnNFZGl0b3IgICAsXG4gICAgICAgIFwiQmFzaWNEYXRlVGltZXNFZGl0b3JcIiAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljRGF0ZVRpbWVzRWRpdG9yICxcbiAgICAgICAgXCJCYXNpY0RhdGVUaW1lc0ZpbHRlclwiICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNEYXRlVGltZXNGaWx0ZXIgLFxuICAgICAgICBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIiAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0ltYWdlc1JlbmRlcmVyICAsXG4gICAgICAgIC8vIGxvZGFzaCB0ZW1wbGF0ZSByZW5kZXJcbiAgICAgICAgXCJHV0N1c3RvbUhUTUxUZW1wbGF0ZVJlbmRlcmVyXCI6IHBhcmFtcyA9PiB7XG4gICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0ZW1wbGF0ZShwYXJhbXMuX19URU1QTEFURV9fKTtcbiAgICAgICAgICByZXR1cm4gY29tcGlsZWQoeyBwYXJhbXM6IHBhcmFtcyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBpZiAoXG4gICAgZmluYWxPcHRpb25zLmNvbnRleHQuaGFzT3duUHJvcGVydHkoXCJuYXZpZ2F0ZVRvTmV4dENlbGxcIikgJiZcbiAgICBmaW5hbE9wdGlvbnMuY29udGV4dC5uYXZpZ2F0ZVRvTmV4dENlbGxcbiAgKSB7XG4gICAgZmluYWxPcHRpb25zLm5hdmlnYXRlVG9OZXh0Q2VsbCA9IHBhcmFtcyA9PiB7IHJldHVybiBnd19uYXZpZ2F0ZVRvTmV4dFJvdyhpZCwgcGFyYW1zKSB9O1xuICB9XG5cbiAgaWYgKGdldERhdGFQYXRoVGVtcGxhdGUgJiYgZmluYWxPcHRpb25zLnRyZWVEYXRhKSB7XG4gICAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkID0gdGVtcGxhdGUoZ2V0RGF0YVBhdGhUZW1wbGF0ZSk7XG4gICAgZmluYWxPcHRpb25zLmdldERhdGFQYXRoID0gZGF0YSA9PiBnZXREYXRhUGF0aFRlbXBsYXRlQ29tcGxpZWQoeyBkYXRhOiBkYXRhIH0pO1xuICB9XG5cbiAgLy8gZXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAgZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMoZmluYWxPcHRpb25zLmNvbHVtbkRlZnMpO1xuXG4gIHJldHVybiBmaW5hbE9wdGlvbnM7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgJ2V4cG9zZS1sb2FkZXI/anNzIWpzcy9qc3MuanMnO1xuaW1wb3J0IHtnd19nZXREb2N1bWVudH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogRm9ybWF0ZSB0aGUgY3NzIHNlbGVjdG9yIFxuICogXG4gKiBDaGVjayBpZiB0aGUgY3NzIHNlbGVjdG9yIHN0YXJ0cyB3aXRoIGRvdCAsIGlmIG5vdCBhZGQgb25lIGFuZCByZXR1cm4gdGhlIFxuICogZm9ybWF0dGVkIG5hbWUgXG4gKiBcbiAqIEBwYXJhbSB7Kn0gc2VsZWN0b3IgXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKXtcbiAgcmV0dXJuIHNlbGVjdG9yLnN0YXJ0c1dpdGgoXCIuXCIpID8gc2VsZWN0b3IgOiBgLiR7c2VsZWN0b3J9YDtcbn1cblxuLyoqXG4gKiBBZGQgbmV3IHN0eWxlIFxuICogXG4gKiBBZGQgbmV3IHN0eWxlIHRvIHRoZSBkb2N1bWVudCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yIGNzcyBzZWxlY3RvclxuICogQHBhcmFtIHtTdHJpbmd9IHJ1bGVzIEpzb24gc3RyaW5nIGZvciBhbiBhcnJheSBvZiBydWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3R5bGUoc2VsZWN0b3IsIHJ1bGVzKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5zZXQoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpLCBKU09OLnBhcnNlKHJ1bGVzKSk7XG59XG5cbi8qKlxuICogUmVtb3ZlIHN0eWxlXG4gKiBcbiAqIFJlbW92ZSBhZGRlZCBzdHlsZSBmcm9tIHRoZXMgZG9jdW1lbnQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBjc3Mgc2VsZWN0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVN0eWxlKHNlbGVjdG9yKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5yZW1vdmUoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiXG5pbXBvcnQge1xuICBnd19wYXJzZU5vZGVGcm9tRXZlbnQsXG4gIGd3X3NlbmRFdmVudFxufSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Q29udGV4dE1lbnUoZ3JpZElkLCBwYXJhbXMpIHtcblxuICBjb25zdCBidWlsZENvbnRleHRNZW51QWN0aW9uID0gKHBhcmFtcywgaWQpID0+IHtcblxuICAgIHJldHVybiAoKSA9PiB7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQocGFyYW1zKTtcbiAgICAgIGNvbnN0IGNvbElkID0gcGFyYW1zLmNvbHVtbi5jb2xJZDtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICBnd19zZW5kRXZlbnQoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dCwge1xuICAgICAgICAndHlwZSc6ICdndy5jb250ZXh0bWVudScsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7IHI6IG5vZGUsIGM6IGNvbElkLCB2OnZhbHVlLCBpOmlkIH0pXG4gICAgICB9LCBpZCk7XG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBwYXJzZU1lbnUgPSAobWVudSkgPT4ge1xuICAgIG1lbnUuZm9yRWFjaChpdGVtID0+IHtcblxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykgcmV0dXJuO1xuXG4gICAgICBpdGVtWydhY3Rpb24nXSA9IGJ1aWxkQ29udGV4dE1lbnVBY3Rpb24ocGFyYW1zLCBpdGVtLmlkKTtcblxuICAgICAgaWYgKGl0ZW1bJ2Nzc0NsYXNzZXMnXSAmJiAhQXJyYXkuaXNBcnJheShpdGVtWydjc3NDbGFzc2VzJ10pKVxuICAgICAgICBpdGVtWydjc3NDbGFzc2VzJ10gPSBpdGVtWydjc3NDbGFzc2VzJ10uc3BsaXQoXCIgXCIpO1xuXG4gICAgICBpZiAoaXRlbVsnc3ViTWVudSddKSBpdGVtWydzdWJNZW51J10gPSBwYXJzZU1lbnUoaXRlbVsnc3ViTWVudSddKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtZW51O1xuICB9O1xuXG4gIHJldHVybiBwYXJzZU1lbnUoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dC5jb250ZXh0TWVudSk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBTaG93IGxvYWRpbmcgb3ZlcmxheVxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3Nob3dMb2FkaW5nT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaG93TG9hZGluZ092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBTaG93ICdubyByb3dzJyBvdmVybGF5XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2hvd05vUm93c092ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2hvd05vUm93c092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBDbGVhciBhbGwgb3ZlcmxheXNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19oaWRlT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5oaWRlT3ZlcmxheSgpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19wYXJzZU5vZGUgfSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRRdWlja0ZpbHRlcihpZCwgZmlsdGVyKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldFF1aWNrRmlsdGVyKGZpbHRlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19leHBhbmRBbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuZXhwYW5kQWxsKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19jb2xsYXBzZUFsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5jb2xsYXBzZUFsbCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0VmlzaWJsZVJvdyhpZCwgaW5kZXgsIHBvc2l0aW9uKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmVuc3VyZUluZGV4VmlzaWJsZShpbmRleCwgcG9zaXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfbmF2aWdhdGVUb05leHRSb3coaWQsIHBhcmFtcykge1xuXG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBsZXQgcHJldmlvdXNDZWxsID0gcGFyYW1zLnByZXZpb3VzQ2VsbFBvc2l0aW9uO1xuICBsZXQgc3VnZ2VzdGVkTmV4dENlbGwgPSBwYXJhbXMubmV4dENlbGxQb3NpdGlvbjtcblxuICBjb25zdCBLRVlfVVAgPSAzODtcbiAgY29uc3QgS0VZX0RPV04gPSA0MDtcbiAgY29uc3QgS0VZX0xFRlQgPSAzNztcbiAgY29uc3QgS0VZX1JJR0hUID0gMzk7XG5cbiAgc3dpdGNoIChwYXJhbXMua2V5KSB7XG4gICAgY2FzZSBLRVlfRE9XTjpcbiAgICAgIC8vIHNldCBzZWxlY3RlZCBjZWxsIG9uIGN1cnJlbnQgY2VsbCArIDFcbiAgICAgIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlKChub2RlKSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NlbGwucm93SW5kZXggKyAxID09PSBub2RlLnJvd0luZGV4KSB7XG4gICAgICAgICAgbm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgY2FzZSBLRVlfVVA6XG4gICAgICAvLyBzZXQgc2VsZWN0ZWQgY2VsbCBvbiBjdXJyZW50IGNlbGwgLSAxXG4gICAgICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZSgobm9kZSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDZWxsLnJvd0luZGV4IC0gMSA9PT0gbm9kZS5yb3dJbmRleCkge1xuICAgICAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1Z2dlc3RlZE5leHRDZWxsO1xuICAgIGNhc2UgS0VZX0xFRlQ6XG4gICAgY2FzZSBLRVlfUklHSFQ6XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBoYXZlIHN1cGVyIHN0cmFuZ2Uga2V5Ym9hcmRcIik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFJvd05vZGVJZChpZCwgZGF0YSkge1xuICByZXR1cm4gZGF0YVtnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQuZ2V0Um93Tm9kZUlkXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd3NEYXRhKGlkLCBqc29uKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnNldFJvd0RhdGEoanNvbik7XG4gIG9wdGlvbnMucm93RGF0YSA9IGpzb247XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dEYXRhKGlkLCByb3cpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IHVwZGF0ZTogW3Jvd10gfSk7XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVSb3dzKGlkLCBpbmRleGVzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBsZXQgaXRlbXMgPSBbXTtcblxuICBpbmRleGVzLmZvckVhY2goaW5kZXggPT4ge1xuICAgIGl0ZW1zLnB1c2gob3B0aW9ucy5hcGkuZ2V0Um93Tm9kZShpbmRleCkuZGF0YSk7XG4gIH0pO1xuXG4gIG9wdGlvbnMuYXBpLnVwZGF0ZVJvd0RhdGEoeyByZW1vdmU6IGl0ZW1zIH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUm93cyhpZCwgaW5kZXgsIHJvd3MpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IGFkZDogcm93cywgYWRkSW5kZXg6IGluZGV4IH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgaGVpZ2h0IG9mIGFsbCByb3dzIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQgdGhlIHJvdyBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd3NIZWlnaHQoaWQsIGhlaWdodCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZShyb3cgPT4ge1xuICAgIHJvdy5zZXRSb3dIZWlnaHQoaGVpZ2h0KTtcbiAgfSk7XG4gIG9wdGlvbnMuYXBpLm9uUm93SGVpZ2h0Q2hhbmdlZCgpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgZ2l2ZW4gcm93IGhlaWdodCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkIFxuICogQHBhcmFtIHtOdW1iZXJ9IGluZGV4IHRoZSByb3cgaW5kZXhcbiAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQgdGhlIG5ldyBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd0hlaWdodChpZCwgaW5kZXgsIGhlaWdodCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3Qgcm93ID0gb3B0aW9ucy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChpbmRleCk7XG5cbiAgaWYgKHJvdykge1xuICAgIHJvdy5zZXRSb3dIZWlnaHQoaGVpZ2h0KTtcbiAgICBvcHRpb25zLmFwaS5vblJvd0hlaWdodENoYW5nZWQoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBzZXQgaGVpZ2h0IGZvciByb3cgJHtpbmRleH0uIFJvdyBjYW4gbm90IGJlIGZvdW5kYCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFNlbGVjdGVkUm93cyhpZCwgcm93cykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZUFmdGVyRmlsdGVyQW5kU29ydChub2RlID0+IHtcbiAgICBpZiAocm93cy5pbmRleE9mKG5vZGUucm93SW5kZXgpID4gLTEpIHtcbiAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICBvcHRpb25zLmFwaS5vbkdyb3VwRXhwYW5kZWRPckNvbGxhcHNlZCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2VsZWN0QWxsKGlkLCBmaWx0ZXJlZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBpZiAoMSA9PT0gZmlsdGVyZWQpIHtcbiAgICBvcHRpb25zLmFwaS5zZWxlY3RBbGxGaWx0ZXJlZCgpO1xuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMuYXBpLnNlbGVjdEFsbCgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19kZXNlbGVjdEFsbChpZCwgZmlsdGVyZWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgaWYgKDEgPT09IGZpbHRlcmVkKSB7XG4gICAgb3B0aW9ucy5hcGkuZGVzZWxlY3RBbGxGaWx0ZXJlZCgpO1xuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMuYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgcm93c1xuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9ICBzZWxlY3RlZCByb3dzIGFzIEpTT05cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFNlbGVjdGVkUm93cyhpZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3Qgbm9kZXMgPSBvcHRpb25zLmFwaS5nZXRTZWxlY3RlZE5vZGVzKCk7XG4gIGxldCBwYXJzZWQgPSBbXTtcblxuICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgIHBhcnNlZC5wdXNoKGd3X3BhcnNlTm9kZShub2RlLCBvcHRpb25zLmNvbnRleHQpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBhcnNlZCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBsYXN0IHNlbGVjdGVkIHJvd1xuICogXG4gKiBAcGFyYW0ge051bWJlcn0gaWQgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHNlbGVjdGVkIHJvdyBhcyBKU09OXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRTZWxlY3RlZFJvdyhpZCkge1xuICBjb25zdCByb3dzID0gSlNPTi5wYXJzZShnd19nZXRTZWxlY3RlZFJvd3MoaWQpKTtcblxuICBpZiAocm93cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocm93c1tyb3dzLmxlbmd0aCAtIDFdKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0YXRlKGlkLCBzdGF0ZSkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICB0cnkge1xuICAgIG9wdGlvbnMuY29sdW1uQXBpLnNldENvbHVtblN0YXRlKHN0YXRlLmNvbHVtbnMpO1xuICAgIG9wdGlvbnMuY29sdW1uQXBpLnNldENvbHVtbkdyb3VwU3RhdGUoc3RhdGUuZ3JvdXBzKTtcbiAgICBvcHRpb25zLmFwaS5zZXRTb3J0TW9kZWwoc3RhdGUuc29ydCk7XG4gICAgb3B0aW9ucy5hcGkuc2V0RmlsdGVyTW9kZWwoc3RhdGUuZmlsdGVycyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBwYXJzZSBncmlkIHN0YXRlIGZyb20gSlNPTicsIGUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRTdGF0ZShpZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgY29uc3QgY29sdW1ucyA9IG9wdGlvbnMuY29sdW1uQXBpLmdldENvbHVtblN0YXRlKCk7XG4gIGNvbnN0IGdyb3VwcyA9IG9wdGlvbnMuY29sdW1uQXBpLmdldENvbHVtbkdyb3VwU3RhdGUoKTtcbiAgY29uc3Qgc29ydCA9IG9wdGlvbnMuYXBpLmdldFNvcnRNb2RlbCgpO1xuICBjb25zdCBmaWx0ZXJzID0gb3B0aW9ucy5hcGkuZ2V0RmlsdGVyTW9kZWwoKTtcblxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBjb2x1bW5zLFxuICAgICAgZ3JvdXBzLFxuICAgICAgc29ydCxcbiAgICAgIGZpbHRlcnNcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIGNvbnZlcnQgdGhlIGdyaWQgc3RhdGUgdG8ganNvbicsIGUpO1xuICB9XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTdGF0dXNiYXJDb21wb25lbnRWaXNpYmlsaXR5KGlkLCBrZXksIHZpc2liaWxpdHkpIHtcblx0Z3dfZ2V0R3JpZChpZClcblx0XHQub3B0aW9uc1xuXHRcdC5hcGlcblx0XHQuZ2V0U3RhdHVzUGFuZWwoa2V5KVxuXHRcdC5zZXRWaXNpYmxlKEJvb2xlYW4odmlzaWJpbGl0eSkpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U2lkZUJhclZpc2libGUoaWQsIHZhbHVlKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldFNpZGVCYXJWaXNpYmxlKEJvb2xlYW4odmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X29wZW5Ub29scGFuZWwoZ3JpZElkLCB0b29scGFuZWxJZCkge1xuICBnd19nZXRHcmlkKGdyaWRJZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAub3BlblRvb2xQYW5lbCh0b29scGFuZWxJZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19jbG9zZVRvb2xwYW5lbChncmlkSWQsIHRvb2xwYW5lbElkKSB7XG4gIGd3X2dldEdyaWQoZ3JpZElkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5jbG9zZVRvb2xQYW5lbCh0b29scGFuZWxJZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRGdW5jdGlvbnNSZWFkT25seShpZCwgcmVhZG9ubHkpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0RnVuY3Rpb25zUmVhZE9ubHkoQm9vbGVhbihyZWFkb25seSkpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG4vKipcbiAqIEdldCBkb2N1bWVudCBcbiAqIFxuICogR2V0IHRoZSBkb2N1bWVudCBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgQkJqIGVudlxuICogXG4gKiBAcmV0dXJuIHtPYmplY3R9IERvY3VtZW50IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXREb2N1bWVudCgpIHtcbiAgcmV0dXJuIHR5cGVvZiAkZG9jICE9PSAndW5kZWZpbmVkJyA/ICRkb2MgOiBkb2N1bWVudDtcbn1cblxuLyoqXG4gKiBHZXQgd2luZG93IFxuICogXG4gKiBHZXQgdGhlIHdpbmRvdyBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgQkJqIGVudlxuICogXG4gKiBAcmV0dXJuIHtPYmplY3R9IFdpbmRvdyBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0V2luZG93KCkge1xuICByZXR1cm4gdHlwZW9mICR3aW4gIT09ICd1bmRlZmluZWQnID8gJHdpbiA6IHdpbmRvdztcbn1cblxuLyoqXG4gKiBFc2NhcGUgVmFsdWUgXG4gKiBcbiAqIENoYW5nZSBudWxsIGFuZCB1bmRlZmluZWQgdG8gZW1wdHkgc3RyaW5nIFxuICogXG4gKiBAcGFyYW0geyp9IHZhbHVlIFxuICogXG4gKiBAcmV0dXJuIHtTdHJpbmd9IGVzY2FwZWQgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2VzY2FwZSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogJyc7XG59XG5cbi8qKlxuICogR2V0IEdyaWQgXG4gKiBcbiAqIFJldHJpZXZlIHRoZSBncmlkIGluc3RhbmNlIGZyb20gYHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRgIGFycmF5IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJuIHtPYmplY3R8bnVsbH0gVGhlIGdyaWQncyBpbnN0YW5jZSBvZnIgbnVsbFxuICogQHRocm93cyBUeXBlRXJyb3Igd2hlbiB0aGUgZ3JpZCBpbnN0YW5jZSBpcyBub3QgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldEdyaWQoaWQpIHtcbiAgd2luZG93LkJCakdyaWRFeFdpZGdldCA9IHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgfHwge307XG4gIGNvbnN0IGdyaWQgPSAgd2luZG93LkJCakdyaWRFeFdpZGdldFtpZF0gfHwgbnVsbDtcblxuICBpZiAoIWdyaWQpIHtcbiAgICBjb25zdCByZWdpc3RlcmVkR3JpZHMgPSBKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyh3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0KSk7XG4gICAgLy9nZXRGdW5jQXJncyhmdW5jKS5mb3JFYWNoKChrZXksIGkpID0+IGFyZ3NPYmpba2V5XSA9IGFyZ3NbaV0pO1xuICAgIFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG5gXFxuXFxuW0dyaWQgTm90IEZvdW5kXSBUaGUgbWV0aG9kIGFza2VkIGZvciBub24tZXhpc3RlbnQgZ3JpZCBpbnN0YW5jZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcXVpcmVkIEdyaWQgSWQgOiAke2lkfSAgIFxuUmVnaXN0ZXJlZCBHcmlkcyA6ICR7cmVnaXN0ZXJlZEdyaWRzfVxuYCk7XG4gIH1cbiAgXG4gIHJldHVybiBncmlkO1xufVxuXG4vKipcbiAqIEFkZCBHcmlkIFxuICogXG4gKiBTdG9yZSBhIG5ldyBncmlkIGluc3RhbmNlIGJ5IGluIHRoZSBgd2luZG93LkJCakdyaWRFeFdpZGdldGAgYXJyYXkgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAgVGhlIGdyaWQncyBvcHRpb25zXG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gU3RvcmVkIGdyaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZEdyaWQoaWQsIG9wdGlvbnMpIHtcbiAgd2luZG93LkJCakdyaWRFeFdpZGdldCA9IHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgfHwge307XG4gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRbaWRdID0gb3B0aW9ucztcbiAgXG4gIHJldHVybiBnd19nZXRHcmlkKGlkKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8vIHNlbGVjdGlvbiBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfQ0xJQ0sgPSA2OTtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfRE9VQkxFX0NMSUNLID0gNTI7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9DTElDSyA9IDUwMDE7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9ET1VCTEVfQ0xJQ0sgPSA1MDAyO1xuXG4vLyBlZGl0aW5nIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVEID0gNTAwMztcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCA9IDUwMDQ7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9WQUxVRV9DSEFOR0VEID0gNTAwNTtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVEICA9IDUwMDY7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCA9IDUwMDc7XG5cbi8vIHN0YXRlIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFID0gNTAwODtcblxuLy8gcmFuZ2Ugc2VsZWN0aW9uXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUkFOR0VfU0VMRUNUSU9OX0NIQU5HRUQgPSA1MDA5OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQsXG4gIEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsRWRpdGluZ1N0YXJ0ZWQnICA6IEdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVELFxuICAnY2VsbEVkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCxcbiAgJ2NlbGxWYWx1ZUNoYW5nZWQnICA6IEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbn07XG5cbmNvbnN0IFJPV19FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdyb3dFZGl0aW5nU3RhcnRlZCcgIDogR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgJ3Jvd0VkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVELFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgY2VsbEVkaXRpbmdTdGFydGVkYCAsIGBjZWxsRWRpdGluZ1N0b3BwZWRgIGFuZCBcbiAqIGBjZWxsVmFsdWVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbFZhbHVlQ2hhbmdlZFxuICogXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAZmlyZXMgZ3cuY2VsbFZhbHVlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB7XG5cbiAgY29uc3QgdmFsdWUgPSBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuICBjb25zdCBvbGRWYWx1ZSA9IGd3X2VzY2FwZShlLm9sZFZhbHVlKSB8fCBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuXG4gIC8vaWYgKHZhbHVlID09PSBvbGRWYWx1ZSkgcmV0dXJuO1xuXG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcbiAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgY29uc3QgY29sSWQgPSBlLmNvbHVtbi5jb2xJZDtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgZ3dfc2VuZEV2ZW50KFxuICAgICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgICAge1xuICAgICAgICAndHlwZSc6IGBndy4ke3R5cGV9YCxcbiAgICAgICAgJ2RldGFpbCc6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICByOiBwYXJzZWQsIC8vIHJvd1xuICAgICAgICAgIHY6IHZhbHVlLCAvLyBuZXcgdmFsdWVcbiAgICAgICAgICBvOiBvbGRWYWx1ZSwgLy8gb2xkIHZhbHVlXG4gICAgICAgICAgYzogY29sSWQgLy8gY29sdW1uXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVBbdHlwZV1cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYHJvd0VkaXRpbmdTdGFydGVkYCAsIGByb3dFZGl0aW5nU3RvcHBlZGAgZXZlbnRzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cucm93RWRpdGluZ1N0b3BwZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSB7XG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgICBnd19zZW5kRXZlbnQoXG4gICAgICBnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsXG4gICAgICB7XG4gICAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeShwYXJzZWQpXG4gICAgICB9LFxuICAgICAgUk9XX0VESVRJTkdfRVZFTlRTX01BUFt0eXBlXVxuICAgICk7XG4gIH1cbn1cblxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQge1xuXHRnd19vblJvd0RvdWJsZUNsaWNrZWQsXG5cdGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcblx0Z3dfb25DZWxsQ2xpY2tFdmVudCxcblx0Z3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWRcbn0gZnJvbSBcIi4vc2VsZWN0aW9uc1wiO1xuXG5pbXBvcnQge1xuXHRnd19vbkNlbGxFZGl0aW5nRXZlbnQsXG5cdGd3X29uUm93RWRpdGluZ0V2ZW50XG59IGZyb20gXCIuL2VkaXRpbmdcIjtcblxuaW1wb3J0IHtcblx0Z3dfb25SZWFkeUV2ZW50XG59IGZyb20gXCIuL3N0YXRlXCI7XG5cbmltcG9ydCB7XG5cdGd3X2RlYm91bmNlXG59IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQge1xuXHRnd19vblJvd0RvdWJsZUNsaWNrZWQsXG5cdGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcblx0Z3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWQsXG5cdGd3X29uQ2VsbENsaWNrRXZlbnQsXG5cdGd3X29uQ2VsbEVkaXRpbmdFdmVudCxcblx0Z3dfb25Sb3dFZGl0aW5nRXZlbnQsXG5cdGd3X29uUmVhZHlFdmVudCxcblx0Z3dfZGVib3VuY2Vcbn07IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19zZW5kRXZlbnQsIGd3X3BhcnNlTm9kZUZyb21FdmVudCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfZXNjYXBlLCBnd19nZXRHcmlkIH0gZnJvbSBcImFwaS91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIEdXX0VWRU5UX1JPV19DTElDSyxcbiAgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyxcbiAgR1dfRVZFTlRfQ0VMTF9DTElDSyxcbiAgR1dfRVZFTlRfQ0VMTF9ET1VCTEVfQ0xJQ0ssXG4gIEdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jb25zdCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gICdjZWxsRG91YmxlQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLLFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgcm93RG91YmxlQ2xpY2tlZGAgZXZlbnRcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgc2VuZCBhIGJiaiBldmVudCB3aXRoIGBHV19OT0RFYCBhcyBwYXlsb2FkXG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlIFRoZSBldmVudCdzIHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0RvdWJsZUNsaWNrZWRcbiAqIEBmaXJlcyBndy5yb3dEb3VibGVDbGlja1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25Sb3dEb3VibGVDbGlja2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJvd0RvdWJsZUNsaWNrJyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyk7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc2VsZWN0aW9uQ2hhbmdlZGAgZXZlbnRcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5zZWxlY3Rpb25DaGFuZ2VkXG4gKiBAZmlyZXMgZ3cucm93U2VsZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblNlbGVjdGlvbkNoYW5nZWQoZSkge1xuICBjb25zdCBjb250ZXh0ID0gZS5hcGkuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLmNvbnRleHQ7XG4gIGd3X3NlbmRFdmVudChjb250ZXh0LCB7XG4gICAgJ3R5cGUnOiAnZ3cucm93U2VsZWN0JyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0NMSUNLKTtcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIHRoZSBncmlkIGByYW5nZVNlbGVjdGlvbkNoYW5nZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlIFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQucmFuZ2VTZWxlY3Rpb25DaGFuZ2VkXG4gKiBAZmlyZXMgZ3cucmFuZ2VTZWxlY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJhbmdlU2VsZWN0aW9uJyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUkFOR0VfU0VMRUNUSU9OX0NIQU5HRUQpO1xufVxuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgdGhlIGdyaWQgYGNlbGxDbGlja0V2ZW50YCAmIGBjZWxsRG91YmxlQ2xpY2tlZGAgZXZlbnRcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbENsaWNrRXZlbnRcbiAqIEBsaXN0ZW5zIGFnR3JpZC5jZWxsRG91YmxlQ2xpY2tlZFxuICogXG4gKiBAZmlyZXMgZ3cuY2VsbENsaWNrZWRcbiAqIEBmaXJlcyBndy5jZWxsRG91YmxlQ2xpY2tlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkge1xuICBjb25zdCBwYXJzZWQgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSk7XG5cbiAgaWYgKHBhcnNlZCkge1xuICAgIGNvbnN0IHR5cGUgPSBlLnR5cGU7XG4gICAgZ3dfc2VuZEV2ZW50KGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCwge1xuICAgICAgJ3R5cGUnOiBgZ3cuJHtlLnR5cGV9YCxcbiAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHI6IHBhcnNlZCwgLy8gcm93XG4gICAgICAgIHY6IGd3X2VzY2FwZShlLnZhbHVlKSwgIC8vIG5ldyB2YWx1ZVxuICAgICAgICBvOiBnd19lc2NhcGUoZS52YWx1ZSksIC8vIG9kbCB2YWx1ZVxuICAgICAgICBjOiBlLmNvbHVtbi5jb2xJZCAvLyBjb2x1bW5zXG4gICAgICB9KVxuICAgIH0sIENFTExfQ0xJQ0tJTkdfRVZFTlRTX01BUFt0eXBlXSk7XG4gIH1cbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19kZWJvdW5jZSB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRVxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBPbiBSZWFkeSBFdmVudCBcbiAqIFxuICogVGhlIG1ldGhvZCB3aWxsIGlnbm9yZSBmaXJzdCByZWFkeSBldmVudCBhbmQgdGhlbiByZWdpc3RlciBhIGRlYm91bmNlZCBzdGF0ZVxuICogY2FsbGJhY2sgdG8gc2VuZCBzdGF0ZSBldmVudHMgdG8gQkJqXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUmVhZHlFdmVudChpZCwgZSkge1xuXG4gIC8vIHJlZ2lzdGVyIHN0YXRlIGRlYm91bmNlIG1vbml0b3IgXG4gIGNvbnN0IHN0YXRlRGVib3VuY2UgPSBnd19kZWJvdW5jZShjaGFuZ2VFdmVudCA9PiB7XG5cbiAgICAvLyBXZSBza2lwIHRoZSBmaXJzdCByZW5kZXIgc3RhdGUgY2hhbmdlc1xuICAgIC8vIGlmICghZ3dfZ2V0R3JpZChpZCkuaGFzT3duUHJvcGVydHkoJ2lzRmlyc3RSZW5kZXInKSkge1xuICAgIC8vIFx0Z3dfZ2V0R3JpZChpZCkuaXNGaXJzdFJlbmRlciA9IHRydWU7XG4gICAgLy8gXHRyZXR1cm47XG4gICAgLy8gfVxuXG4gICAgZ3dfb25TdGF0ZUNoYW5nZWQoaWQsIGNoYW5nZUV2ZW50KTtcbiAgfSwgNTAwKTtcblxuICBbXG4gICAgJ3NvcnRDaGFuZ2VkJyxcbiAgICAnZmlsdGVyQ2hhbmdlZCcsXG4gICAgJ2NvbHVtblZpc2libGUnLFxuICAgICdjb2x1bW5QaW5uZWQnLFxuICAgICdjb2x1bW5SZXNpemVkJyxcbiAgICAnY29sdW1uTW92ZWQnLFxuICAgICduZXdDb2x1bW5zTG9hZGVkJyxcbiAgICAnZ3JpZENvbHVtbnNDaGFuZ2VkJyxcbiAgICAnZGlzcGxheWVkQ29sdW1uc0NoYW5nZWQnLFxuICAgICd2aXJ0dWFsQ29sdW1uc0NoYW5nZWQnLFxuICAgICdjb2x1bW5FdmVyeXRoaW5nQ2hhbmdlZCcsXG4gICAgLy8nZ3JpZFNpemVDaGFuZ2VkJyxcbiAgICAnZXhwYW5kT3JDb2xsYXBzZUFsbCcsXG4gICAgLy8ndG9vbFBhbmVsVmlzaWJsZUNoYW5nZWQnXG4gIF0uZm9yRWFjaChldmVudCA9PiB7XG4gICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgc3RhdGVEZWJvdW5jZSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEFuIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBzdGF0ZUNoYW5nZWRgIGV2ZW50c1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5zdGF0ZUNoYW5nZWRcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yb3dFZGl0aW5nU3RvcHBlZFxuICogXG4gKiBAZmlyZXMgZ3cuc3RhdGVDaGFuZ2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblN0YXRlQ2hhbmdlZChpZCwgZSkge1xuICBnd19zZW5kRXZlbnQoXG4gICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgIHtcbiAgICAgICd0eXBlJzogJ2d3LnN0YXRlQ2hhbmdlZCcsXG4gICAgICAnZGV0YWlsJzogW11cbiAgICB9LFxuICAgIEdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFXG4gICk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXREb2N1bWVudCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5cbi8qKiBodHRwczovL2Rhdmlkd2Fsc2gubmFtZS9qYXZhc2NyaXB0LWRlYm91bmNlLWZ1bmN0aW9uICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7XG4gIHZhciB0aW1lb3V0O1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHZhciBjb250ZXh0ID0gdGhpcywgYXJncyA9IGFyZ3VtZW50cztcbiAgICB2YXIgbGF0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB0aW1lb3V0ID0gbnVsbDtcbiAgICAgIGlmICghaW1tZWRpYXRlKSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgIH07XG4gICAgdmFyIGNhbGxOb3cgPSBpbW1lZGlhdGUgJiYgIXRpbWVvdXQ7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGxhdGVyLCB3YWl0KTtcbiAgICBpZiAoY2FsbE5vdykgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBTZW5kIGFuIGV2ZW50IHRvIEJCaiBzaWRlIFxuICogXG4gKiBUaGUgZnVuY3Rpb24gd2lsbCB0cmlnZ2VyIGEgY3VzdG9tIGNsaWNrIGV2ZW50IG9uIHRoZSBgZXZlbnQtYnJpZGdlLSR7aWR9YCBkaXZcbiAqIHRoZW4gdGhlIGRpdiB3aWxsIHVzZSBiYXNpc0Rpc3BhdGNoQ3VzdG9tRXZlbnQgdG8gZGlzcGF0Y2ggdGhlIGV2ZW50IHRvIEJCalxuICogXG4gKiBAcGFyYW0ge0FycmF5fSBjb250ZXh0IHRoZSBncmlkJ3MgY29udGV4dFxuICogQHBhcmFtIHsqfSBwYXlsb2FkIHRoZSBldmVudCBwYXlsb2FkXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRJZCB0aGUgZXZlbnQncyBpZCBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NlbmRFdmVudChjb250ZXh0LCBwYXlsb2FkID0ge30sIGV2ZW50SWQgPSBbXSkge1xuICBjb25zdCByZWdpc3RlcmVkSW50ZXJlc3RzID0gY29udGV4dC5pbnRlcmVzdHMgfHwgW107XG5cbiAgaWYgKHJlZ2lzdGVyZWRJbnRlcmVzdHMuaW5jbHVkZXMoZXZlbnRJZCkpIHtcbiAgICBjb25zdCBkaXYgPSBnd19nZXREb2N1bWVudCgpLmdldEVsZW1lbnRCeUlkKGBldmVudC1icmlkZ2UtJHtjb250ZXh0LmlkfWApO1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjbGljaycpO1xuXG4gICAgZXZlbnQucGF5bG9hZCA9IHBheWxvYWQ7XG4gICAgZGl2LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICB9XG59XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gQkJqR3JpZEV4V2lkZ2V0Um93XG4gKiBcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpZCBcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpbmRleCBcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwYXJlbnRLZXkgXG4gKiBAcHJvcGVydHkge251bWJlcn0gY2hpbGRJbmRleCBcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gc2VsZWN0ZWQgXG4gKi9cblxuLyoqXG4gKiBQYXJzZSBhIG5vZGUgYXMgQkJqR3JpZEV4V2lkZ2V0Um93XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBub2RlIGFnIGdyaWQgbm9kZVxuICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgIGFnIGdyaWQgY29udGV4dFxuICogXG4gKiBAcmV0dXJucyB7QkJqR3JpZEV4V2lkZ2V0Um93fEJvb2xlYW59IG9iamVjdCBmb3JtYXR0ZWQgYXMgQkJqR3JpZEV4V2lkZ2V0Um93LlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSBpZiB0aGUgbm9kZSBpcyBmb3IgZ3JvdXAgbm9kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcGFyc2VOb2RlKG5vZGUsIGNvbnRleHQpIHtcblxuICBpZiAodHJ1ZSA9PT0gbm9kZS5ncm91cCkgcmV0dXJuIGZhbHNlOyAvLyB3ZSBkbyBub3QgbWFuYWdlIGdyb3Vwc1xuXG4gIGNvbnN0IHJvd05vZGVJZCA9IGNvbnRleHQuaGFzT3duUHJvcGVydHkoJ2dldFJvd05vZGVJZCcpICYmIG5vZGUuZGF0YVtjb250ZXh0LmdldFJvd05vZGVJZF0gP1xuICAgIG5vZGUuZGF0YVtjb250ZXh0LmdldFJvd05vZGVJZF0gOiAnJztcblxuICByZXR1cm4ge1xuICAgIGk6IHJvd05vZGVJZCA/IHJvd05vZGVJZCA6IG5vZGUuaWQsIC8vIGlkXG4gICAgeDogcm93Tm9kZUlkLCAvLyBpbmRleFxuICAgIHA6IG5vZGUuaGFzT3duUHJvcGVydHkoJ3BhcmVudCcpICYmIG5vZGUucGFyZW50Lmhhc093blByb3BlcnR5KCdrZXknKSA/XG4gICAgICBub2RlLnBhcmVudC5rZXkgOiAnJywgLy8gcGFyZW50IGtleVxuICAgIGM6IG5vZGUuY2hpbGRJbmRleCwgLy9jaGlsZEluZGV4XG4gICAgczogQm9vbGVhbihub2RlLnNlbGVjdGVkKSwgLy8gc2VsZWN0ZWQgXG4gIH07XG59XG5cbi8qKlxuICogUGFyc2Ugbm9kZSBmcm9tIGV2ZW50IFxuICogXG4gKiBQYXJzZSBub2RlIGluIHRoZSBwYVNzZWQgZXZlbnQgYXMgQkJqR3JpZEV4V2lkZ2V0Um93XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlXG4gKiBcbiAqIEByZXR1cm5zIHtCQmpHcmlkRXhXaWRnZXRSb3d9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSkge1xuICByZXR1cm4gZ3dfcGFyc2VOb2RlKGUubm9kZSwgZS5jb250ZXh0KTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0ICdleHBvc2UtbG9hZGVyP0Jhc2lzLkFnR3JpZENvbXBvbmVudHMhYWctZ3JpZC1jb21wb25lbnRzL2Rpc3QvYWdjLWJhc2ljLmJ1bmRsZS5qcyc7XG5cbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzJyk7XG5cbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1kYXJrLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1tYXRlcmlhbC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcycpO1xuXG5yZXF1aXJlKCcuL3N0eWxlL2NsYXNzZXMuY3NzJyk7XG5cbmV4cG9ydCAqIGZyb20gJy4vcG9seWZpbGxzLmpzJztcbmV4cG9ydCAqIGZyb20gXCIuL2FwaVwiO1xuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG4vKiogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0N1c3RvbUV2ZW50L0N1c3RvbUV2ZW50ICAqL1xuKGZ1bmN0aW9uICgpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGZhbHNlOyAvL0lmIG5vdCBJRVxuXG4gIGZ1bmN0aW9uIEN1c3RvbUV2ZW50KGV2ZW50LCBwYXJhbXMpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwgeyBidWJibGVzOiBmYWxzZSwgY2FuY2VsYWJsZTogZmFsc2UsIGRldGFpbDogdW5kZWZpbmVkIH07XG4gICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpO1xuICAgIGV2dC5pbml0Q3VzdG9tRXZlbnQoZXZlbnQsIHBhcmFtcy5idWJibGVzLCBwYXJhbXMuY2FuY2VsYWJsZSwgcGFyYW1zLmRldGFpbCk7XG4gICAgcmV0dXJuIGV2dDtcbiAgfVxuXG4gIEN1c3RvbUV2ZW50LnByb3RvdHlwZSA9IHdpbmRvdy5FdmVudC5wcm90b3R5cGU7XG5cbiAgd2luZG93LkN1c3RvbUV2ZW50ID0gQ3VzdG9tRXZlbnQ7XG59KSgpO1xuIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2NsYXNzZXMuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2NsYXNzZXMuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzP2I0MzYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcz9jZGMxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzP2I5MzAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzPzA5NTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3M/M2Y1NiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3M/OGM0ZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzPzdkMDAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcz8xMWFlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2Zvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL251bWJlci9pcy1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL3N0cmluZy9zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmljdC1tZXRob2QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWxlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZWVwLXBhcnNlLWpzb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tcG9uZW50cy9kaXN0L2FnYy1iYXNpYy5idW5kbGUuanMtZXhwb3NlZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanNzL2pzcy5qcy1leHBvc2VkIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qc3MvanNzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcHBseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcnJheUxpa2VLZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2FycmF5TWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VBc3NpZ25WYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlR2V0VGFnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VJc0FyZ3VtZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlSXNOYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VQcm9wZXJ0eU9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VSZXN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VTZXRUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVGltZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VVbmFyeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVmFsdWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvcHlPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY29yZUpzRGF0YS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jdXN0b21EZWZhdWx0c0Fzc2lnbkluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2RlZmluZVByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZUh0bWxDaGFyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZVN0cmluZ0NoYXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZnJlZUdsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXROYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0UHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2dldFJhd1RhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXRWYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc0luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzSXRlcmF0ZWVDYWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzTWFza2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzUHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25hdGl2ZUtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fbmF0aXZlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25vZGVVdGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX29iamVjdFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX292ZXJBcmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fb3ZlclJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFc2NhcGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFdmFsdWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19yZUludGVycG9sYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3Jvb3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2V0VG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2hvcnRPdXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fdG9Tb3VyY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hc3NpZ25JbldpdGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hdHRlbXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvY29uc3RhbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9lcS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2VzY2FwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lkZW50aXR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0FycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcnJheUxpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0J1ZmZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzRXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0Z1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNMZW5ndGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc09iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzT2JqZWN0TGlrZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzUGxhaW5PYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2tleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9rZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9zdHViRmFsc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90ZW1wbGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL3RlbXBsYXRlU2V0dGluZ3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90b1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc3R5bGUvY2xhc3Nlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL3VybHMuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY2VsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jaGFydHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jb2x1bW5zLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY29udGV4dC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvaW5pdC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2pzcy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL21lbnVzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvb3ZlcmxheXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9yb3dzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9zdGF0dXNiYXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS90b29scGFuZWwuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9jb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9lZGl0aW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9zZWxlY3Rpb25zLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9wb2x5ZmlsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlL2NsYXNzZXMuY3NzP2I3MzgiXSwibmFtZXMiOlsiZGVlcFBhcnNlSnNvbiIsImpzb25TdHJpbmciLCJKU09OIiwicGFyc2UiLCJlcnIiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWwiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwib2JqIiwia2V5IiwibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJnd19zdGFydEVkaXRpbmdDZWxsIiwiaWQiLCJyb3ciLCJjb2xLZXkiLCJjaGFyIiwib3B0aW9ucyIsImFwaSIsInNldEZvY3VzZWRDZWxsIiwiTnVtYmVyIiwic3RhcnRFZGl0aW5nQ2VsbCIsInJvd0luZGV4Iiwia2V5UHJlc3MiLCJjaGFyUHJlc3MiLCJnd19zdG9wRWRpdGluZyIsImNhbmNlbCIsInN0b3BFZGl0aW5nIiwiZ3dfZWRpdE5leHRDZWxsIiwidGFiVG9OZXh0Q2VsbCIsImd3X2VkaXRQcmV2aW91c0NlbGwiLCJ0YWJUb1ByZXZpb3VzQ2VsbCIsImd3X3NldEZvY3VzZWRDZWxsIiwiY29sdW1uIiwiciIsImlzSW50ZWdlciIsImdldFJvd05vZGUiLCJjIiwiY29sdW1uQXBpIiwiZ2V0QWxsR3JpZENvbHVtbnMiLCJjb2xJZCIsImd3X2dldFJhbmdlU2VsZWN0aW9ucyIsImNvbnRleHQiLCJyYW5nZXMiLCJnZXRDZWxsUmFuZ2VzIiwibW9kZWwiLCJnZXRNb2RlbCIsInJlc3VsdCIsImZvckVhY2giLCJyYW5nZSIsImNvbHVtbnMiLCJhY2N1bXVsYXRvciIsImN1cnJlbnQiLCJwdXNoIiwiZmlsdGVyIiwiQm9vbGVhbiIsInN0YXJJbmRleCIsIk1hdGgiLCJtaW4iLCJzdGFydFJvdyIsImVuZFJvdyIsImVuZEluZGV4IiwibWF4Iiwicm93cyIsIm5vZGUiLCJnZXRSb3ciLCJwYXJzZWROb2RlIiwibGVuZ3RoIiwic3RyaW5naWZ5IiwiZ3dfcGFyc2VBZGRDZWxsUmFuZ2UiLCJwciIsInN0YXJ0IiwiZW5kIiwicm93RGF0YSIsInJvd1N0YXJ0SW5kZXgiLCJhYnMiLCJyb3dFbmRJbmRleCIsImd3X2FkZENlbGxSYW5nZSIsImFkZENlbGxSYW5nZSIsImd3X2NsZWFyUmFuZ2VTZWxlY3Rpb24iLCJjbGVhclJhbmdlU2VsZWN0aW9uIiwiZ3dfZ2V0Q2hhcnRUb29sYmFySXRlbXMiLCJwYXJhbXMiLCJncmlkT3B0aW9uc1dyYXBwZXIiLCJncmlkT3B0aW9ucyIsImNoYXJ0VG9vbGJhckl0ZW1zIiwiZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMiLCJkZWZpbml0aW9ucyIsImkiLCJkZWYiLCJjaGVja2JveFNlbGVjdGlvbiIsImd3X2lzU2hvd1NlbGVjdGlvbkNoZWNrYm94IiwiaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24iLCJnd19pc0hlYWRlckNoZWNrYm94U2VsZWN0aW9uIiwiZ3dfc2V0Q29sdW1uRGVmaW5pdGlvbnMiLCJncmlkIiwiZGVlcFBhcnNlZERlZmluaXRpb25zIiwic2V0Q29sdW1uRGVmcyIsImNvbHVtbkRlZnMiLCJnd19zaXplQ29sdW1uc1RvRml0Iiwic2l6ZUNvbHVtbnNUb0ZpdCIsImd3X3NldFZpc2libGVDb2x1bW4iLCJjb2x1bW5JZCIsImVuc3VyZUNvbHVtblZpc2libGUiLCJnd19zZXRDb2x1bW5XaWR0aCIsIndpZHRoIiwic2V0Q29sdW1uV2lkdGgiLCJnd19waW5Db2x1bW4iLCJwaW4iLCJzZXRDb2x1bW5QaW5uZWQiLCJnd19tb3ZlQ29sdW1uIiwidG9JbmRleCIsIm1vdmVDb2x1bW4iLCJwYXJhbSIsInNob3dTZWxlY3Rpb25DaGVja2JveCIsImdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zIiwiY29sRGVmIiwiZmllbGQiLCJzaG93SGVhZGVyU2VsZWN0aW9uQ2hlY2tib3giLCJnd19hZGRSb3dHcm91cENvbHVtbiIsInNldCIsInNwbGl0IiwidHJpbSIsImd3X3JlbW92ZVJvd0dyb3VwQ29sdW1uIiwicmVtb3ZlUm93R3JvdXBDb2x1bW5zIiwiZ3dfZ2V0UGl2b3RNb2RlIiwiaXNQaXZvdE1vZGUiLCJnd19zZXRQaXZvdE1vZGUiLCJtb2RlIiwic2V0UGl2b3RNb2RlIiwiZ3dfYWRkUGl2b3RDb2x1bW5zIiwiZ3dfcmVtb3ZlUGl2b3RDb2x1bW5zIiwicmVtb3ZlUGl2b3RDb2x1bW5zIiwiZ3dfYWRkVmFsdWVDb2x1bW5zIiwiYWRkVmFsdWVDb2x1bW5zIiwiZ3dfcmVtb3ZlVmFsdWVDb2x1bW5zIiwicmVtb3ZlVmFsdWVDb2x1bW5zIiwiZ3dfdXBkYXRlQ29udGV4dCIsInZhbHVlIiwidGVtcGxhdGUiLCJnd19pbml0IiwibGljZW5zZSIsImRhdGEiLCJhZ0dyaWQiLCJMaWNlbnNlTWFuYWdlciIsInNldExpY2Vuc2VLZXkiLCJjb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsImlubmVySFRNTCIsInBhcnNlZE9wdGlvbnMiLCJnd19wYXJzZU9wdGlvbnMiLCJpbnN0YW5jZSIsIkdyaWQiLCJjb25zb2xlIiwibG9nIiwiZGVlcFBhcnNlZE9wdGlvbnMiLCJnZXREYXRhUGF0aFRlbXBsYXRlIiwiZ2V0RGF0YVBhdGgiLCJkZWJvdW5jZUR1cmF0aW9uIiwiZmluYWxPcHRpb25zIiwiZ2V0RG9jdW1lbnQiLCJvbkNlbGxFZGl0aW5nU3RhcnRlZCIsImUiLCJvbkNlbGxFZGl0aW5nU3RvcHBlZCIsIm9uQ2VsbFZhbHVlQ2hhbmdlZCIsIm9uUm93RWRpdGluZ1N0YXJ0ZWQiLCJvblJvd0VkaXRpbmdTdG9wcGVkIiwib25Sb3dWYWx1ZUNoYW5nZWQiLCJvbkNlbGxDbGlja2VkIiwib25DZWxsRG91YmxlQ2xpY2tlZCIsIm9uR3JpZFJlYWR5IiwiZ2V0Um93Tm9kZUlkIiwiZ3dfZ2V0Um93Tm9kZUlkIiwiZ2V0Q29udGV4dE1lbnVJdGVtcyIsImJvZHkiLCJnd19vblJvd0RvdWJsZUNsaWNrZWQiLCJnd19vblNlbGVjdGlvbkNoYW5nZWQiLCJnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCIsIkJhc2lzIiwiQWdHcmlkQ29tcG9uZW50cyIsIkJhc2ljQm9vbGVhbnNSZW5kZXJlciIsIkJhc2ljQm9vbGVhbnNFZGl0b3IiLCJCYXNpY0Jvb2xlYW5zRmlsdGVyIiwiQmFzaWNOdW1iZXJzRWRpdG9yIiwiQmFzaWNEYXRlVGltZXNFZGl0b3IiLCJCYXNpY0RhdGVUaW1lc0ZpbHRlciIsIkJhc2ljSW1hZ2VzUmVuZGVyZXIiLCJjb21waWxlZCIsIl9fVEVNUExBVEVfXyIsImhhc093blByb3BlcnR5IiwibmF2aWdhdGVUb05leHRDZWxsIiwidHJlZURhdGEiLCJnZXREYXRhUGF0aFRlbXBsYXRlQ29tcGxpZWQiLCJmb3JtYXRTZWxlY3RvciIsInNlbGVjdG9yIiwic3RhcnRzV2l0aCIsImd3X3NldFN0eWxlIiwicnVsZXMiLCJqc3MiLCJmb3JEb2N1bWVudCIsImd3X3JlbW92ZVN0eWxlIiwicmVtb3ZlIiwiZ3dfZ2V0Q29udGV4dE1lbnUiLCJncmlkSWQiLCJidWlsZENvbnRleHRNZW51QWN0aW9uIiwidiIsInBhcnNlTWVudSIsIm1lbnUiLCJpdGVtIiwiY29udGV4dE1lbnUiLCJnd19zaG93TG9hZGluZ092ZXJsYXkiLCJzaG93TG9hZGluZ092ZXJsYXkiLCJnd19zaG93Tm9Sb3dzT3ZlcmxheSIsInNob3dOb1Jvd3NPdmVybGF5IiwiZ3dfaGlkZU92ZXJsYXkiLCJoaWRlT3ZlcmxheSIsImd3X3NldFF1aWNrRmlsdGVyIiwic2V0UXVpY2tGaWx0ZXIiLCJnd19leHBhbmRBbGwiLCJleHBhbmRBbGwiLCJnd19jb2xsYXBzZUFsbCIsImNvbGxhcHNlQWxsIiwiZ3dfc2V0VmlzaWJsZVJvdyIsImluZGV4IiwicG9zaXRpb24iLCJlbnN1cmVJbmRleFZpc2libGUiLCJnd19uYXZpZ2F0ZVRvTmV4dFJvdyIsInByZXZpb3VzQ2VsbCIsInByZXZpb3VzQ2VsbFBvc2l0aW9uIiwic3VnZ2VzdGVkTmV4dENlbGwiLCJuZXh0Q2VsbFBvc2l0aW9uIiwiS0VZX1VQIiwiS0VZX0RPV04iLCJLRVlfTEVGVCIsIktFWV9SSUdIVCIsImZvckVhY2hOb2RlIiwic2V0U2VsZWN0ZWQiLCJFcnJvciIsImd3X3NldFJvd3NEYXRhIiwianNvbiIsInNldFJvd0RhdGEiLCJyZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsIiwiZ3dfc2V0Um93RGF0YSIsInVwZGF0ZVJvd0RhdGEiLCJ1cGRhdGUiLCJnd19yZW1vdmVSb3dzIiwiaW5kZXhlcyIsIml0ZW1zIiwiZ3dfYWRkUm93cyIsImFkZCIsImFkZEluZGV4IiwiZ3dfc2V0Um93c0hlaWdodCIsImhlaWdodCIsInNldFJvd0hlaWdodCIsIm9uUm93SGVpZ2h0Q2hhbmdlZCIsImd3X3NldFJvd0hlaWdodCIsImdldERpc3BsYXllZFJvd0F0SW5kZXgiLCJ3YXJuIiwiZ3dfc2V0U2VsZWN0ZWRSb3dzIiwiZm9yRWFjaE5vZGVBZnRlckZpbHRlckFuZFNvcnQiLCJpbmRleE9mIiwiZXhwYW5kZWQiLCJvbkdyb3VwRXhwYW5kZWRPckNvbGxhcHNlZCIsImd3X3NlbGVjdEFsbCIsImZpbHRlcmVkIiwic2VsZWN0QWxsRmlsdGVyZWQiLCJzZWxlY3RBbGwiLCJnd19kZXNlbGVjdEFsbCIsImRlc2VsZWN0QWxsRmlsdGVyZWQiLCJkZXNlbGVjdEFsbCIsImd3X2dldFNlbGVjdGVkUm93cyIsIm5vZGVzIiwiZ2V0U2VsZWN0ZWROb2RlcyIsInBhcnNlZCIsImd3X2dldFNlbGVjdGVkUm93IiwiZ3dfc2V0U3RhdGUiLCJzdGF0ZSIsInNldENvbHVtblN0YXRlIiwic2V0Q29sdW1uR3JvdXBTdGF0ZSIsImdyb3VwcyIsInNldFNvcnRNb2RlbCIsInNvcnQiLCJzZXRGaWx0ZXJNb2RlbCIsImZpbHRlcnMiLCJnd19nZXRTdGF0ZSIsImdldENvbHVtblN0YXRlIiwiZ2V0Q29sdW1uR3JvdXBTdGF0ZSIsImdldFNvcnRNb2RlbCIsImdldEZpbHRlck1vZGVsIiwiZ3dfc2V0U3RhdHVzYmFyQ29tcG9uZW50VmlzaWJpbGl0eSIsInZpc2liaWxpdHkiLCJnZXRTdGF0dXNQYW5lbCIsInNldFZpc2libGUiLCJnd19zZXRTaWRlQmFyVmlzaWJsZSIsInNldFNpZGVCYXJWaXNpYmxlIiwiZ3dfb3BlblRvb2xwYW5lbCIsInRvb2xwYW5lbElkIiwib3BlblRvb2xQYW5lbCIsImd3X2Nsb3NlVG9vbHBhbmVsIiwiY2xvc2VUb29sUGFuZWwiLCJnd19zZXRGdW5jdGlvbnNSZWFkT25seSIsInJlYWRvbmx5Iiwic2V0RnVuY3Rpb25zUmVhZE9ubHkiLCJnd19nZXREb2N1bWVudCIsIiRkb2MiLCJkb2N1bWVudCIsImd3X2dldFdpbmRvdyIsIiR3aW4iLCJ3aW5kb3ciLCJnd19lc2NhcGUiLCJ1bmRlZmluZWQiLCJnd19nZXRHcmlkIiwiQkJqR3JpZEV4V2lkZ2V0IiwicmVnaXN0ZXJlZEdyaWRzIiwiVHlwZUVycm9yIiwiZ3dfYWRkR3JpZCIsIkdXX0VWRU5UX1JPV19DTElDSyIsIkdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0NMSUNLIiwiR1dfRVZFTlRfQ0VMTF9ET1VCTEVfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCIsIkdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVEIiwiR1dfRVZFTlRfQ0VMTF9WQUxVRV9DSEFOR0VEIiwiR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCIsIkdXX0VWRU5UX1JPV19FRElUSU5HX1NUT1BQRUQiLCJHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRSIsIkdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEIiwiQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAiLCJST1dfRURJVElOR19FVkVOVFNfTUFQIiwiZ3dfb25DZWxsRWRpdGluZ0V2ZW50IiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsInR5cGUiLCJvIiwiZ3dfb25Sb3dFZGl0aW5nRXZlbnQiLCJDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVAiLCJnd19vbkNlbGxDbGlja0V2ZW50IiwiZ3dfb25SZWFkeUV2ZW50Iiwic3RhdGVEZWJvdW5jZSIsImNoYW5nZUV2ZW50IiwiZ3dfb25TdGF0ZUNoYW5nZWQiLCJldmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJnd19kZWJvdW5jZSIsImZ1bmMiLCJ3YWl0IiwiaW1tZWRpYXRlIiwidGltZW91dCIsImFyZ3MiLCJhcmd1bWVudHMiLCJsYXRlciIsImFwcGx5IiwiY2FsbE5vdyIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJnd19zZW5kRXZlbnQiLCJwYXlsb2FkIiwiZXZlbnRJZCIsInJlZ2lzdGVyZWRJbnRlcmVzdHMiLCJpbnRlcmVzdHMiLCJpbmNsdWRlcyIsImRpdiIsIkN1c3RvbUV2ZW50IiwiZGlzcGF0Y2hFdmVudCIsImd3X3BhcnNlTm9kZSIsImdyb3VwIiwicm93Tm9kZUlkIiwieCIsInAiLCJwYXJlbnQiLCJjaGlsZEluZGV4IiwicyIsInNlbGVjdGVkIiwiZ3dfcGFyc2VOb2RlRnJvbUV2ZW50IiwiYnViYmxlcyIsImNhbmNlbGFibGUiLCJkZXRhaWwiLCJldnQiLCJjcmVhdGVFdmVudCIsImluaXRDdXN0b21FdmVudCIsInByb3RvdHlwZSIsIkV2ZW50Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrREFBMEMsZ0NBQWdDO0FBQzFFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0VBQXdELGtCQUFrQjtBQUMxRTtBQUNBLHlEQUFpRCxjQUFjO0FBQy9EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBeUMsaUNBQWlDO0FBQzFFLHdIQUFnSCxtQkFBbUIsRUFBRTtBQUNySTtBQUNB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QkFBMkI7QUFDM0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0IsaUJBQWlCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjOztBQUVkLGtEQUFrRCxzQkFBc0I7QUFDeEU7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7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Q0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0VBQXdFLDZGQUE2RjtBQUNySztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsa0ZBQWtGLGlGQUFpRjtBQUM5SztBQUNBO0FBQ0E7O0FBRUEsMERBQTBELG1CQUFtQjtBQUM3RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0EsZUFBZTs7QUFFZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsOEZBQThGLGFBQWE7QUFDM0c7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBOztBQUVBLHdCQUF3QixrQkFBa0I7QUFDMUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEVBQTRFO0FBQzVFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGO0FBQzdGO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxnSkFBZ0o7QUFDaEo7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxnQ0FBZ0MsZUFBZTtBQUMvQztBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDLGVBQWU7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvREFBb0QsZUFBZTtBQUNuRTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDLG9FQUFvRTtBQUN0RztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUIsOEJBQThCO0FBQ3ZEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUIsK0JBQStCO0FBQ3REO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLGtCQUFrQjtBQUN2Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxnRUFBZ0U7QUFDaEU7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw0RUFBNEU7QUFDNUU7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQjs7QUFFQTtBQUNBLGdEQUFnRDtBQUNoRDs7QUFFQTtBQUNBLGdEQUFnRDtBQUNoRDs7QUFFQSw2Q0FBNkM7QUFDN0MsaURBQWlEO0FBQ2pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxDQUFDOzs7QUFHRCxPQUFPO0FBQ1A7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTs7OztBQUlBLGVBQWU7O0FBRWY7QUFDQSxrQ0FBa0M7O0FBRWxDOztBQUVBOztBQUVBLFVBQVUsRUF5QlQ7O0FBRUQsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQSw2Q0FBNkMsdUJBQXVCLFVBQVUsYUFBYSxrQkFBa0Isa0JBQWtCLFVBQVUsdUJBQXVCLGVBQWUsY0FBYyxTQUFTLGVBQWUsaUJBQWlCLGtCQUFrQixrQkFBa0IsZ0JBQWdCLDhCQUE4QixzQkFBc0IsOEJBQThCLDBCQUEwQixnQkFBZ0IsZ0hBQWdILHdHQUF3RyxvREFBb0QsVUFBVSxpQkFBaUIsbUJBQW1CLHlCQUF5QixxQkFBcUIsY0FBYyxpQ0FBaUMsNkRBQTZELHFEQUFxRCwyQkFBMkIsY0FBYyxrQkFBa0IsUUFBUSwyQkFBMkIsa0JBQWtCLHFCQUFxQixnQ0FBZ0MsWUFBWSxjQUFjLG1IQUFtSCxrQ0FBa0MsMEJBQTBCLG1IQUFtSCxvREFBb0QsNENBQTRDLHVGQUF1RixnQkFBZ0IsNkJBQTZCLDRCQUE0Qiw0Q0FBNEMsY0FBYywwREFBMEQsWUFBWSw2QkFBNkIsdURBQXVELFlBQVkscURBQXFELGtCQUFrQixjQUFjLG9CQUFvQix5QkFBeUIsYUFBYSxTQUFTLFFBQVEsVUFBVSx5RUFBeUUsVUFBVSxXQUFXLDJCQUEyQixpQkFBaUIsY0FBYywwQkFBMEIsaUJBQWlCLGNBQWMsdUVBQXVFLFlBQVksb0NBQW9DLDRCQUE0QixtQ0FBbUMseUJBQXlCLDZFQUE2RSxTQUFTLHVDQUF1Qyx5QkFBeUIsc0NBQXNDLHNCQUFzQiwwQkFBMEIsVUFBVSxtQkFBbUIsa0JBQWtCLHFCQUFxQixrQkFBa0Isb0JBQW9CLHFCQUFxQixvQkFBb0IsYUFBYSxtQ0FBbUMsdUJBQXVCLHFCQUFxQixvQkFBb0IsWUFBWSxjQUFjLGtCQUFrQixrQkFBa0IseUJBQXlCLHNCQUFzQixxQkFBcUIsaUJBQWlCLGdCQUFnQixtQkFBbUIsZUFBZSxXQUFXLE9BQU8sZ0ZBQWdGLHFCQUFxQixlQUFlLGtCQUFrQixNQUFNLGlCQUFpQixZQUFZLGFBQWEsVUFBVSxxQkFBcUIsb0JBQW9CLGtHQUFrRyxhQUFhLG9GQUFvRixrQkFBa0IsMEhBQTBILE9BQU8sMEhBQTBILFFBQVEsNEZBQTRGLGNBQWMsb0dBQW9HLGFBQWEsd0ZBQXdGLFdBQVcsWUFBWSxrR0FBa0csNEJBQTRCLG9CQUFvQixhQUFhLGlCQUFpQixrQkFBa0IsWUFBWSw2Q0FBNkMscUJBQXFCLHVCQUF1QixXQUFXLGtDQUFrQyxhQUFhLHNCQUFzQixrQkFBa0IsUUFBUSxXQUFXLG9CQUFvQixXQUFXLGdCQUFnQixVQUFVLGVBQWUsb0NBQW9DLDhCQUE4QixzQkFBc0IsNEJBQTRCLDBCQUEwQiw2QkFBNkIsMEJBQTBCLDRCQUE0QixjQUFjLGFBQWEsa0JBQWtCLDhCQUE4QixNQUFNLGdCQUFnQixvQ0FBb0Msa0NBQWtDLG1DQUFtQywwQ0FBMEMsUUFBUSxnQ0FBZ0MsUUFBUSxzQ0FBc0Msa0NBQWtDLG1DQUFtQyx1Q0FBdUMsUUFBUSwwQkFBMEIsY0FBYyxZQUFZLCtCQUErQixvQkFBb0IsdUJBQXVCLDJCQUEyQiw0QkFBNEIsVUFBVSx5QkFBeUIsZUFBZSxvQkFBb0IsZ0JBQWdCLGNBQWMsa0JBQWtCLFVBQVUsV0FBVyxtQkFBbUIsY0FBYyxZQUFZLHFCQUFxQixrQkFBa0IsZ0NBQWdDLHdCQUF3Qix3Q0FBd0Msb0JBQW9CLGdCQUFnQixjQUFjLHFCQUFxQixpQkFBaUIsVUFBVSw4Q0FBOEMsMkJBQTJCLDBDQUEwQyxVQUFVLGFBQWEscUJBQXFCLDZEQUE2RCxtQ0FBbUMsK0RBQStELGdDQUFnQyx3Q0FBd0MsdUJBQXVCLDhCQUE4QixzQkFBc0IsY0FBYyxZQUFZLG1CQUFtQixTQUFTLHFCQUFxQixrQkFBa0Isb0JBQW9CLGdCQUFnQixvQkFBb0IsWUFBWSxTQUFTLGdCQUFnQix1QkFBdUIsOENBQThDLFVBQVUsMEdBQTBHLGVBQWUscUJBQXFCLHVCQUF1QixvQkFBb0Isb0JBQW9CLHVCQUF1QixrQkFBa0IsZ0JBQWdCLFdBQVcseUJBQXlCLDJCQUEyQixzQkFBc0IsbUJBQW1CLFlBQVksb0VBQW9FLG9CQUFvQixxQkFBcUIsb0JBQW9CLGFBQWEsdUVBQXVFLG1CQUFtQixlQUFlLFdBQVcsT0FBTyx1QkFBdUIsZUFBZSxjQUFjLHVCQUF1QixzQkFBc0IsY0FBYyxTQUFTLGtCQUFrQixjQUFjLG1CQUFtQiwrQkFBK0IsZ0JBQWdCLGdCQUFnQixrQkFBa0IsZ0JBQWdCLG9CQUFvQixxQkFBcUIsb0JBQW9CLGFBQWEsd0JBQXdCLCtCQUErQixxQkFBcUIsdUJBQXVCLGdCQUFnQixzQkFBc0IsVUFBVSxjQUFjLFVBQVUsVUFBVSxnQkFBZ0IsZ0JBQWdCLG9CQUFvQixvQkFBb0IsOEJBQThCLHNCQUFzQixxQkFBcUIsb0JBQW9CLG9CQUFvQixxQkFBcUIsYUFBYSx1QkFBdUIsZUFBZSxtQkFBbUIsc0JBQXNCLHFDQUFxQyw2QkFBNkIsZ0NBQWdDLHdCQUF3QixVQUFVLDRCQUE0QixvQ0FBb0MsNEJBQTRCLGVBQWUsZ0JBQWdCLDZCQUE2QixvQkFBb0IsOEJBQThCLHNCQUFzQixjQUFjLGVBQWUsZ0JBQWdCLGtCQUFrQiwrQkFBK0Isb0NBQW9DLHVCQUF1QixlQUFlLFlBQVksaUJBQWlCLFNBQVMscUJBQXFCLGtCQUFrQix3QkFBd0IsK0JBQStCLHFCQUFxQix1QkFBdUIsa0JBQWtCLGtZQUFrWSxlQUFlLFVBQVUsbUJBQW1CLHFCQUFxQixxQkFBcUIscUJBQXFCLHNEQUFzRCxxQkFBcUIsbUJBQW1CLFdBQVcsc2tCQUFza0IsbUJBQW1CLHdCQUF3QixnQkFBZ0IsV0FBVyxxQkFBcUIsMkdBQTJHLDRCQUE0QixxR0FBcUcsNEJBQTRCLDJNQUEyTSxxQ0FBcUMsNkJBQTZCLHNJQUFzSSxtQkFBbUIsdUJBQXVCLGdCQUFnQixvREFBb0QsNENBQTRDLHNOQUFzTix3QkFBd0IsdUJBQXVCLHlCQUF5QixlQUFlLHNEQUFzRCxtQkFBbUIsd0JBQXdCLDZCQUE2QixnQkFBZ0Isb0RBQW9ELDRDQUE0QyxzQkFBc0Isa0JBQWtCLDBCQUEwQixlQUFlLHVCQUF1QixxQkFBcUIsV0FBVyx3Q0FBd0MsZUFBZSxtQ0FBbUMsMkJBQTJCLDBDQUEwQyxXQUFXLFdBQVcsaUJBQWlCLDBGQUEwRixjQUFjLFdBQVcsZUFBZSx3QkFBd0IsdUJBQXVCLGVBQWUsWUFBWSwwQkFBMEIsY0FBYyxvQkFBb0IscUJBQXFCLG9CQUFvQixhQUFhLGdCQUFnQixnREFBZ0QsOEJBQThCLHNCQUFzQixzQkFBc0IscUJBQXFCLFVBQVUsZ0JBQWdCLGtCQUFrQixVQUFVLGNBQWMsU0FBUyxpQkFBaUIsZ0JBQWdCLDhCQUE4QixzQkFBc0IsZ0JBQWdCLG9CQUFvQixxQkFBcUIsb0JBQW9CLGFBQWEsc0JBQXNCLGFBQWEsY0FBYyxXQUFXLGlDQUFpQyxtQkFBbUIsZUFBZSxXQUFXLE9BQU8sVUFBVSxZQUFZLFdBQVcsb0RBQW9ELDRCQUE0QixzREFBc0QseUJBQXlCLDRDQUE0QyxVQUFVLDBDQUEwQyxVQUFVLHNCQUFzQix1QkFBdUIsd0JBQXdCLGdCQUFnQixTQUFTLGdCQUFnQixrQkFBa0IsU0FBUyxVQUFVLGVBQWUsb0JBQW9CLGNBQWMsZUFBZSxrQkFBa0IsOEJBQThCLHNCQUFzQixxQ0FBcUMsZ0JBQWdCLDhFQUE4RSxnQkFBZ0IsNEJBQTRCLFVBQVUsU0FBUywyRUFBMkUsZUFBZSxxQkFBcUIsV0FBVyxvQkFBb0IsY0FBYyxnQkFBZ0IsU0FBUyx5QkFBeUIsc0JBQXNCLHFCQUFxQixpQkFBaUIsMEJBQTBCLDJCQUEyQixrQkFBa0IsaUNBQWlDLFVBQVUsVUFBVSxlQUFlLGtCQUFrQixnQkFBZ0Isc0lBQXNJLG1CQUFtQiwyQkFBMkIsZUFBZSxnQ0FBZ0MsR0FBRyxVQUFVLHlDQUF5QyxpQ0FBaUMsR0FBRyxVQUFVLGdDQUFnQyx5QkFBeUIsd0JBQXdCLEdBQUcsVUFBVSx5Q0FBeUMsaUNBQWlDLEdBQUcsVUFBVSxnQ0FBZ0MseUJBQXlCOztBQUVwcWM7OztBQUdBLE9BQU87QUFDUDtBQUNBLENBQUM7QUFDRCw0Qzs7Ozs7Ozs7Ozs7QUN2OEtBLG1CQUFPLENBQUMsOEZBQWtDO0FBQzFDLGlCQUFpQixtQkFBTyxDQUFDLG9FQUFxQjs7Ozs7Ozs7Ozs7O0FDRDlDLG1CQUFPLENBQUMsOEZBQWtDO0FBQzFDLGlCQUFpQixtQkFBTyxDQUFDLG9FQUFxQjs7Ozs7Ozs7Ozs7O0FDRDlDLG1CQUFPLENBQUMsb0dBQXFDO0FBQzdDLGlCQUFpQixtQkFBTyxDQUFDLG9FQUFxQjs7Ozs7Ozs7Ozs7O0FDRDlDLG1CQUFPLENBQUMsc0dBQXNDO0FBQzlDLGlCQUFpQixtQkFBTyxDQUFDLG9FQUFxQjs7Ozs7Ozs7Ozs7O0FDRDlDO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNIQTtBQUNBLGtCQUFrQixtQkFBTyxDQUFDLHNEQUFRO0FBQ2xDO0FBQ0EsMENBQTBDLG1CQUFPLENBQUMsd0RBQVMsNkJBQTZCO0FBQ3hGO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDTkEsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNKQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsb0VBQWU7QUFDdkMsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLHNCQUFzQixtQkFBTyxDQUFDLGtGQUFzQjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssWUFBWSxlQUFlO0FBQ2hDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7Ozs7Ozs7Ozs7OztBQ3RCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsbUJBQU8sQ0FBQyxzREFBUTtBQUMxQixjQUFjLG1CQUFPLENBQUMsOERBQVk7QUFDbEMsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQyxVQUFVLG1CQUFPLENBQUMsd0ZBQXlCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxlQUFlO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBLDhCQUE4QjtBQUM5Qiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxTQUFTLGlDQUFpQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUMzQ0EsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLGNBQWMsbUJBQU8sQ0FBQyxnRUFBYTtBQUNuQyxjQUFjLG1CQUFPLENBQUMsc0RBQVE7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7Ozs7Ozs7Ozs7QUNmQTtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLGtHQUE4Qjs7QUFFL0Q7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNMQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDSkEsNkJBQTZCO0FBQzdCLHVDQUF1Qzs7Ozs7Ozs7Ozs7O0FDRHZDO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsb0VBQWU7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDSkE7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQywwREFBVTtBQUNwQyxpQ0FBaUMsUUFBUSxtQkFBbUIsVUFBVSxFQUFFLEVBQUU7QUFDMUUsQ0FBQzs7Ozs7Ozs7Ozs7O0FDSEQsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyw0REFBVztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNOQSxhQUFhLG1CQUFPLENBQUMsNERBQVc7QUFDaEMsV0FBVyxtQkFBTyxDQUFDLHdEQUFTO0FBQzVCLFdBQVcsbUJBQU8sQ0FBQyx3REFBUztBQUM1QixlQUFlLG1CQUFPLENBQUMsZ0VBQWE7QUFDcEMsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtGQUFrRix1QkFBdUI7QUFDekcsaUVBQWlFO0FBQ2pFLCtEQUErRDtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsZUFBZTtBQUNmLGVBQWU7QUFDZixlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCOzs7Ozs7Ozs7Ozs7QUMxQ0EsWUFBWSxtQkFBTyxDQUFDLHNEQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUssWUFBWTtBQUNqQixHQUFHO0FBQ0g7Ozs7Ozs7Ozs7OztBQ1hBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ05BLGlCQUFpQixtQkFBTyxDQUFDLDREQUFXOzs7Ozs7Ozs7Ozs7QUNBcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qzs7Ozs7Ozs7Ozs7O0FDTHpDLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ0hBLFNBQVMsbUJBQU8sQ0FBQyxrRUFBYztBQUMvQixpQkFBaUIsbUJBQU8sQ0FBQywwRUFBa0I7QUFDM0MsaUJBQWlCLG1CQUFPLENBQUMsc0VBQWdCO0FBQ3pDO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDUEEsa0JBQWtCLG1CQUFPLENBQUMsc0VBQWdCLE1BQU0sbUJBQU8sQ0FBQywwREFBVTtBQUNsRSwrQkFBK0IsbUJBQU8sQ0FBQyxvRUFBZSxnQkFBZ0IsbUJBQW1CLFVBQVUsRUFBRSxFQUFFO0FBQ3ZHLENBQUM7Ozs7Ozs7Ozs7OztBQ0ZEO0FBQ0EsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNMQTtBQUNBLFVBQVUsbUJBQU8sQ0FBQyxzREFBUTtBQUMxQjtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ0pBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNMQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ0ZBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLFVBQVUsbUJBQU8sQ0FBQyxzREFBUTtBQUMxQixZQUFZLG1CQUFPLENBQUMsc0RBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ1BBOzs7Ozs7Ozs7Ozs7QUNBQSxlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckMscUJBQXFCLG1CQUFPLENBQUMsNEVBQW1CO0FBQ2hELGtCQUFrQixtQkFBTyxDQUFDLHdFQUFpQjtBQUMzQzs7QUFFQSxZQUFZLG1CQUFPLENBQUMsc0VBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLFlBQVk7QUFDZjtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDUEEsYUFBYSxtQkFBTyxDQUFDLDREQUFXO0FBQ2hDLFdBQVcsbUJBQU8sQ0FBQyx3REFBUztBQUM1QixVQUFVLG1CQUFPLENBQUMsc0RBQVE7QUFDMUIsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCLGdCQUFnQixtQkFBTyxDQUFDLG9GQUF1QjtBQUMvQztBQUNBOztBQUVBLG1CQUFPLENBQUMsd0RBQVM7QUFDakI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLENBQUM7Ozs7Ozs7Ozs7OztBQzlCRCxXQUFXLG1CQUFPLENBQUMsd0RBQVM7QUFDNUIsYUFBYSxtQkFBTyxDQUFDLDREQUFXO0FBQ2hDO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBLHFFQUFxRTtBQUNyRSxDQUFDO0FBQ0Q7QUFDQSxRQUFRLG1CQUFPLENBQUMsOERBQVk7QUFDNUI7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7O0FDWFk7QUFDYixZQUFZLG1CQUFPLENBQUMsMERBQVU7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxjQUFjO0FBQ3ZELEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7O0FDUkEsc0JBQXNCO0FBQ3RCLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQyxjQUFjLG1CQUFPLENBQUMsOERBQVk7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNQQSxnQkFBZ0IsbUJBQU8sQ0FBQyxvRUFBZTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDTEE7QUFDQSxjQUFjLG1CQUFPLENBQUMsOERBQVk7QUFDbEMsY0FBYyxtQkFBTyxDQUFDLDhEQUFZO0FBQ2xDO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDTEE7QUFDQSxnQkFBZ0IsbUJBQU8sQ0FBQyxvRUFBZTtBQUN2QztBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEOzs7Ozs7Ozs7Ozs7QUNMQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyw4REFBWTtBQUNsQztBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ0pBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNKQSxZQUFZLG1CQUFPLENBQUMsNERBQVc7QUFDL0IsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCLGFBQWEsbUJBQU8sQ0FBQyw0REFBVztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7OztBQ1ZhO0FBQ2IsY0FBYyxtQkFBTyxDQUFDLDREQUFXO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQywwRUFBa0I7QUFDekMsYUFBYSxtQkFBTyxDQUFDLDBFQUFrQjs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7OztBQ1ZEO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLDREQUFXOztBQUVqQyw4QkFBOEIsWUFBWSxtQkFBTyxDQUFDLG9FQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7QUNIcEU7QUFDYTtBQUNiLGNBQWMsbUJBQU8sQ0FBQyw0REFBVztBQUNqQyxlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckMsY0FBYyxtQkFBTyxDQUFDLDRFQUFtQjtBQUN6QztBQUNBOztBQUVBLGdDQUFnQyxtQkFBTyxDQUFDLDhFQUFvQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7OztBQ2pCWTtBQUNiO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLDREQUFXO0FBQ2pDLGdCQUFnQixtQkFBTyxDQUFDLDRFQUFtQjs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVELG1CQUFPLENBQUMsb0ZBQXVCOzs7Ozs7Ozs7Ozs7O0FDWGxCO0FBQ2I7Ozs7Ozs7O0FBS0EsU0FBU0EsYUFBVCxDQUF1QkMsVUFBdkIsRUFBbUM7QUFDakM7QUFDQTtBQUNBLE1BQUksT0FBT0EsVUFBUCxLQUFzQixRQUExQixFQUFvQztBQUNsQyxRQUFJO0FBQ0YsYUFBT0QsYUFBYSxDQUFDRSxJQUFJLENBQUNDLEtBQUwsQ0FBV0YsVUFBWCxDQUFELENBQXBCO0FBQ0QsS0FGRCxDQUVFLE9BQU9HLEdBQVAsRUFBWTtBQUNaLGFBQU9ILFVBQVA7QUFDRDtBQUNGLEdBTkQsTUFNTyxJQUFJSSxLQUFLLENBQUNDLE9BQU4sQ0FBY0wsVUFBZCxDQUFKLEVBQStCO0FBQ3BDO0FBQ0EsV0FBT0EsVUFBVSxDQUFDTSxHQUFYLENBQWUsVUFBQUMsR0FBRztBQUFBLGFBQUlSLGFBQWEsQ0FBQ1EsR0FBRCxDQUFqQjtBQUFBLEtBQWxCLENBQVA7QUFDRCxHQUhNLE1BR0EsSUFBSSxRQUFPUCxVQUFQLE1BQXNCLFFBQXRCLElBQWtDQSxVQUFVLEtBQUssSUFBckQsRUFBMkQ7QUFDaEU7QUFDQTtBQUNBLFdBQU9RLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZVCxVQUFaLEVBQXdCVSxNQUF4QixDQUErQixVQUFDQyxHQUFELEVBQU1DLEdBQU4sRUFBYztBQUNsREQsU0FBRyxDQUFDQyxHQUFELENBQUgsR0FBV2IsYUFBYSxDQUFDQyxVQUFVLENBQUNZLEdBQUQsQ0FBWCxDQUF4QjtBQUNBLGFBQU9ELEdBQVA7QUFDRCxLQUhNLEVBR0osRUFISSxDQUFQO0FBSUQsR0FQTSxNQU9BO0FBQ0w7QUFDQSxXQUFPWCxVQUFQO0FBQ0Q7QUFDRjs7QUFFRGEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQUVmLGVBQWEsRUFBYkE7QUFBRixDQUFqQixDOzs7Ozs7Ozs7OztBQy9CQTtBQUNBLHVEQUF1RCxtQkFBTyxDQUFDLDJGQUF5QixFOzs7Ozs7Ozs7Ozs7QUNEeEYsK0VBQWlDLG1CQUFPLENBQUMsNkNBQVksRTs7Ozs7Ozs7Ozs7O0FDQXJEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixrQkFBa0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGtCQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyQ0FBMkMsRUFBRTtBQUM3QyxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNULHlCQUF5QjtBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1QixrQkFBa0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1QixrQkFBa0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJDO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsd0JBQXdCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixrQkFBa0I7QUFDN0M7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixrQkFBa0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVELEtBQTZCLDZDQUE2QyxvQjs7Ozs7Ozs7Ozs7QUNqUzFFLFdBQVcsbUJBQU8sQ0FBQywrQ0FBUzs7QUFFNUI7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLEVBQUU7QUFDYixXQUFXLE1BQU07QUFDakIsYUFBYSxFQUFFO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3BCQSxnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYztBQUN0QyxrQkFBa0IsbUJBQU8sQ0FBQywyREFBZTtBQUN6QyxjQUFjLG1CQUFPLENBQUMsbURBQVc7QUFDakMsZUFBZSxtQkFBTyxDQUFDLHFEQUFZO0FBQ25DLGNBQWMsbUJBQU8sQ0FBQyxxREFBWTtBQUNsQyxtQkFBbUIsbUJBQU8sQ0FBQyw2REFBZ0I7O0FBRTNDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFdBQVcsUUFBUTtBQUNuQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2hEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCLFdBQVcsU0FBUztBQUNwQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwQkEsc0JBQXNCLG1CQUFPLENBQUMscUVBQW9CO0FBQ2xELFNBQVMsbUJBQU8sQ0FBQyx5Q0FBTTs7QUFFdkI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxFQUFFO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDM0JBLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFtQjs7QUFFaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxFQUFFO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUN4QkEsYUFBYSxtQkFBTyxDQUFDLG1EQUFXO0FBQ2hDLGdCQUFnQixtQkFBTyxDQUFDLHlEQUFjO0FBQ3RDLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFtQjs7QUFFaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUMzQkEsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7QUFDeEMsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNqQkEsaUJBQWlCLG1CQUFPLENBQUMseURBQWM7QUFDdkMsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLGVBQWUsbUJBQU8sQ0FBQyxxREFBWTtBQUNuQyxlQUFlLG1CQUFPLENBQUMsdURBQWE7O0FBRXBDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzlDQSxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTtBQUN4QyxlQUFlLG1CQUFPLENBQUMscURBQVk7QUFDbkMsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCOztBQUUzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzNEQSxrQkFBa0IsbUJBQU8sQ0FBQyw2REFBZ0I7QUFDMUMsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7O0FBRXhDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzdCQSxlQUFlLG1CQUFPLENBQUMscURBQVk7QUFDbkMsa0JBQWtCLG1CQUFPLENBQUMsNkRBQWdCO0FBQzFDLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFpQjs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDaENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2JBLGVBQWUsbUJBQU8sQ0FBQyxxREFBWTtBQUNuQyxlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMsa0JBQWtCLG1CQUFPLENBQUMsNkRBQWdCOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLE9BQU87QUFDbEIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNoQkEsZUFBZSxtQkFBTyxDQUFDLHFEQUFZO0FBQ25DLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFtQjtBQUNoRCxlQUFlLG1CQUFPLENBQUMscURBQVk7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3JCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsU0FBUztBQUNwQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbkJBLGFBQWEsbUJBQU8sQ0FBQyxtREFBVztBQUNoQyxlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMsY0FBYyxtQkFBTyxDQUFDLG1EQUFXO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQyxxREFBWTs7QUFFbkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2JBLGVBQWUsbUJBQU8sQ0FBQyx1REFBYTs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsTUFBTTtBQUNqQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2xCQSxrQkFBa0IsbUJBQU8sQ0FBQyw2REFBZ0I7QUFDMUMsc0JBQXNCLG1CQUFPLENBQUMscUVBQW9COztBQUVsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE1BQU07QUFDakIsV0FBVyxPQUFPLFdBQVc7QUFDN0IsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUN2Q0EsV0FBVyxtQkFBTyxDQUFDLCtDQUFTOztBQUU1QjtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNMQSxlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMscUJBQXFCLG1CQUFPLENBQUMsbUVBQW1COztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcENBLFNBQVMsbUJBQU8sQ0FBQyx5Q0FBTTs7QUFFdkI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFdBQVcsRUFBRTtBQUNiLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYSxFQUFFO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDNUJBLGdCQUFnQixtQkFBTyxDQUFDLHlEQUFjOztBQUV0QztBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDs7Ozs7Ozs7Ozs7O0FDVkEscUJBQXFCLG1CQUFPLENBQUMsbUVBQW1COztBQUVoRDtBQUNBO0FBQ0EsYUFBYTtBQUNiLFlBQVk7QUFDWixZQUFZO0FBQ1osY0FBYztBQUNkLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3JCQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7O0FDSEEsbUJBQW1CLG1CQUFPLENBQUMsK0RBQWlCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyx1REFBYTs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsRUFBRTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2hCQSxjQUFjLG1CQUFPLENBQUMscURBQVk7O0FBRWxDO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ0xBLGFBQWEsbUJBQU8sQ0FBQyxtREFBVzs7QUFFaEM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDN0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhLEVBQUU7QUFDZjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDWkE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUN4QkEsU0FBUyxtQkFBTyxDQUFDLHlDQUFNO0FBQ3ZCLGtCQUFrQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3pDLGNBQWMsbUJBQU8sQ0FBQyxxREFBWTtBQUNsQyxlQUFlLG1CQUFPLENBQUMscURBQVk7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsV0FBVyxFQUFFO0FBQ2IsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDN0JBLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlOztBQUV4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNuQkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNqQkEsY0FBYyxtQkFBTyxDQUFDLHFEQUFZOztBQUVsQztBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNuQkEsK0RBQWlCLG1CQUFPLENBQUMsMkRBQWU7O0FBRXhDO0FBQ0Esa0JBQWtCLEtBQTBCOztBQUU1QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7Ozs7Ozs7Ozs7Ozs7QUM3QkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3JCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDZEEsWUFBWSxtQkFBTyxDQUFDLGlEQUFVOztBQUU5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsT0FBTztBQUNsQixXQUFXLFNBQVM7QUFDcEIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNuQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDSEE7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDSEE7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDSEEsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7O0FBRXhDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDUkEsc0JBQXNCLG1CQUFPLENBQUMscUVBQW9CO0FBQ2xELGVBQWUsbUJBQU8sQ0FBQyx1REFBYTs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsU0FBUztBQUN0QjtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNiQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3BDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3pCQSxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTtBQUN4QyxxQkFBcUIsbUJBQU8sQ0FBQyxtRUFBbUI7QUFDaEQsYUFBYSxtQkFBTyxDQUFDLGlEQUFVOztBQUUvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLFVBQVU7QUFDckIsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUztBQUM5QyxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7Ozs7Ozs7Ozs7O0FDckNBLFlBQVksbUJBQU8sQ0FBQyxpREFBVTtBQUM5QixlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMsY0FBYyxtQkFBTyxDQUFDLG1EQUFXOztBQUVqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsS0FBSztBQUNoQixhQUFhLEVBQUU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLENBQUM7O0FBRUQ7Ozs7Ozs7Ozs7OztBQ2xDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0Esd0NBQXdDLFNBQVM7QUFDakQ7QUFDQTtBQUNBLFdBQVcsU0FBUyxHQUFHLFNBQVM7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUN6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwQ0EscUJBQXFCLG1CQUFPLENBQUMsbUVBQW1CO0FBQ2hELGVBQWUsbUJBQU8sQ0FBQyxxREFBWTs7QUFFbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUMxQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLEVBQUU7QUFDZjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwQkEsc0JBQXNCLG1CQUFPLENBQUMscUVBQW9CO0FBQ2xELG1CQUFtQixtQkFBTyxDQUFDLDZEQUFnQjs7QUFFM0M7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGtCQUFrQixFQUFFO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsa0JBQWtCLEVBQUU7QUFDbEU7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNuQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUN6QkEsaUJBQWlCLG1CQUFPLENBQUMseURBQWM7QUFDdkMsZUFBZSxtQkFBTyxDQUFDLHFEQUFZOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDaENBLHlEQUFXLG1CQUFPLENBQUMsK0NBQVM7QUFDNUIsZ0JBQWdCLG1CQUFPLENBQUMsdURBQWE7O0FBRXJDO0FBQ0Esa0JBQWtCLEtBQTBCOztBQUU1QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7OztBQ3JDQSxpQkFBaUIsbUJBQU8sQ0FBQywyREFBZTtBQUN4QyxtQkFBbUIsbUJBQU8sQ0FBQyw2REFBZ0I7QUFDM0Msb0JBQW9CLG1CQUFPLENBQUMsK0RBQWlCOztBQUU3QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbkNBLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLGVBQWUsbUJBQU8sQ0FBQyxxREFBWTs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2xDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDNUJBLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFpQjtBQUM1QyxtQkFBbUIsbUJBQU8sQ0FBQyw2REFBZ0I7O0FBRTNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGlCQUFpQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUM3REEsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7QUFDeEMsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDNUJBLHVCQUF1QixtQkFBTyxDQUFDLHVFQUFxQjtBQUNwRCxnQkFBZ0IsbUJBQU8sQ0FBQyx5REFBYztBQUN0QyxlQUFlLG1CQUFPLENBQUMsdURBQWE7O0FBRXBDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUMxQkEsb0JBQW9CLG1CQUFPLENBQUMsaUVBQWtCO0FBQzlDLGVBQWUsbUJBQU8sQ0FBQyx1REFBYTtBQUNwQyxrQkFBa0IsbUJBQU8sQ0FBQywyREFBZTs7QUFFekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwQ0Esb0JBQW9CLG1CQUFPLENBQUMsaUVBQWtCO0FBQzlDLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLGtCQUFrQixtQkFBTyxDQUFDLDJEQUFlOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDL0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2pCQSxtQkFBbUIsbUJBQU8sQ0FBQyw2REFBZ0I7QUFDM0MsY0FBYyxtQkFBTyxDQUFDLG1EQUFXO0FBQ2pDLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLDZCQUE2QixtQkFBTyxDQUFDLG1GQUEyQjtBQUNoRSx1QkFBdUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDcEQsY0FBYyxtQkFBTyxDQUFDLG1EQUFXO0FBQ2pDLHFCQUFxQixtQkFBTyxDQUFDLG1FQUFtQjtBQUNoRCxXQUFXLG1CQUFPLENBQUMsNkNBQVE7QUFDM0Isb0JBQW9CLG1CQUFPLENBQUMsaUVBQWtCO0FBQzlDLHVCQUF1QixtQkFBTyxDQUFDLHFFQUFvQjtBQUNuRCxlQUFlLG1CQUFPLENBQUMscURBQVk7O0FBRW5DO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0EseURBQXlEOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixNQUFNLGFBQWEsT0FBTzs7QUFFbEQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPLFlBQVk7QUFDOUIsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsWUFBWSxPQUFPO0FBQ25CLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUJBQWlCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxzQkFBc0I7QUFDbkMsaUJBQWlCLFVBQVU7QUFDM0I7QUFDQTtBQUNBLGtFQUFrRSwyQkFBMkIsRUFBRTtBQUMvRixhQUFhLDhCQUE4QjtBQUMzQztBQUNBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQsYUFBYSxtQkFBbUI7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsT0FBTztBQUM3QyxhQUFhLG9CQUFvQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEscUJBQXFCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCwyQkFBMkIsRUFBRTtBQUM5RSxvQ0FBb0MsYUFBYSxlQUFlLEVBQUU7QUFDbEUsYUFBYSw4QkFBOEI7QUFDM0M7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELHFDQUFxQztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCxxQkFBcUI7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxZQUFZO0FBQ25ELHNDQUFzQyxRQUFRO0FBQzlDLGFBQWEscUJBQXFCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7O0FBRTNCLCtCQUErQjtBQUMvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix3QkFBd0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVILGVBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1CQUFtQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3Qzs7QUFFeEM7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBLHlCQUF5QixFQUFFO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDLDJCQUEyQixpQ0FBaUM7QUFDNUQsVUFBVTtBQUNWO0FBQ0E7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDNVBBLGFBQWEsbUJBQU8sQ0FBQyxpREFBVTtBQUMvQixlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7QUFDeEMsb0JBQW9CLG1CQUFPLENBQUMsaUVBQWtCOztBQUU5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNsRUEsbUJBQW1CLG1CQUFPLENBQUMsK0RBQWlCOztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzNCQSxxTEFBcUwsbUJBQW1CLEVBQUUsZ0JBQWdCLDZCQUE2QixFQUFFLG1CQUFtQixrQ0FBa0MsRUFBRSxlQUFlLGlCQUFpQixFQUFFLG9CQUFvQiwwQkFBMEIsMEJBQTBCLEVBQUUsc0JBQXNCLHlDQUF5QyxzQ0FBc0MscUNBQXFDLGlDQUFpQyxFQUFFLG9CQUFvQix5Q0FBeUMsc0NBQXNDLHFDQUFxQyxpQ0FBaUMsRUFBRSwrQkFBK0IsdUJBQXVCLEVBQUUsdUJBQXVCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLHdCQUF3Qix1QkFBdUIsbUJBQW1CLDhCQUE4QiwyQkFBMkIsd0JBQXdCLHdCQUF3Qix1QkFBdUIscUJBQXFCLEVBQUUsNkJBQTZCLDJDQUEyQyxtQ0FBbUMscUNBQXFDLDZCQUE2QixnREFBZ0Qsd0NBQXdDLG1EQUFtRCwyQ0FBMkMsRUFBRSwrQ0FBK0MsVUFBVSx3QkFBd0IseUJBQXlCLEVBQUUsUUFBUSx3QkFBd0IseUJBQXlCLEVBQUUsRUFBRSx1Q0FBdUMsVUFBVSx3QkFBd0IseUJBQXlCLEVBQUUsUUFBUSx3QkFBd0IseUJBQXlCLEVBQUUsRUFBRSxzQkFBc0IsdUJBQXVCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLGlDQUFpQyxrQ0FBa0MsK0JBQStCLDJCQUEyQixxQkFBcUIsRUFBRSx1Q0FBdUMsbUJBQW1CLEVBQUUsb0NBQW9DLHlCQUF5QixtQkFBbUIsa0JBQWtCLG1CQUFtQixpREFBaUQseUNBQXlDLEVBQUUsNkNBQTZDLG9CQUFvQixpREFBaUQsNmhLQUE2aEssb0NBQW9DLDRCQUE0QixxQ0FBcUMsb0NBQW9DLHVCQUF1QixxQkFBcUIscUJBQXFCLEVBQUUseURBQXlELHFCQUFxQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixFQUFFLDJCQUEyQix5QkFBeUIseUJBQXlCLGtCQUFrQixtQ0FBbUMsa0NBQWtDLDRCQUE0Qix3QkFBd0IsRUFBRSw0Q0FBNEMsMEJBQTBCLHlCQUF5QixxQkFBcUIsZ0JBQWdCLG9CQUFvQixFQUFFLGNBQWMsb0JBQW9CLHVCQUF1Qix5QkFBeUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIsRUFBRSwrREFBK0QsdUJBQXVCLDBCQUEwQix5QkFBeUIscUJBQXFCLGVBQWUsRUFBRSwrQkFBK0IsbUJBQW1CLEVBQUUsMlZBQTJWLHVCQUF1QixpQkFBaUIsbUJBQW1CLHFCQUFxQix3QkFBd0IsdUJBQXVCLG1CQUFtQixFQUFFLHVCQUF1Qix5QkFBeUIseUJBQXlCLGtCQUFrQixFQUFFLHdDQUF3Qyx1QkFBdUIsd0NBQXdDLEVBQUUsc0VBQXNFLHlCQUF5QixFQUFFLG1FQUFtRSwyQkFBMkIsNEJBQTRCLG9CQUFvQixFQUFFLDhCQUE4QixnQkFBZ0IscUJBQXFCLEVBQUUseUNBQXlDLHVCQUF1QixFQUFFLCtCQUErQixtQkFBbUIsZ0JBQWdCLEVBQUUsMmFBQTJhLHVCQUF1QixFQUFFLHFGQUFxRixpQkFBaUIsd0JBQXdCLEVBQUUsK0NBQStDLHFCQUFxQixFQUFFLHdJQUF3SSxxQkFBcUIsRUFBRSxpREFBaUQsbUJBQW1CLEVBQUUsdUNBQXVDLHdCQUF3QixtQkFBbUIsZUFBZSxFQUFFLCtEQUErRCxzQkFBc0IsRUFBRSxxQ0FBcUMsbUJBQW1CLEVBQUUsMENBQTBDLGlCQUFpQixFQUFFLGlIQUFpSCx1QkFBdUIsYUFBYSxjQUFjLHlCQUF5QixFQUFFLDhCQUE4QixnQkFBZ0IsRUFBRSxxRkFBcUYsMEJBQTBCLHFCQUFxQixpQkFBaUIsZ0JBQWdCLEVBQUUsZ0NBQWdDLHFCQUFxQixFQUFFLGtIQUFrSCx3QkFBd0IsZ0JBQWdCLFlBQVksaUJBQWlCLHFCQUFxQixFQUFFLGdDQUFnQyxrQkFBa0IsaUJBQWlCLGdCQUFnQix5QkFBeUIseUJBQXlCLGtCQUFrQix1QkFBdUIsRUFBRSxpREFBaUQsa0JBQWtCLEVBQUUsNkRBQTZELGlCQUFpQixpQkFBaUIsMkJBQTJCLDRCQUE0QixvQkFBb0IsdUJBQXVCLEVBQUUsbUdBQW1HLHlCQUF5QixFQUFFLG9KQUFvSiwwQkFBMEIscUJBQXFCLEVBQUUsNElBQTRJLHNCQUFzQixFQUFFLGdCQUFnQix5QkFBeUIseUJBQXlCLGtCQUFrQixnQkFBZ0Isd0JBQXdCLEVBQUUscUJBQXFCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLEVBQUUsNEJBQTRCLGlCQUFpQixFQUFFLDZCQUE2QixpQkFBaUIsRUFBRSxvQkFBb0IsdUJBQXVCLHFCQUFxQixFQUFFLHdCQUF3QixtQkFBbUIsdUJBQXVCLEVBQUUscUJBQXFCLGdDQUFnQyxnQ0FBZ0MseUJBQXlCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLHVCQUF1QixpQkFBaUIscUJBQXFCLHFCQUFxQixFQUFFLHdEQUF3RCx5QkFBeUIseUJBQXlCLGtCQUFrQix3QkFBd0IsdUJBQXVCLG1CQUFtQixxQkFBcUIsOEJBQThCLDJCQUEyQix3QkFBd0IsNEJBQTRCLGlCQUFpQixFQUFFLGdEQUFnRCxxQkFBcUIsNEJBQTRCLHdCQUF3QixFQUFFLDhDQUE4QyxtQ0FBbUMsbUNBQW1DLG9DQUFvQyxnQ0FBZ0MsRUFBRSwyQkFBMkIscUJBQXFCLDRCQUE0Qix3QkFBd0IsRUFBRSw0QkFBNEIsdUJBQXVCLGVBQWUsaUJBQWlCLGVBQWUsRUFBRSw0QkFBNEIsc0JBQXNCLEVBQUUsMkJBQTJCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLG1CQUFtQixFQUFFLG1IQUFtSCxrQ0FBa0MsMEJBQTBCLEVBQUUsdUNBQXVDLGtDQUFrQywwQkFBMEIsRUFBRSw2Q0FBNkMsOENBQThDLHNDQUFzQyxFQUFFLDhHQUE4Ryx5QkFBeUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIscUJBQXFCLHdCQUF3Qix1QkFBdUIsbUJBQW1CLEVBQUUsNkJBQTZCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLGlDQUFpQyxrQ0FBa0MsK0JBQStCLDJCQUEyQixxQkFBcUIsd0JBQXdCLHlCQUF5QixpQkFBaUIseUJBQXlCLG1CQUFtQiwrQkFBK0Isa0JBQWtCLEVBQUUsMkRBQTJELDJCQUEyQiwyQkFBMkIsb0JBQW9CLDBCQUEwQixxQkFBcUIsaUJBQWlCLEVBQUUsb0ZBQW9GLDRCQUE0QiwyQkFBMkIsdUJBQXVCLEVBQUUsNkZBQTZGLDRCQUE0QiwyQkFBMkIsdUJBQXVCLEVBQUUscUdBQXFHLHNCQUFzQixFQUFFLHlEQUF5RCwwQkFBMEIseUJBQXlCLHFCQUFxQixxQkFBcUIsRUFBRSxxQkFBcUIsZ0NBQWdDLGdDQUFnQyx5QkFBeUIsOEJBQThCLDJCQUEyQix3QkFBd0IsbUJBQW1CLGdCQUFnQixFQUFFLDBDQUEwQywyQkFBMkIsMkJBQTJCLG9CQUFvQixnQ0FBZ0MsNkJBQTZCLDBCQUEwQixFQUFFLGlFQUFpRSw2QkFBNkIsNkJBQTZCLHNCQUFzQixrQ0FBa0MsK0JBQStCLDRCQUE0QixFQUFFLDZGQUE2RiwyQkFBMkIsOEJBQThCLDZCQUE2Qix5QkFBeUIsa0NBQWtDLDhCQUE4QixFQUFFLDZDQUE2Qyx5QkFBeUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIscUJBQXFCLHdCQUF3QixzQkFBc0IsZ0JBQWdCLCtCQUErQiw0QkFBNEIseUJBQXlCLEVBQUUsbURBQW1ELDJCQUEyQiwyQkFBMkIsb0JBQW9CLGdDQUFnQyw2QkFBNkIsMEJBQTBCLEVBQUUsa0VBQWtFLGlDQUFpQyw4QkFBOEIsMkJBQTJCLDBCQUEwQiwyQkFBMkIsbUJBQW1CLG1DQUFtQyxvQ0FBb0MsaUNBQWlDLDZCQUE2Qix1QkFBdUIsRUFBRSwyRUFBMkUscUJBQXFCLEVBQUUsK0NBQStDLHdCQUF3QixxQkFBcUIsRUFBRSwrR0FBK0csMkdBQTJHLG1HQUFtRywyRkFBMkYsbUhBQW1ILEVBQUUsa0NBQWtDLDhDQUE4QyxzQ0FBc0MsRUFBRSxhQUFhLHdCQUF3QixnQkFBZ0IsRUFBRSwrQkFBK0IsdUJBQXVCLEVBQUUsK0JBQStCLHVCQUF1QixFQUFFLHdCQUF3QixxQkFBcUIsd0JBQXdCLEVBQUUsNEJBQTRCLGVBQWUsRUFBRSxzQkFBc0IsZUFBZSxFQUFFLG1CQUFtQix5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixFQUFFLCtGQUErRiwwQkFBMEIscUJBQXFCLHVCQUF1Qiw0QkFBNEIsd0JBQXdCLEVBQUUsc0JBQXNCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLGdCQUFnQixpQkFBaUIsRUFBRSxtQ0FBbUMsK0JBQStCLDRCQUE0Qiw4QkFBOEIsRUFBRSx1RUFBdUUsdUJBQXVCLDhCQUE4QixFQUFFLHNEQUFzRCw4QkFBOEIsMkJBQTJCLHdCQUF3QixFQUFFLDBCQUEwQixpQkFBaUIsRUFBRSwrQkFBK0IsMEJBQTBCLGlCQUFpQixxQkFBcUIsNEJBQTRCLHdCQUF3QixnQkFBZ0IsRUFBRSxnQ0FBZ0MsMEJBQTBCLGlCQUFpQixxQkFBcUIsNEJBQTRCLHdCQUF3QixnQkFBZ0IsRUFBRSw2QkFBNkIsZUFBZSxFQUFFLDRGQUE0RixtQkFBbUIsa0JBQWtCLDBCQUEwQixFQUFFLDRHQUE0RyxxQkFBcUIsNEJBQTRCLHdCQUF3QixFQUFFLG9DQUFvQyx5QkFBeUIsRUFBRSx3Q0FBd0MseUJBQXlCLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQywrQkFBK0IsMkJBQTJCLEVBQUUsa0NBQWtDLHdCQUF3Qix1QkFBdUIsbUJBQW1CLEVBQUUsZ01BQWdNLGlCQUFpQixFQUFFLDhCQUE4Qix5QkFBeUIseUJBQXlCLGtCQUFrQix3QkFBd0IsdUJBQXVCLG1CQUFtQixpQkFBaUIsRUFBRSxvQ0FBb0MsZ0JBQWdCLDBCQUEwQix5QkFBeUIscUJBQXFCLG1DQUFtQyxFQUFFLG1DQUFtQyx5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixpQkFBaUIsZ0JBQWdCLEVBQUUseUNBQXlDLDBCQUEwQix5QkFBeUIscUJBQXFCLEVBQUUseUNBQXlDLGdCQUFnQixrQkFBa0IsRUFBRSx5REFBeUQsbUJBQW1CLEVBQUUseUJBQXlCLDBCQUEwQix1QkFBdUIsRUFBRSwrQkFBK0IsZ0JBQWdCLEVBQUUsOENBQThDLDJCQUEyQixFQUFFLHlDQUF5QywyQkFBMkIsRUFBRSw4QkFBOEIsdUJBQXVCLDhCQUE4QiwyQkFBMkIsMEJBQTBCLHNCQUFzQixFQUFFLGdDQUFnQyx5QkFBeUIseUJBQXlCLGtCQUFrQix3QkFBd0IsbUJBQW1CLGVBQWUsRUFBRSwwR0FBMEcseUJBQXlCLHlCQUF5QixrQkFBa0IsOEJBQThCLDJCQUEyQix3QkFBd0Isd0JBQXdCLDRCQUE0QixpQkFBaUIsa0VBQWtFLG9CQUFvQixxQkFBcUIscUJBQXFCLGlCQUFpQix1QkFBdUIsNEJBQTRCLDhCQUE4QiwyQkFBMkIsMEJBQTBCLHNCQUFzQixnQkFBZ0IsRUFBRSx3QkFBd0IsaUJBQWlCLEVBQUUsb0dBQW9HLGlCQUFpQixZQUFZLHlCQUF5Qix1QkFBdUIsV0FBVyxnQkFBZ0IsRUFBRSx1QkFBdUIseUJBQXlCLHlCQUF5QixrQkFBa0IsaUJBQWlCLHlCQUF5QixnQkFBZ0IsRUFBRSx5QkFBeUIseUJBQXlCLHlCQUF5QixrQkFBa0Isd0JBQXdCLG1CQUFtQixlQUFlLGdCQUFnQixpQkFBaUIsOEJBQThCLDJCQUEyQix3QkFBd0IsNkJBQTZCLDBCQUEwQiw0QkFBNEIsdUJBQXVCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLHVEQUF1RCxzQkFBc0IsRUFBRSxzR0FBc0csZUFBZSxFQUFFLHdCQUF3QixpQkFBaUIsWUFBWSxvQkFBb0IsV0FBVyxnQkFBZ0IsRUFBRSxzQkFBc0IsdUJBQXVCLDhCQUE4QiwyQkFBMkIsMEJBQTBCLHNCQUFzQixlQUFlLEVBQUUsb0hBQW9ILHVCQUF1QixnQkFBZ0IsRUFBRSxvREFBb0QseUNBQXlDLEVBQUUseUhBQXlILHFCQUFxQix3QkFBd0IsZ0JBQWdCLHVCQUF1Qix5QkFBeUIseUJBQXlCLGtCQUFrQixFQUFFLGtDQUFrQywwQkFBMEIscUJBQXFCLHVCQUF1QixtQkFBbUIsMkJBQTJCLDRCQUE0QixvQkFBb0IsRUFBRSxtQ0FBbUMsMEJBQTBCLHFCQUFxQix1QkFBdUIsbUJBQW1CLDJCQUEyQiw0QkFBNEIsb0JBQW9CLEVBQUUseUJBQXlCLHFCQUFxQix3QkFBd0IsZ0JBQWdCLHVCQUF1Qix5QkFBeUIseUJBQXlCLGtCQUFrQixFQUFFLHFDQUFxQywwQkFBMEIscUJBQXFCLHVCQUF1QixtQkFBbUIsMkJBQTJCLDRCQUE0QixvQkFBb0IsRUFBRSxzQ0FBc0MsMEJBQTBCLHFCQUFxQix1QkFBdUIsbUJBQW1CLDJCQUEyQiw0QkFBNEIsb0JBQW9CLEVBQUUsNkdBQTZHLHlCQUF5Qix5QkFBeUIsa0JBQWtCLGlDQUFpQyxrQ0FBa0MsK0JBQStCLDJCQUEyQix1QkFBdUIscUJBQXFCLEVBQUUsdURBQXVELDJCQUEyQiwyQkFBMkIsb0JBQW9CLDBCQUEwQixxQkFBcUIsaUJBQWlCLGdDQUFnQyw2QkFBNkIsMEJBQTBCLHNCQUFzQixFQUFFLGlHQUFpRyw0QkFBNEIsMkJBQTJCLHVCQUF1QixFQUFFLHFHQUFxRyw2QkFBNkIsNkJBQTZCLHNCQUFzQixFQUFFLDZIQUE2SCwwQkFBMEIsRUFBRSwrRUFBK0UsMkJBQTJCLDJCQUEyQixvQkFBb0IsMEJBQTBCLHlCQUF5QixxQkFBcUIseUJBQXlCLHVCQUF1QixFQUFFLDZGQUE2RixvQkFBb0IscUJBQXFCLEVBQUUsZ0JBQWdCLHVCQUF1QixFQUFFLDRCQUE0Qix5QkFBeUIsMkJBQTJCLGlCQUFpQixFQUFFLGlEQUFpRCxlQUFlLGdCQUFnQixvQkFBb0IsbUJBQW1CLDRCQUE0QixFQUFFLDZDQUE2QyxlQUFlLGtCQUFrQixtQkFBbUIsb0JBQW9CLDBCQUEwQixFQUFFLGtEQUFrRCxlQUFlLGlCQUFpQixvQkFBb0IsbUJBQW1CLDRCQUE0QixFQUFFLCtDQUErQyxpQkFBaUIsaUJBQWlCLG9CQUFvQixtQkFBbUIsMEJBQTBCLEVBQUUscURBQXFELGtCQUFrQixpQkFBaUIsb0JBQW9CLG1CQUFtQiw0QkFBNEIsRUFBRSxnREFBZ0Qsa0JBQWtCLGtCQUFrQixtQkFBbUIsb0JBQW9CLDBCQUEwQixFQUFFLG9EQUFvRCxrQkFBa0IsZ0JBQWdCLG9CQUFvQixtQkFBbUIsNEJBQTRCLEVBQUUsOENBQThDLGdCQUFnQixpQkFBaUIsb0JBQW9CLG1CQUFtQiwwQkFBMEIsRUFBRSxnQ0FBZ0Msa0JBQWtCLG1CQUFtQiwyQkFBMkIsMkJBQTJCLG9CQUFvQixtQ0FBbUMsb0NBQW9DLGlDQUFpQyw2QkFBNkIsRUFBRSwwREFBMEQsNkJBQTZCLDZCQUE2QixzQkFBc0IsNEJBQTRCLDJCQUEyQix1QkFBdUIsaUNBQWlDLDhCQUE4QixnQ0FBZ0Msa0NBQWtDLCtCQUErQiw0QkFBNEIsRUFBRSw2REFBNkQsNkJBQTZCLDZCQUE2QixzQkFBc0IsaUNBQWlDLDhCQUE4QixnQ0FBZ0MsRUFBRSxvR0FBb0csdUJBQXVCLHlCQUF5QixtQkFBbUIsRUFBRSx1QkFBdUIsbUJBQW1CLHVCQUF1Qiw4QkFBOEIsMkJBQTJCLDBCQUEwQixzQkFBc0IseUJBQXlCLHdCQUF3QixtQkFBbUIsbUNBQW1DLGlCQUFpQix3QkFBd0IsdUJBQXVCLHdGQUF3RixnRkFBZ0YsZUFBZSxrQ0FBa0MsMEJBQTBCLDREQUE0RCxvREFBb0QsNERBQTRELG9EQUFvRCw0Q0FBNEMsK0RBQStELEVBQUUsK0JBQStCLGlCQUFpQixrQ0FBa0MsMEJBQTBCLEVBQUUsOEJBQThCLHdCQUF3QixtQkFBbUIsa0NBQWtDLG1DQUFtQyxtQkFBbUIsZ0NBQWdDLEVBQUUsZ0NBQWdDLG1CQUFtQixFQUFFLCtHQUErRyxzQkFBc0IsZUFBZSxvREFBb0QsNENBQTRDLCtDQUErQyx1Q0FBdUMsRUFBRSw2QkFBNkIsdUJBQXVCLGVBQWUsRUFBRSxzQkFBc0IsMEJBQTBCLEVBQUUsOEZBQThGLHFCQUFxQixxQkFBcUIsdUJBQXVCLDhCQUE4QiwyQkFBMkIsMEJBQTBCLHNCQUFzQixFQUFFLG9DQUFvQyxrQkFBa0IsbUJBQW1CLGlCQUFpQixFQUFFLG1CQUFtQixtQkFBbUIsRUFBRSx5Q0FBeUMsdUJBQXVCLEVBQUUsdURBQXVELDBCQUEwQiw2QkFBNkIsRUFBRSwwQkFBMEIsd0JBQXdCLEVBQUUsNERBQTRELGlCQUFpQixFQUFFLDRHQUE0RyxvQkFBb0Isa0JBQWtCLEVBQUUsMkNBQTJDLDJCQUEyQiwyQkFBMkIsb0JBQW9CLGdDQUFnQyw2QkFBNkIsMEJBQTBCLEVBQUUsb0RBQW9ELDRCQUE0QiwyQkFBMkIsdUJBQXVCLEVBQUUsOERBQThELHVDQUF1Qyw0QkFBNEIsbUJBQW1CLDhCQUE4Qix5QkFBeUIscUJBQXFCLEVBQUUsZ0VBQWdFLDJCQUEyQiwyQkFBMkIsb0JBQW9CLEVBQUUsc0ZBQXNGLDZCQUE2Qiw2QkFBNkIsc0JBQXNCLDRCQUE0QiwyQkFBMkIsdUJBQXVCLGtDQUFrQywrQkFBK0IsNEJBQTRCLDRCQUE0QixFQUFFLDRHQUE0Ryw4QkFBOEIsMkJBQTJCLHdCQUF3Qix5QkFBeUIseUJBQXlCLGtCQUFrQiwwQkFBMEIsdUJBQXVCLDhCQUE4QixFQUFFLG1DQUFtQyx5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixFQUFFLGdEQUFnRCwyQkFBMkIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUsOERBQThELDJCQUEyQixFQUFFLGtIQUFrSCx5QkFBeUIseUJBQXlCLGtCQUFrQixxQkFBcUIsb0JBQW9CLDhCQUE4QiwyQkFBMkIsMEJBQTBCLHNCQUFzQixpQkFBaUIsRUFBRSx3REFBd0QsdUJBQXVCLHNCQUFzQixFQUFFLHVFQUF1RSw4QkFBOEIsMkJBQTJCLHdCQUF3Qix5QkFBeUIseUJBQXlCLGtCQUFrQixtQ0FBbUMsa0NBQWtDLDRCQUE0Qix3QkFBd0IsMEJBQTBCLHNCQUFzQiw0QkFBNEIsd0JBQXdCLEVBQUUsaVJBQWlSLDBCQUEwQix5QkFBeUIscUJBQXFCLHVCQUF1Qiw4QkFBOEIsRUFBRSxnQ0FBZ0MseUJBQXlCLHlCQUF5QixrQkFBa0IsRUFBRSxzQ0FBc0MsdUJBQXVCLGlCQUFpQix1QkFBdUIsV0FBVyxlQUFlLGVBQWUsRUFBRSw4Q0FBOEMsdUNBQXVDLCtCQUErQixFQUFFLDhDQUE4Qyx3Q0FBd0MsZ0NBQWdDLEVBQUUscUJBQXFCLDhCQUE4QixpQkFBaUIsaUJBQWlCLHVCQUF1QixjQUFjLGdCQUFnQixlQUFlLEVBQUUscUJBQXFCLGlCQUFpQixnQkFBZ0IsRUFBRSxzQkFBc0IsaUJBQWlCLGdCQUFnQixFQUFFLDJCQUEyQix5QkFBeUIseUJBQXlCLGtCQUFrQiw4QkFBOEIsMkJBQTJCLHdCQUF3QixpQkFBaUIscUJBQXFCLHVCQUF1Qiw0QkFBNEIsRUFBRSw4QkFBOEIseUJBQXlCLHlCQUF5QixrQkFBa0IsOEJBQThCLDJCQUEyQixtQ0FBbUMsbUNBQW1DLG1DQUFtQyxvQ0FBb0MsZ0NBQWdDLDhCQUE4QiwyQkFBMkIsd0JBQXdCLGdCQUFnQixFQUFFLGlEQUFpRCxtQ0FBbUMsa0NBQWtDLDRCQUE0Qix3QkFBd0IsRUFBRSxzR0FBc0cseUJBQXlCLHlCQUF5QixrQkFBa0IsbUNBQW1DLG1DQUFtQyxvQ0FBb0MsZ0NBQWdDLEVBQUUsOENBQThDLHFCQUFxQiwwQkFBMEIsb0JBQW9CLHNCQUFzQixFQUFFLG1FQUFtRSxpQ0FBaUMsNkJBQTZCLHlCQUF5QiwwQ0FBMEMsZ0NBQWdDLGtDQUFrQyxFQUFFLG1DQUFtQyxtQkFBbUIsRUFBRSw4Q0FBOEMsbUJBQW1CLEVBQUUscUVBQXFFLGdDQUFnQyw0QkFBNEIsd0JBQXdCLHNDQUFzQyw0QkFBNEIsOEJBQThCLEVBQUUsMEdBQTBHLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QiwyQkFBMkIsbUNBQW1DLHFCQUFxQixFQUFFLHFDQUFxQyxrQ0FBa0Msa0NBQWtDLDJCQUEyQixFQUFFLHlCQUF5QixnQ0FBZ0MsZ0NBQWdDLHlCQUF5QixFQUFFLDJCQUEyQixnQ0FBZ0MsZ0NBQWdDLHlCQUF5QixFQUFFLDBCQUEwQixnQ0FBZ0MsZ0NBQWdDLHlCQUF5QixFQUFFLDRHQUE0Ryx1QkFBdUIsd0JBQXdCLHVCQUF1QixtQkFBbUIsRUFBRSx1REFBdUQsMkJBQTJCLDJCQUEyQixvQkFBb0IsZ0NBQWdDLDZCQUE2QiwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLDJCQUEyQixvQkFBb0IsZ0NBQWdDLDZCQUE2QiwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLDJCQUEyQixvQkFBb0IsbUNBQW1DLG9DQUFvQyxpQ0FBaUMsNkJBQTZCLEVBQUUsNEVBQTRFLDZCQUE2Qiw2QkFBNkIsc0JBQXNCLHFDQUFxQyw0QkFBNEIsRUFBRSx3Q0FBd0MsMkJBQTJCLDJCQUEyQixvQkFBb0IsMEJBQTBCLHlCQUF5QixxQkFBcUIsZ0NBQWdDLDZCQUE2QiwwQkFBMEIsRUFBRSxtRUFBbUUsMkJBQTJCLEVBQUUsa0lBQWtJLG9CQUFvQixFQUFFLGtEQUFrRCxtQ0FBbUMsMkJBQTJCLHVCQUF1QixjQUFjLEVBQUUscUJBQXFCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLG1DQUFtQyxrQ0FBa0MsNEJBQTRCLHdCQUF3Qiw4QkFBOEIsMkJBQTJCLHdCQUF3QixFQUFFLDZFQUE2RSwwQkFBMEIseUJBQXlCLHFCQUFxQixrQkFBa0IsbUJBQW1CLEVBQUUscUJBQXFCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLEVBQUUsOEZBQThGLHlCQUF5Qix5QkFBeUIsa0JBQWtCLEVBQUUsZ0hBQWdILDBCQUEwQix5QkFBeUIscUJBQXFCLEVBQUUsc0JBQXNCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLEVBQUUsK0RBQStELHFCQUFxQix5QkFBeUIsRUFBRSw4REFBOEQseUJBQXlCLEVBQUUsc0JBQXNCLHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4QiwyQkFBMkIsd0JBQXdCLEVBQUUsNkNBQTZDLDJCQUEyQiwyQkFBMkIsb0JBQW9CLGdCQUFnQixpQkFBaUIsZ0JBQWdCLEVBQUUsb0NBQW9DLCtCQUErQiw0QkFBNEIseUJBQXlCLHFCQUFxQixFQUFFLDZCQUE2QixvQkFBb0IsRUFBRSw0Q0FBNEMsaUNBQWlDLHNCQUFzQixhQUFhLEVBQUUsNENBQTRDLHdCQUF3QixtQkFBbUIsZUFBZSxFQUFFLG9DQUFvQyxpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIsNkJBQTZCLDBCQUEwQiw0QkFBNEIsRUFBRSwwQ0FBMEMsbUNBQW1DLDBCQUEwQixFQUFFLHFCQUFxQix5QkFBeUIseUJBQXlCLGtCQUFrQixpQ0FBaUMsa0NBQWtDLCtCQUErQiwyQkFBMkIsdUJBQXVCLEVBQUUsd0NBQXdDLDBCQUEwQix5QkFBeUIscUJBQXFCLHlCQUF5Qix1QkFBdUIsc0JBQXNCLEVBQUUsOEJBQThCLHlCQUF5QixhQUFhLGNBQWMsZUFBZSxnQkFBZ0IsRUFBRSxzQ0FBc0Msc0JBQXNCLEVBQUUsMENBQTBDLHlCQUF5QiwyQkFBMkIsc0JBQXNCLEVBQUUsc0NBQXNDLHNCQUFzQix3T0FBd08sc0lBQXNJLEVBQUUsd0NBQXdDLHNCQUFzQixFQUFFLGlEQUFpRCxrQkFBa0IsbUJBQW1CLEVBQUUsbURBQW1ELHlHQUF5RywyRUFBMkUsa0JBQWtCLG1CQUFtQixFQUFFLG1DQUFtQyxzQkFBc0IsRUFBRSx5Q0FBeUMseUJBQXlCLDJCQUEyQixFQUFFLDZDQUE2Qyw0QkFBNEIseUJBQXlCLHVCQUF1QiwwQkFBMEIsRUFBRSxtREFBbUQsb0JBQW9CLHdCQUF3QixFQUFFLHVDQUF1QywyQkFBMkIsMkJBQTJCLG9CQUFvQixFQUFFLCtDQUErQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixF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RUFBRSxtQ0FBbUMsc0NBQXNDLHNDQUFzQyxFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVB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LHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0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RSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELHlCQUF5QixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLHNDQUFzQyw0QkFBNEIsNkJBQTZCLEVBQUUs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MEJBQTBCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJC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QUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFB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LG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCww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RSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUs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RWQsa0RBQWtELHNCQUFzQjtBQUN4RTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFD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QixTQUFaLEdBQXdCeEUsTUFBTSxDQUFDeUUsS0FBUCxDQUFhRCxTQUFyQztBQUVBeEUsUUFBTSxDQUFDc0QsV0FBUCxHQUFxQkEsV0FBckI7QUFDRCxDQWJELEk7Ozs7Ozs7Ozs7OztBQ1JBLGNBQWMsbUJBQU8sQ0FBQyxpTkFBK0c7O0FBRXJJLDRDQUE0QyxRQUFTOztBQUVyRDtBQUNBOzs7O0FBSUEsZUFBZTs7QUFFZjtBQUNBLGtDQUFrQzs7QUFFbEMsYUFBYSxtQkFBTyxDQUFDLHNHQUFtRDs7QUFFeEU7O0FBRUEsR0FBRyxLQUFVLEVBQUUsRSIsImZpbGUiOiJiYmotZ3JpZC13aWRnZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0uY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1ib290c3RyYXAuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYm9vdHN0cmFwLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWZyZXNoLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1mcmVzaC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZnJlc2guY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1tYXRlcmlhbC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtbWF0ZXJpYWwuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLW1hdGVyaWFsLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQmFzaXNcIl0gPSByb290W1wiQmFzaXNcIl0gfHwge30sIHJvb3RbXCJCYXNpc1wiXVtcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vKioqKioqLyBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDI0KTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFBhcmFtczsgfSk7XG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogUGFyYW1zIE1peGlucyBcbipcbiogSGVscGVyIG1ldGhvZHMgdG8gbWFuYWdlIGNvbXBvbmVudHMgcGFyYW1zXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xudmFyIFBhcmFtcyA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFBhcmFtcygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUGFyYW1zKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhQYXJhbXMsIFt7XG4gICAga2V5OiBcImdldFdpblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRXaW4ocGFyYW1zKSB7XG4gICAgICB2YXIgd2luID0gcGFyYW1zLldJTkRPVyB8fCB3aW5kb3cgfHwgbnVsbDtcbiAgICAgIGlmICghd2luKSB0aHJvdyBuZXcgRXJyb3IoJ0N1cnJlbnQgZW52aXJvbWVudCBkb2VzIG5vdCBzdXBwb3J0IHdpbmRvdycpO1xuICAgICAgcmV0dXJuIHdpbjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0RG9jXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERvYyhwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSBwYXJhbXMuRE9DVU1FTlQgfHwgZG9jdW1lbnQgfHwgbnVsbDtcbiAgICAgIGlmICghZG9jKSB0aHJvdyBuZXcgRXJyb3IoJ0N1cnJlbnQgZW52aXJvbWVudCBkb2VzIG5vdCBzdXBwb3J0IGRvY3VtZW50Jyk7XG4gICAgICByZXR1cm4gZG9jO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0T3B0aW9uKG5hbWUsIHBhcmFtcykge1xuICAgICAgdmFyIGZhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuICAgICAgdmFyIG9wdGlvbjsgLy8gdHJ5IHRvIGZldGNoIGZyb20gdGhlIGNvbHVtbiBkZWYgZmlyc3RcblxuICAgICAgaWYgKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgnY29sRGVmJykgJiYgcGFyYW1zLmNvbERlZi5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICBvcHRpb24gPSBwYXJhbXMuY29sRGVmW25hbWVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdHJ5IHRvIGZldGNoIGZyb20gQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZ3xtZXRhIGluIHRoZSBjb250ZXh0XG4gICAgICAgIHZhciBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnID0gcGFyYW1zLmNvbnRleHQuQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZyB8fCBwYXJhbXMuY29udGV4dC5tZXRhO1xuXG4gICAgICAgIGlmIChBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnICYmIEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcuaGFzT3duUHJvcGVydHkocGFyYW1zLmNvbHVtbi5jb2xJZCkgJiYgQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZ1twYXJhbXMuY29sdW1uLmNvbElkXS5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICAgIG9wdGlvbiA9IEFHcmlkQ29tcG9uZW50c01ldGFDb25maWdbcGFyYW1zLmNvbHVtbi5jb2xJZF1bbmFtZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdHJ5IHRvIGZldGNoIGZyb20gdGhlIGNvbnRlY3Qgb2JqZWN0IGl0c2VsZlxuICAgICAgICAgIHZhciBjb250ZXh0ID0gcGFyYW1zLmNvbnRleHQ7XG5cbiAgICAgICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Lmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgICAgICBvcHRpb24gPSBjb250ZXh0W25hbWVdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyB0cnkgdG8gY2hlY2sgcGFyYW1zIGl0c2VsZiBvciBmYWxsYmFjayB0byBkZWZhdWx0IFxuICAgICAgICAgICAgb3B0aW9uID0gcGFyYW1zW25hbWVdIHx8IGZhbGxiYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBQYXJhbXM7XG59KCk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgbGlzdCA9IFtdO1xuXG5cdC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblx0bGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuXHRcdFx0dmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCk7XG5cdFx0XHRpZihpdGVtWzJdKSB7XG5cdFx0XHRcdHJldHVybiBcIkBtZWRpYSBcIiArIGl0ZW1bMl0gKyBcIntcIiArIGNvbnRlbnQgKyBcIn1cIjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH0pLmpvaW4oXCJcIik7XG5cdH07XG5cblx0Ly8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3Rcblx0bGlzdC5pID0gZnVuY3Rpb24obW9kdWxlcywgbWVkaWFRdWVyeSkge1xuXHRcdGlmKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKVxuXHRcdFx0bW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgXCJcIl1dO1xuXHRcdHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cdFx0Zm9yKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpZCA9IHRoaXNbaV1bMF07XG5cdFx0XHRpZih0eXBlb2YgaWQgPT09IFwibnVtYmVyXCIpXG5cdFx0XHRcdGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcblx0XHR9XG5cdFx0Zm9yKGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBtb2R1bGVzW2ldO1xuXHRcdFx0Ly8gc2tpcCBhbHJlYWR5IGltcG9ydGVkIG1vZHVsZVxuXHRcdFx0Ly8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcblx0XHRcdC8vICB3aGVuIGEgbW9kdWxlIGlzIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IG1lZGlhIHF1ZXJpZXMuXG5cdFx0XHQvLyAgSSBob3BlIHRoaXMgd2lsbCBuZXZlciBvY2N1ciAoSGV5IHRoaXMgd2F5IHdlIGhhdmUgc21hbGxlciBidW5kbGVzKVxuXHRcdFx0aWYodHlwZW9mIGl0ZW1bMF0gIT09IFwibnVtYmVyXCIgfHwgIWFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcblx0XHRcdFx0aWYobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuXHRcdFx0XHR9IGVsc2UgaWYobWVkaWFRdWVyeSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBcIihcIiArIGl0ZW1bMl0gKyBcIikgYW5kIChcIiArIG1lZGlhUXVlcnkgKyBcIilcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaXN0LnB1c2goaXRlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4gbGlzdDtcbn07XG5cbmZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKSB7XG5cdHZhciBjb250ZW50ID0gaXRlbVsxXSB8fCAnJztcblx0dmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXHRpZiAoIWNzc01hcHBpbmcpIHtcblx0XHRyZXR1cm4gY29udGVudDtcblx0fVxuXG5cdGlmICh1c2VTb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgPT09ICdmdW5jdGlvbicpIHtcblx0XHR2YXIgc291cmNlTWFwcGluZyA9IHRvQ29tbWVudChjc3NNYXBwaW5nKTtcblx0XHR2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuXHRcdFx0cmV0dXJuICcvKiMgc291cmNlVVJMPScgKyBjc3NNYXBwaW5nLnNvdXJjZVJvb3QgKyBzb3VyY2UgKyAnICovJ1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbignXFxuJyk7XG5cdH1cblxuXHRyZXR1cm4gW2NvbnRlbnRdLmpvaW4oJ1xcbicpO1xufVxuXG4vLyBBZGFwdGVkIGZyb20gY29udmVydC1zb3VyY2UtbWFwIChNSVQpXG5mdW5jdGlvbiB0b0NvbW1lbnQoc291cmNlTWFwKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuXHR2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKTtcblx0dmFyIGRhdGEgPSAnc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJyArIGJhc2U2NDtcblxuXHRyZXR1cm4gJy8qIyAnICsgZGF0YSArICcgKi8nO1xufVxuXG5cbi8qKiovIH0pLFxuLyogMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuXG52YXIgc3R5bGVzSW5Eb20gPSB7fTtcblxudmFyXHRtZW1vaXplID0gZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoKSB7XG5cdFx0aWYgKHR5cGVvZiBtZW1vID09PSBcInVuZGVmaW5lZFwiKSBtZW1vID0gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblx0XHRyZXR1cm4gbWVtbztcblx0fTtcbn07XG5cbnZhciBpc09sZElFID0gbWVtb2l6ZShmdW5jdGlvbiAoKSB7XG5cdC8vIFRlc3QgZm9yIElFIDw9IDkgYXMgcHJvcG9zZWQgYnkgQnJvd3NlcmhhY2tzXG5cdC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcblx0Ly8gVGVzdHMgZm9yIGV4aXN0ZW5jZSBvZiBzdGFuZGFyZCBnbG9iYWxzIGlzIHRvIGFsbG93IHN0eWxlLWxvYWRlclxuXHQvLyB0byBvcGVyYXRlIGNvcnJlY3RseSBpbnRvIG5vbi1zdGFuZGFyZCBlbnZpcm9ubWVudHNcblx0Ly8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG5cdHJldHVybiB3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYjtcbn0pO1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gKHRhcmdldCkge1xuICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpO1xufTtcblxudmFyIGdldEVsZW1lbnQgPSAoZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vID0ge307XG5cblx0cmV0dXJuIGZ1bmN0aW9uKHRhcmdldCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHBhc3NpbmcgZnVuY3Rpb24gaW4gb3B0aW9ucywgdGhlbiB1c2UgaXQgZm9yIHJlc29sdmUgXCJoZWFkXCIgZWxlbWVudC5cbiAgICAgICAgICAgICAgICAvLyBVc2VmdWwgZm9yIFNoYWRvdyBSb290IHN0eWxlIGkuZVxuICAgICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgICAvLyAgIGluc2VydEludG86IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZm9vXCIpLnNoYWRvd1Jvb3QgfVxuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuXHRcdFx0dmFyIHN0eWxlVGFyZ2V0ID0gZ2V0VGFyZ2V0LmNhbGwodGhpcywgdGFyZ2V0KTtcblx0XHRcdC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cdFx0XHRpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Ly8gVGhpcyB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhY2Nlc3MgdG8gaWZyYW1lIGlzIGJsb2NrZWRcblx0XHRcdFx0XHQvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gc3R5bGVUYXJnZXQuY29udGVudERvY3VtZW50LmhlYWQ7XG5cdFx0XHRcdH0gY2F0Y2goZSkge1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG5cdFx0fVxuXHRcdHJldHVybiBtZW1vW3RhcmdldF1cblx0fTtcbn0pKCk7XG5cbnZhciBzaW5nbGV0b24gPSBudWxsO1xudmFyXHRzaW5nbGV0b25Db3VudGVyID0gMDtcbnZhclx0c3R5bGVzSW5zZXJ0ZWRBdFRvcCA9IFtdO1xuXG52YXJcdGZpeFVybHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGxpc3QsIG9wdGlvbnMpIHtcblx0aWYgKHR5cGVvZiBERUJVRyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBERUJVRykge1xuXHRcdGlmICh0eXBlb2YgZG9jdW1lbnQgIT09IFwib2JqZWN0XCIpIHRocm93IG5ldyBFcnJvcihcIlRoZSBzdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudFwiKTtcblx0fVxuXG5cdG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG5cdG9wdGlvbnMuYXR0cnMgPSB0eXBlb2Ygb3B0aW9ucy5hdHRycyA9PT0gXCJvYmplY3RcIiA/IG9wdGlvbnMuYXR0cnMgOiB7fTtcblxuXHQvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cblx0Ly8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXHRpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gXCJib29sZWFuXCIpIG9wdGlvbnMuc2luZ2xldG9uID0gaXNPbGRJRSgpO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIDxoZWFkPiBlbGVtZW50XG4gICAgICAgIGlmICghb3B0aW9ucy5pbnNlcnRJbnRvKSBvcHRpb25zLmluc2VydEludG8gPSBcImhlYWRcIjtcblxuXHQvLyBCeSBkZWZhdWx0LCBhZGQgPHN0eWxlPiB0YWdzIHRvIHRoZSBib3R0b20gb2YgdGhlIHRhcmdldFxuXHRpZiAoIW9wdGlvbnMuaW5zZXJ0QXQpIG9wdGlvbnMuaW5zZXJ0QXQgPSBcImJvdHRvbVwiO1xuXG5cdHZhciBzdHlsZXMgPSBsaXN0VG9TdHlsZXMobGlzdCwgb3B0aW9ucyk7XG5cblx0YWRkU3R5bGVzVG9Eb20oc3R5bGVzLCBvcHRpb25zKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlIChuZXdMaXN0KSB7XG5cdFx0dmFyIG1heVJlbW92ZSA9IFtdO1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gc3R5bGVzW2ldO1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRcdGRvbVN0eWxlLnJlZnMtLTtcblx0XHRcdG1heVJlbW92ZS5wdXNoKGRvbVN0eWxlKTtcblx0XHR9XG5cblx0XHRpZihuZXdMaXN0KSB7XG5cdFx0XHR2YXIgbmV3U3R5bGVzID0gbGlzdFRvU3R5bGVzKG5ld0xpc3QsIG9wdGlvbnMpO1xuXHRcdFx0YWRkU3R5bGVzVG9Eb20obmV3U3R5bGVzLCBvcHRpb25zKTtcblx0XHR9XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG1heVJlbW92ZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gbWF5UmVtb3ZlW2ldO1xuXG5cdFx0XHRpZihkb21TdHlsZS5yZWZzID09PSAwKSB7XG5cdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIGRvbVN0eWxlLnBhcnRzW2pdKCk7XG5cblx0XHRcdFx0ZGVsZXRlIHN0eWxlc0luRG9tW2RvbVN0eWxlLmlkXTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG59O1xuXG5mdW5jdGlvbiBhZGRTdHlsZXNUb0RvbSAoc3R5bGVzLCBvcHRpb25zKSB7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRpZihkb21TdHlsZSkge1xuXHRcdFx0ZG9tU3R5bGUucmVmcysrO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHNbal0oaXRlbS5wYXJ0c1tqXSk7XG5cdFx0XHR9XG5cblx0XHRcdGZvcig7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGRvbVN0eWxlLnBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSwgb3B0aW9ucykpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR2YXIgcGFydHMgPSBbXTtcblxuXHRcdFx0Zm9yKHZhciBqID0gMDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0cGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cblx0XHRcdHN0eWxlc0luRG9tW2l0ZW0uaWRdID0ge2lkOiBpdGVtLmlkLCByZWZzOiAxLCBwYXJ0czogcGFydHN9O1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBsaXN0VG9TdHlsZXMgKGxpc3QsIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlcyA9IFtdO1xuXHR2YXIgbmV3U3R5bGVzID0ge307XG5cblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBsaXN0W2ldO1xuXHRcdHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xuXHRcdHZhciBjc3MgPSBpdGVtWzFdO1xuXHRcdHZhciBtZWRpYSA9IGl0ZW1bMl07XG5cdFx0dmFyIHNvdXJjZU1hcCA9IGl0ZW1bM107XG5cdFx0dmFyIHBhcnQgPSB7Y3NzOiBjc3MsIG1lZGlhOiBtZWRpYSwgc291cmNlTWFwOiBzb3VyY2VNYXB9O1xuXG5cdFx0aWYoIW5ld1N0eWxlc1tpZF0pIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7aWQ6IGlkLCBwYXJ0czogW3BhcnRdfSk7XG5cdFx0ZWxzZSBuZXdTdHlsZXNbaWRdLnBhcnRzLnB1c2gocGFydCk7XG5cdH1cblxuXHRyZXR1cm4gc3R5bGVzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQgKG9wdGlvbnMsIHN0eWxlKSB7XG5cdHZhciB0YXJnZXQgPSBnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0SW50bylcblxuXHRpZiAoIXRhcmdldCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0SW50bycgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuXHR9XG5cblx0dmFyIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcFtzdHlsZXNJbnNlcnRlZEF0VG9wLmxlbmd0aCAtIDFdO1xuXG5cdGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcInRvcFwiKSB7XG5cdFx0aWYgKCFsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcCkge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgdGFyZ2V0LmZpcnN0Q2hpbGQpO1xuXHRcdH0gZWxzZSBpZiAobGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpIHtcblx0XHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wLm5leHRTaWJsaW5nKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0XHR9XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5wdXNoKHN0eWxlKTtcblx0fSBlbHNlIGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcImJvdHRvbVwiKSB7XG5cdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0fSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJvYmplY3RcIiAmJiBvcHRpb25zLmluc2VydEF0LmJlZm9yZSkge1xuXHRcdHZhciBuZXh0U2libGluZyA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvICsgXCIgXCIgKyBvcHRpb25zLmluc2VydEF0LmJlZm9yZSk7XG5cdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbmV4dFNpYmxpbmcpO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIltTdHlsZSBMb2FkZXJdXFxuXFxuIEludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAnaW5zZXJ0QXQnICgnb3B0aW9ucy5pbnNlcnRBdCcpIGZvdW5kLlxcbiBNdXN0IGJlICd0b3AnLCAnYm90dG9tJywgb3IgT2JqZWN0LlxcbiAoaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIjaW5zZXJ0YXQpXFxuXCIpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVN0eWxlRWxlbWVudCAoc3R5bGUpIHtcblx0aWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblx0c3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG5cblx0dmFyIGlkeCA9IHN0eWxlc0luc2VydGVkQXRUb3AuaW5kZXhPZihzdHlsZSk7XG5cdGlmKGlkeCA+PSAwKSB7XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5zcGxpY2UoaWR4LCAxKTtcblx0fVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQgKG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblxuXHRhZGRBdHRycyhzdHlsZSwgb3B0aW9ucy5hdHRycyk7XG5cdGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zLCBzdHlsZSk7XG5cblx0cmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMaW5rRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblx0b3B0aW9ucy5hdHRycy5yZWwgPSBcInN0eWxlc2hlZXRcIjtcblxuXHRhZGRBdHRycyhsaW5rLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIGxpbmspO1xuXG5cdHJldHVybiBsaW5rO1xufVxuXG5mdW5jdGlvbiBhZGRBdHRycyAoZWwsIGF0dHJzKSB7XG5cdE9iamVjdC5rZXlzKGF0dHJzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRlbC5zZXRBdHRyaWJ1dGUoa2V5LCBhdHRyc1trZXldKTtcblx0fSk7XG59XG5cbmZ1bmN0aW9uIGFkZFN0eWxlIChvYmosIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlLCB1cGRhdGUsIHJlbW92ZSwgcmVzdWx0O1xuXG5cdC8vIElmIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIHdhcyBkZWZpbmVkLCBydW4gaXQgb24gdGhlIGNzc1xuXHRpZiAob3B0aW9ucy50cmFuc2Zvcm0gJiYgb2JqLmNzcykge1xuXHQgICAgcmVzdWx0ID0gb3B0aW9ucy50cmFuc2Zvcm0ob2JqLmNzcyk7XG5cblx0ICAgIGlmIChyZXN1bHQpIHtcblx0ICAgIFx0Ly8gSWYgdHJhbnNmb3JtIHJldHVybnMgYSB2YWx1ZSwgdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBydW5uaW5nIHJ1bnRpbWUgdHJhbnNmb3JtYXRpb25zIG9uIHRoZSBjc3MuXG5cdCAgICBcdG9iai5jc3MgPSByZXN1bHQ7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgXHQvLyBJZiB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIHJldHVybnMgYSBmYWxzeSB2YWx1ZSwgZG9uJ3QgYWRkIHRoaXMgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBjb25kaXRpb25hbCBsb2FkaW5nIG9mIGNzc1xuXHQgICAgXHRyZXR1cm4gZnVuY3Rpb24oKSB7XG5cdCAgICBcdFx0Ly8gbm9vcFxuXHQgICAgXHR9O1xuXHQgICAgfVxuXHR9XG5cblx0aWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG5cdFx0dmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG5cblx0XHRzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcblxuXHRcdHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgZmFsc2UpO1xuXHRcdHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgdHJ1ZSk7XG5cblx0fSBlbHNlIGlmIChcblx0XHRvYmouc291cmNlTWFwICYmXG5cdFx0dHlwZW9mIFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5jcmVhdGVPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBVUkwucmV2b2tlT2JqZWN0VVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgQmxvYiA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIGJ0b2EgPT09IFwiZnVuY3Rpb25cIlxuXHQpIHtcblx0XHRzdHlsZSA9IGNyZWF0ZUxpbmtFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IHVwZGF0ZUxpbmsuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblxuXHRcdFx0aWYoc3R5bGUuaHJlZikgVVJMLnJldm9rZU9iamVjdFVSTChzdHlsZS5ocmVmKTtcblx0XHR9O1xuXHR9IGVsc2Uge1xuXHRcdHN0eWxlID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblx0XHR9O1xuXHR9XG5cblx0dXBkYXRlKG9iaik7XG5cblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlIChuZXdPYmopIHtcblx0XHRpZiAobmV3T2JqKSB7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG5ld09iai5jc3MgPT09IG9iai5jc3MgJiZcblx0XHRcdFx0bmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiZcblx0XHRcdFx0bmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcFxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dXBkYXRlKG9iaiA9IG5ld09iaik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbW92ZSgpO1xuXHRcdH1cblx0fTtcbn1cblxudmFyIHJlcGxhY2VUZXh0ID0gKGZ1bmN0aW9uICgpIHtcblx0dmFyIHRleHRTdG9yZSA9IFtdO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG5cdFx0dGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuXG5cdFx0cmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG5cdH07XG59KSgpO1xuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnIChzdHlsZSwgaW5kZXgsIHJlbW92ZSwgb2JqKSB7XG5cdHZhciBjc3MgPSByZW1vdmUgPyBcIlwiIDogb2JqLmNzcztcblxuXHRpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpO1xuXHR9IGVsc2Uge1xuXHRcdHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKTtcblx0XHR2YXIgY2hpbGROb2RlcyA9IHN0eWxlLmNoaWxkTm9kZXM7XG5cblx0XHRpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcblxuXHRcdGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuXHRcdFx0c3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcgKHN0eWxlLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBtZWRpYSA9IG9iai5tZWRpYTtcblxuXHRpZihtZWRpYSkge1xuXHRcdHN0eWxlLnNldEF0dHJpYnV0ZShcIm1lZGlhXCIsIG1lZGlhKVxuXHR9XG5cblx0aWYoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcblx0fSBlbHNlIHtcblx0XHR3aGlsZShzdHlsZS5maXJzdENoaWxkKSB7XG5cdFx0XHRzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcblx0XHR9XG5cblx0XHRzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcblx0fVxufVxuXG5mdW5jdGlvbiB1cGRhdGVMaW5rIChsaW5rLCBvcHRpb25zLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG5cdC8qXG5cdFx0SWYgY29udmVydFRvQWJzb2x1dGVVcmxzIGlzbid0IGRlZmluZWQsIGJ1dCBzb3VyY2VtYXBzIGFyZSBlbmFibGVkXG5cdFx0YW5kIHRoZXJlIGlzIG5vIHB1YmxpY1BhdGggZGVmaW5lZCB0aGVuIGxldHMgdHVybiBjb252ZXJ0VG9BYnNvbHV0ZVVybHNcblx0XHRvbiBieSBkZWZhdWx0LiAgT3RoZXJ3aXNlIGRlZmF1bHQgdG8gdGhlIGNvbnZlcnRUb0Fic29sdXRlVXJscyBvcHRpb25cblx0XHRkaXJlY3RseVxuXHQqL1xuXHR2YXIgYXV0b0ZpeFVybHMgPSBvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyA9PT0gdW5kZWZpbmVkICYmIHNvdXJjZU1hcDtcblxuXHRpZiAob3B0aW9ucy5jb252ZXJ0VG9BYnNvbHV0ZVVybHMgfHwgYXV0b0ZpeFVybHMpIHtcblx0XHRjc3MgPSBmaXhVcmxzKGNzcyk7XG5cdH1cblxuXHRpZiAoc291cmNlTWFwKSB7XG5cdFx0Ly8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY2MDM4NzVcblx0XHRjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiICsgYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSArIFwiICovXCI7XG5cdH1cblxuXHR2YXIgYmxvYiA9IG5ldyBCbG9iKFtjc3NdLCB7IHR5cGU6IFwidGV4dC9jc3NcIiB9KTtcblxuXHR2YXIgb2xkU3JjID0gbGluay5ocmVmO1xuXG5cdGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cblx0aWYob2xkU3JjKSBVUkwucmV2b2tlT2JqZWN0VVJMKG9sZFNyYyk7XG59XG5cblxuLyoqKi8gfSksXG4vKiAzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBCb29sZWFuU3dpdGNoOyB9KTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBCb29sZWFuIFJlbmRlcmVyXG4qXG4qIFNpbXBsZSB0b2dnbGUgc3dpdGNoIHRvIGhhbmRsZSBib29sZWFuIHZhbHVlc1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBCb29sZWFuU3dpdGNoID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdCB0aGUgQm9vbGVhblN3aXRjaCBDb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHtCb29sZWFufSBjaGVja2VkIGNoZWNrZWQgZGVmYXVsdCB2YWx1ZSAsIHRydWUgdG8gY2hlY2sgLCBmYWxzZSB0byB1bmNoZWNrXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkb2MgZG9jdW1lbnQgaW5zdGFuY2VcbiAgICovXG4gIGZ1bmN0aW9uIEJvb2xlYW5Td2l0Y2goKSB7XG4gICAgdmFyIGNoZWNrZWQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZhbHNlO1xuICAgIHZhciBkb2MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRvY3VtZW50O1xuICAgIHZhciBsaXN0ZW5lciA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBCb29sZWFuU3dpdGNoKTtcblxuICAgIHRoaXMuX2J1aWxkKGxpc3RlbmVyLCBjaGVja2VkLCBkb2MpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgKlxuICAgKiBAcmV0dXJuIHtCb29sZWFufVxuICAgKi9cblxuXG4gIF9jcmVhdGVDbGFzcyhCb29sZWFuU3dpdGNoLCBbe1xuICAgIGtleTogXCJnZXRWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmlucHV0LmNoZWNrZWQ7XG4gICAgfVxuICAgIC8qKiBGb2N1cyBvbiB0aGUgY29tcG9uZW50ICovXG5cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1cygpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LmZvY3VzKCk7XG4gICAgfVxuICAgIC8qKiBUb2dnbGUgdGhlIGNvbXBvbmVudCBzdGF0ZSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwidG9nZ2xlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHRvZ2dsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuY2hlY2tlZCA9ICF0aGlzLmlucHV0LmNoZWNrZWQ7XG4gICAgfVxuICAgIC8qKiBTZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byBjaGVja2VkICovXG5cbiAgfSwge1xuICAgIGtleTogXCJjaGVja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjaGVjaygpIHtcbiAgICAgIHRoaXMuaW5wdXQuY2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICAgIC8qKiBTZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byB1bmNoZWNrZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcInVuY2hlY2tcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdW5jaGVjaygpIHtcbiAgICAgIHRoaXMuaW5wdXQuY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgICAvKiogRW5hYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImVuYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBlbmFibGUoKSB7XG4gICAgICB0aGlzLmlucHV0LmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBEaXNhYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRpc2FibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJkZXN0cm95XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICBpZiAodGhpcy5fb25DbGlja0JpbmQpIHRoaXMuY29tcG9uZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fb25DbGlja0JpbmQpO1xuICAgICAgaWYgKHRoaXMuX29uQ2hhbmdlQmluZCkgdGhpcy5jb21wb25lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uQ2hhbmdlQmluZCk7XG4gICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX2J1aWxkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9idWlsZChsaXN0ZW5lcikge1xuICAgICAgdmFyIGNoZWNrZWQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuICAgICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZG9jdW1lbnQ7XG4gICAgICAvLyBsYWJlbCBhcyBjb21wb25lbnRcbiAgICAgIHRoaXMuY29tcG9uZW50ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5jb21wb25lbnQuY2xhc3NOYW1lID0gJ0Jvb2xlYW5Td2l0Y2gnO1xuICAgICAgdGhpcy5jb21wb25lbnQudGFiSW5kZXggPSBcIi0xXCI7IC8vIHNwYW4gYXMgc2xpZGVyXG5cbiAgICAgIHRoaXMuc2xpZGVyID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIHRoaXMuc2xpZGVyLmNsYXNzTmFtZSA9ICdzbGlkZXIgcm91bmQnOyAvLyBpbnB1dFxuXG4gICAgICB0aGlzLmlucHV0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICB0aGlzLmlucHV0LnR5cGUgPSAnY2hlY2tib3gnO1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gY2hlY2tlZDtcbiAgICAgIHRoaXMuaW5wdXQudGFiSW5kZXggPSBcIjBcIjsgLy8gYXR0YWNoZSBpbnB1dCBhbmQgc2xpZGVyIHRvIGNvbXBvbmVudFxuXG4gICAgICB0aGlzLmNvbXBvbmVudC5hcHBlbmRDaGlsZCh0aGlzLmlucHV0KTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuc2xpZGVyKTtcbiAgICAgIHRoaXMuX29uQ2xpY2tCaW5kID0gdGhpcy5fb25DbGljay5iaW5kKHRoaXMsIGxpc3RlbmVyKTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlQmluZCA9IHRoaXMuX29uQ2hhbmdlLmJpbmQodGhpcywgbGlzdGVuZXIpO1xuICAgICAgdGhpcy5jb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsaWNrQmluZCk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2xpY2tcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2xpY2sobGlzdGVuZXIsIGUpIHtcbiAgICAgIGlmICh0aGlzLmlucHV0LmRpc2FibGVkKSByZXR1cm4gZmFsc2U7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgaWYgKGxpc3RlbmVyKSBsaXN0ZW5lcih0aGlzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2hhbmdlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbkNoYW5nZShsaXN0ZW5lciwgZSkge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuZGlzYWJsZWQpIHJldHVybiBmYWxzZTtcbiAgICAgIHZhciBrZXkgPSBlLndoaWNoIHx8IGUua2V5Q29kZTtcblxuICAgICAgaWYgKGtleSA9PSAzMikge1xuICAgICAgICAvLyBzcGFjZVxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gMzkpIHtcbiAgICAgICAgLy8gcmlnaHRcbiAgICAgICAgdGhpcy5jaGVjaygpO1xuICAgICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gMzcpIHtcbiAgICAgICAgLy8gbGVmdFxuICAgICAgICB0aGlzLnVuY2hlY2soKTtcbiAgICAgICAgaWYgKGxpc3RlbmVyKSBsaXN0ZW5lcih0aGlzKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQm9vbGVhblN3aXRjaDtcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRGF0ZVRpbWVzRGlhbG9nOyB9KTtcbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyB2YXIgb3duS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7IGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gJ2Z1bmN0aW9uJykgeyBvd25LZXlzID0gb3duS2V5cy5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzb3VyY2UpLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwgc3ltKS5lbnVtZXJhYmxlOyB9KSk7IH0gb3duS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIERhdGVUaW1lc0RpYWxvZ1xuKlxuKiBBIHdyYXAgYXJvdW5kIGZsYXRwaWNrciBBUElcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgRGF0ZVRpbWVzRGlhbG9nID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdCB0aGUgRGF0ZVRpbWVzRGlhbG9nIENvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge09iamVjdH0gZG9jIGRvY3VtZW50IGluc3RhbmNlXG4gICAqIFxuICAgKiB7QGxpbmsgaHR0cHM6Ly9mbGF0cGlja3IuanMub3JnL29wdGlvbnMvfVxuICAgKi9cbiAgZnVuY3Rpb24gRGF0ZVRpbWVzRGlhbG9nKCkge1xuICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICB2YXIgZG9jID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBkb2N1bWVudDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBEYXRlVGltZXNEaWFsb2cpO1xuXG4gICAgdGhpcy5kb2MgPSBkb2M7XG4gICAgdGhpcy5vcHRpb25zID0gX29iamVjdFNwcmVhZCh7fSwge1xuICAgICAgZGF0ZUZvcm1hdDogb3B0aW9ucy5tYXNrLFxuICAgICAgZm9ybWF0RGF0ZTogdGhpcy5mb3JtYXREYXRlLmJpbmQodGhpcyksXG4gICAgICBwYXJzZURhdGU6IHRoaXMucGFyc2VEYXRlLmJpbmQodGhpcyksXG4gICAgICBvblJlYWR5OiB0aGlzLl9vblJlYWR5LmJpbmQodGhpcylcbiAgICB9LCBvcHRpb25zKTtcblxuICAgIHRoaXMuX2J1aWxkKHRoaXMub3B0aW9ucywgdGhpcy5kb2MpO1xuICB9XG4gIC8qKlxuICAgKiBGb3JtYXQgdGhlIGRhdGUgdXNpbmcgYEJCai5NYXNrcy5UeXBlcy5kYXRlYFxuICAgKiBcbiAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgZGF0ZSBhcyBhIHN0cmluZ1xuICAgKiBAcGFyYW0ge1N0cmluZ30gZm9ybWF0IEJCaiBkYXRlIGZvcm1hdFxuICAgKi9cblxuXG4gIF9jcmVhdGVDbGFzcyhEYXRlVGltZXNEaWFsb2csIFt7XG4gICAga2V5OiBcImZvcm1hdERhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQpIHtcbiAgICAgIGlmIChmb3JtYXQuaW5kZXhPZignJScpIDwgMCkgcmV0dXJuO1xuICAgICAgcmV0dXJuIEJCai5NYXNrcy5UeXBlcy5kYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBkYXRlIG9iamVjdCBmcm9tIGEgZGF0ZSBzdHJpbmcgXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGVTdHJpbmcgZGF0ZSBhcyBhIHN0cmluZ1xuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwicGFyc2VEYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHBhcnNlRGF0ZShkYXRlU3RyaW5nKSB7XG4gICAgICB2YXIgZGF0ZU9iamVjdCA9IERhdGUucGFyc2UoZGF0ZVN0cmluZyk7XG4gICAgICBpZiAoIShkYXRlT2JqZWN0IGluc3RhbmNlb2YgRGF0ZSkpIGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlU3RyaW5nKTtcbiAgICAgIHJldHVybiBkYXRlT2JqZWN0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgY2FsYW5kZXIgZGF0ZVxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkYXRlIFxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gdHJpZ2dlckNoYW5nZSBcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcInNldERhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0RGF0ZShkYXRlKSB7XG4gICAgICB2YXIgdHJpZ2dlckNoYW5nZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG4gICAgICB0aGlzLmZsYXRwaWNrci5zZXREYXRlKGRhdGUgfHwgJycsIHRyaWdnZXJDaGFuZ2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgY2FsYW5kZXIgb3B0aW9uXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbiBcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwic2V0T3B0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNldE9wdGlvbihvcHRpb24sIHZhbHVlKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5zZXQob3B0aW9uLCB2YWx1ZSk7XG4gICAgfVxuICAgIC8qKiBPcGVuIGNhbGFuZGVyICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvcGVuXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9wZW4oKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5vcGVuKCk7XG4gICAgICB0aGlzLmZsYXRwaWNrci5pbnB1dC5mb2N1cygpO1xuICAgIH1cbiAgICAvKiogQ2xvc2UgQ2FsYW5kZXIgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImNsb3NlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNsb3NlKCkge1xuICAgICAgdGhpcy5mbGF0cGlja3IuY2xvc2UoKTtcbiAgICB9XG4gICAgLyoqIEVuYWJsZSB0aGUgY29tcG9uZW50ICovXG5cbiAgfSwge1xuICAgIGtleTogXCJlbmFibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZW5hYmxlKCkge1xuICAgICAgdGhpcy5pbnB1dC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICAvKiogRGlzYWJsZSB0aGUgY29tcG9uZW50ICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkaXNhYmxlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRpc2FibGUoKSB7XG4gICAgICB0aGlzLmlucHV0LmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqIERlc3Ryb3kgVGhlIGNvbXBvbmVudCBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVycyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgdGhpcy5mbGF0cGlja3IuZGVzdHJveSgpO1xuICAgICAgaWYgKHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQpIHRoaXMuY2xlYXJCdXR0b24ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2tCaW5kKTtcbiAgICAgIGlmICh0aGlzLl9vbktleURvd25CaW5kKSB0aGlzLmNvbXBvbmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgfVxuICAgIC8qKiBCdWlsZCB0aGUgY29tcG9uZW50IHN0cnVjdHVyZSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2J1aWxkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9idWlsZCgpIHtcbiAgICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICAgIHZhciBkb2MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRvY3VtZW50O1xuICAgICAgdGhpcy5jb21wb25lbnQgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5jbGFzc05hbWUgPSAnRGF0ZVRpbWVzRGlhbG9nJztcbiAgICAgIHRoaXMuY29tcG9uZW50LnRhYkluZGV4ID0gXCIwXCI7XG4gICAgICB0aGlzLmlucHV0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hcHBlbmRDaGlsZCh0aGlzLmlucHV0KTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyID0gZmxhdHBpY2tyKHRoaXMuaW5wdXQsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5fb25LZXlEb3duQmluZCA9IHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5jb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bkJpbmQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBbGxvdyBhcnJvdyBrZXlzIGluc2lkZSB0aGUgaW5wdXRcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uS2V5RG93blwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25LZXlEb3duKGUpIHtcbiAgICAgIHZhciBrZXkgPSBlLndoaWNoIHx8IGUua2V5Q29kZTtcblxuICAgICAgaWYgKFszNywgMzldLmluZGV4T2Yoa2V5KSA+IC0xKSB7XG4gICAgICAgIC8vIGxlZnQgfHwgcmlnaHRcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoMzggPT09IGtleSkge1xuICAgICAgICAvLyB1cCBcbiAgICAgICAgdmFyIGN1cnJlbnREYXRlID0gdGhpcy5mbGF0cGlja3IuaW5wdXQudmFsdWU7XG5cbiAgICAgICAgdmFyIF9uZXh0ID0gRGF0ZS5wYXJzZShjdXJyZW50RGF0ZSk7XG5cbiAgICAgICAgaWYgKCEoX25leHQgaW5zdGFuY2VvZiBEYXRlKSkgX25leHQgPSBuZXcgRGF0ZShjdXJyZW50RGF0ZSk7XG5cbiAgICAgICAgX25leHQuc2V0RGF0ZShfbmV4dC5nZXREYXRlKCkgKyAxKTtcblxuICAgICAgICB0aGlzLmZsYXRwaWNrci5zZXREYXRlKF9uZXh0LCBmYWxzZSwgdGhpcy5vcHRpb25zLm1hc2spO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZSA9IEJCai5NYXNrcy5UeXBlcy5kYXRlKF9uZXh0LCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKDQwID09PSBrZXkpIHtcbiAgICAgICAgLy8gZG93blxuICAgICAgICB2YXIgX2N1cnJlbnREYXRlID0gdGhpcy5mbGF0cGlja3IuaW5wdXQudmFsdWU7XG4gICAgICAgIHZhciBwcmV2ID0gRGF0ZS5wYXJzZShfY3VycmVudERhdGUpO1xuICAgICAgICBpZiAoIShwcmV2IGluc3RhbmNlb2YgRGF0ZSkpIG5leHQgPSBuZXcgRGF0ZShfY3VycmVudERhdGUpO1xuICAgICAgICBwcmV2LnNldERhdGUocHJldi5nZXREYXRlKCkgLSAxKTtcbiAgICAgICAgdGhpcy5mbGF0cGlja3Iuc2V0RGF0ZShwcmV2LCBmYWxzZSwgdGhpcy5vcHRpb25zLm1hc2spO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZSA9IEJCai5NYXNrcy5UeXBlcy5kYXRlKHByZXYsIHRoaXMub3B0aW9ucy5tYXNrKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoOSA9PT0ga2V5KSB7XG4gICAgICAgIC8vIHRhcFxuICAgICAgICB0aGlzLnNldERhdGUodGhpcy5mbGF0cGlja3IuaW5wdXQudmFsdWUsIHRydWUsIHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjbGVhciBidXR0b24gd2hlbiBmbGF0cGlja3IgaXMgcmVhZHkgXG4gICAgICogXG4gICAgICogQHBhcmFtIHtEYXRlfSBkYXRlT2JqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkYXRlU3RyIFxuICAgICAqIEBwYXJhbSB7ZmxhdHBpY2tyfSBpbnN0YW5jZSBcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9vblJlYWR5XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vblJlYWR5KGRhdGVPYmosIGRhdGVTdHIsIGluc3RhbmNlKSB7XG4gICAgICB2YXIgY2xlYXJCdXR0b24gPSBpbnN0YW5jZS5jYWxlbmRhckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuZmxhdHBpY2tyLWNsZWFyJyk7XG5cbiAgICAgIGlmICghY2xlYXJCdXR0b24pIHtcbiAgICAgICAgdGhpcy5jbGVhckJ1dHRvbiA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uLmNsYXNzTmFtZSA9ICdmbGF0cGlja3ItY2xlYXInO1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uLmlubmVySFRNTCA9ICdDbGVhcic7XG4gICAgICAgIGluc3RhbmNlLmNhbGVuZGFyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuY2xlYXJCdXR0b24pO1xuICAgICAgICB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2tCaW5kID0gdGhpcy5fb25DbGVhckJ1dHRvbkNsaWNrLmJpbmQodGhpcywgaW5zdGFuY2UpO1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fb25DbGVhckJ1dHRvbkNsaWNrQmluZCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExpc3RlbiB0byBmbGF0cGlja3IgY2xlYXIgYnV0dG9uIGNsaWNrcyBhbmQgY2xlYXIgdGhlIGNhbGFuZGVyXG4gICAgICogXG4gICAgICogQHBhcmFtIHtmbGF0cGlja3J9IGluc3RhbmNlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2xlYXJCdXR0b25DbGlja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DbGVhckJ1dHRvbkNsaWNrKGZsYXRwaWNrckluc3RhbmNlKSB7XG4gICAgICBmbGF0cGlja3JJbnN0YW5jZS5jbGVhcigpO1xuICAgICAgZmxhdHBpY2tySW5zdGFuY2UuY2xvc2UoKTtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ29uQ2xlYXInKSkgdGhpcy5vcHRpb25zLm9uQ2xlYXIoKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRGF0ZVRpbWVzRGlhbG9nO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiA1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KTtcblxuaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmksIGNvbnRlbnQsICcnXV07XG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG52YXIgb3B0aW9ucyA9IHtcbiAgXCJobXJcIjogdHJ1ZVxufTtcbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQ7XG59O1xuXG52YXIgdXBkYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYgKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZiAoZmFsc2UpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIik7XG5cbiAgICBpZiAodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cbiAgICB2YXIgbG9jYWxzID0gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHZhciBrZXksXG4gICAgICAgICAgaWR4ID0gMDtcblxuICAgICAgZm9yIChrZXkgaW4gYSkge1xuICAgICAgICBpZiAoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWR4Kys7XG4gICAgICB9XG5cbiAgICAgIGZvciAoa2V5IGluIGIpIHtcbiAgICAgICAgaWR4LS07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpZHggPT09IDA7XG4gICAgfShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpO1xuXG4gICAgaWYgKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG4gICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICB9KTtcbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICB1cGRhdGUoKTtcbiAgfSk7XG59XG5cbi8qKiovIH0pLFxuLyogNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFwiLkJhc2ljQm9vbGVhbnNSZW5kZXJlcntkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87dGV4dC1hbGlnbjpjZW50ZXJ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWx7ZGlzcGxheTpibG9jaztsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyfS5CYXNpY0Jvb2xlYW5zRmlsdGVyIHVsIGxpe3BhZGRpbmc6MTBweDstd2Via2l0LXRyYW5zaXRpb246LjRzO3RyYW5zaXRpb246LjRzO2JvcmRlci1ib3R0b206dGhpbiBzb2xpZCAjY2NjfS5CYXNpY0Jvb2xlYW5zRmlsdGVyIHVsIGxpLnNlbGVjdGVke2JhY2tncm91bmQ6IzU2OWZmNztjb2xvcjojZmZmfS5CYXNpY0Jvb2xlYW5zRmlsdGVyIHVsIGxpOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lfS5Cb29sZWFuU3dpdGNoe291dGxpbmU6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87d2lkdGg6NDBweDtoZWlnaHQ6MjBweH0uQm9vbGVhblN3aXRjaCBpbnB1dHtkaXNwbGF5Om5vbmV9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlcntjdXJzb3I6cG9pbnRlcjt0b3A6MjAlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxMCU7YmFja2dyb3VuZC1jb2xvcjojY2NjfS5Cb29sZWFuU3dpdGNoIC5zbGlkZXIsLkJvb2xlYW5Td2l0Y2ggLnNsaWRlcjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC10cmFuc2l0aW9uOi40czt0cmFuc2l0aW9uOi40c30uQm9vbGVhblN3aXRjaCAuc2xpZGVyOmJlZm9yZXtjb250ZW50OlxcXCJcXFwiO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bGVmdDoxcHg7dG9wOjFweDtib3R0b206MXB4O3JpZ2h0OjFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LkJvb2xlYW5Td2l0Y2ggaW5wdXQ6Y2hlY2tlZCsuc2xpZGVye2JhY2tncm91bmQtY29sb3I6IzU2OWZmN30uQm9vbGVhblN3aXRjaCBpbnB1dDpmb2N1cysuc2xpZGVye2JveC1zaGFkb3c6MCAwIDFweCAjNTY5ZmY3fS5Cb29sZWFuU3dpdGNoIGlucHV0OmNoZWNrZWQrLnNsaWRlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjZweCl9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlci5yb3VuZHtib3JkZXItcmFkaXVzOjI4cHh9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlci5yb3VuZDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCV9XCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cbi8qKiovIH0pLFxuLyogNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5cbi8qKlxuICogV2hlbiBzb3VyY2UgbWFwcyBhcmUgZW5hYmxlZCwgYHN0eWxlLWxvYWRlcmAgdXNlcyBhIGxpbmsgZWxlbWVudCB3aXRoIGEgZGF0YS11cmkgdG9cbiAqIGVtYmVkIHRoZSBjc3Mgb24gdGhlIHBhZ2UuIFRoaXMgYnJlYWtzIGFsbCByZWxhdGl2ZSB1cmxzIGJlY2F1c2Ugbm93IHRoZXkgYXJlIHJlbGF0aXZlIHRvIGFcbiAqIGJ1bmRsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IHBhZ2UuXG4gKlxuICogT25lIHNvbHV0aW9uIGlzIHRvIG9ubHkgdXNlIGZ1bGwgdXJscywgYnV0IHRoYXQgbWF5IGJlIGltcG9zc2libGUuXG4gKlxuICogSW5zdGVhZCwgdGhpcyBmdW5jdGlvbiBcImZpeGVzXCIgdGhlIHJlbGF0aXZlIHVybHMgdG8gYmUgYWJzb2x1dGUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHBhZ2UgbG9jYXRpb24uXG4gKlxuICogQSBydWRpbWVudGFyeSB0ZXN0IHN1aXRlIGlzIGxvY2F0ZWQgYXQgYHRlc3QvZml4VXJscy5qc2AgYW5kIGNhbiBiZSBydW4gdmlhIHRoZSBgbnBtIHRlc3RgIGNvbW1hbmQuXG4gKlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNzcykge1xuICAvLyBnZXQgY3VycmVudCBsb2NhdGlvblxuICB2YXIgbG9jYXRpb24gPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5sb2NhdGlvbjtcblxuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZml4VXJscyByZXF1aXJlcyB3aW5kb3cubG9jYXRpb25cIik7XG4gIH1cblxuXHQvLyBibGFuayBvciBudWxsP1xuXHRpZiAoIWNzcyB8fCB0eXBlb2YgY3NzICE9PSBcInN0cmluZ1wiKSB7XG5cdCAgcmV0dXJuIGNzcztcbiAgfVxuXG4gIHZhciBiYXNlVXJsID0gbG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyBsb2NhdGlvbi5ob3N0O1xuICB2YXIgY3VycmVudERpciA9IGJhc2VVcmwgKyBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC9bXlxcL10qJC8sIFwiL1wiKTtcblxuXHQvLyBjb252ZXJ0IGVhY2ggdXJsKC4uLilcblx0Lypcblx0VGhpcyByZWd1bGFyIGV4cHJlc3Npb24gaXMganVzdCBhIHdheSB0byByZWN1cnNpdmVseSBtYXRjaCBicmFja2V0cyB3aXRoaW5cblx0YSBzdHJpbmcuXG5cblx0IC91cmxcXHMqXFwoICA9IE1hdGNoIG9uIHRoZSB3b3JkIFwidXJsXCIgd2l0aCBhbnkgd2hpdGVzcGFjZSBhZnRlciBpdCBhbmQgdGhlbiBhIHBhcmVuc1xuXHQgICAoICA9IFN0YXJ0IGEgY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgKD86ICA9IFN0YXJ0IGEgbm9uLWNhcHR1cmluZyBncm91cFxuXHQgICAgICAgICBbXikoXSAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICBcXCggID0gTWF0Y2ggYSBzdGFydCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKD86ICA9IFN0YXJ0IGFub3RoZXIgbm9uLWNhcHR1cmluZyBncm91cHNcblx0ICAgICAgICAgICAgICAgICBbXikoXSsgID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgICAgIFteKShdKiAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICBcXCkgID0gTWF0Y2ggYSBlbmQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICkgID0gRW5kIEdyb3VwXG4gICAgICAgICAgICAgICpcXCkgPSBNYXRjaCBhbnl0aGluZyBhbmQgdGhlbiBhIGNsb3NlIHBhcmVuc1xuICAgICAgICAgICkgID0gQ2xvc2Ugbm9uLWNhcHR1cmluZyBncm91cFxuICAgICAgICAgICogID0gTWF0Y2ggYW55dGhpbmdcbiAgICAgICApICA9IENsb3NlIGNhcHR1cmluZyBncm91cFxuXHQgXFwpICA9IE1hdGNoIGEgY2xvc2UgcGFyZW5zXG5cblx0IC9naSAgPSBHZXQgYWxsIG1hdGNoZXMsIG5vdCB0aGUgZmlyc3QuICBCZSBjYXNlIGluc2Vuc2l0aXZlLlxuXHQgKi9cblx0dmFyIGZpeGVkQ3NzID0gY3NzLnJlcGxhY2UoL3VybFxccypcXCgoKD86W14pKF18XFwoKD86W14pKF0rfFxcKFteKShdKlxcKSkqXFwpKSopXFwpL2dpLCBmdW5jdGlvbihmdWxsTWF0Y2gsIG9yaWdVcmwpIHtcblx0XHQvLyBzdHJpcCBxdW90ZXMgKGlmIHRoZXkgZXhpc3QpXG5cdFx0dmFyIHVucXVvdGVkT3JpZ1VybCA9IG9yaWdVcmxcblx0XHRcdC50cmltKClcblx0XHRcdC5yZXBsYWNlKC9eXCIoLiopXCIkLywgZnVuY3Rpb24obywgJDEpeyByZXR1cm4gJDE7IH0pXG5cdFx0XHQucmVwbGFjZSgvXicoLiopJyQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSk7XG5cblx0XHQvLyBhbHJlYWR5IGEgZnVsbCB1cmw/IG5vIGNoYW5nZVxuXHRcdGlmICgvXigjfGRhdGE6fGh0dHA6XFwvXFwvfGh0dHBzOlxcL1xcL3xmaWxlOlxcL1xcL1xcL3xcXHMqJCkvaS50ZXN0KHVucXVvdGVkT3JpZ1VybCkpIHtcblx0XHQgIHJldHVybiBmdWxsTWF0Y2g7XG5cdFx0fVxuXG5cdFx0Ly8gY29udmVydCB0aGUgdXJsIHRvIGEgZnVsbCB1cmxcblx0XHR2YXIgbmV3VXJsO1xuXG5cdFx0aWYgKHVucXVvdGVkT3JpZ1VybC5pbmRleE9mKFwiLy9cIikgPT09IDApIHtcblx0XHQgIFx0Ly9UT0RPOiBzaG91bGQgd2UgYWRkIHByb3RvY29sP1xuXHRcdFx0bmV3VXJsID0gdW5xdW90ZWRPcmlnVXJsO1xuXHRcdH0gZWxzZSBpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvXCIpID09PSAwKSB7XG5cdFx0XHQvLyBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgYmFzZSB1cmxcblx0XHRcdG5ld1VybCA9IGJhc2VVcmwgKyB1bnF1b3RlZE9yaWdVcmw7IC8vIGFscmVhZHkgc3RhcnRzIHdpdGggJy8nXG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIGN1cnJlbnQgZGlyZWN0b3J5XG5cdFx0XHRuZXdVcmwgPSBjdXJyZW50RGlyICsgdW5xdW90ZWRPcmlnVXJsLnJlcGxhY2UoL15cXC5cXC8vLCBcIlwiKTsgLy8gU3RyaXAgbGVhZGluZyAnLi8nXG5cdFx0fVxuXG5cdFx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCB1cmwoLi4uKVxuXHRcdHJldHVybiBcInVybChcIiArIEpTT04uc3RyaW5naWZ5KG5ld1VybCkgKyBcIilcIjtcblx0fSk7XG5cblx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCBjc3Ncblx0cmV0dXJuIGZpeGVkQ3NzO1xufTtcblxuXG4vKioqLyB9KSxcbi8qIDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGNvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDkpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiA5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuZmxhdHBpY2tyLWNhbGVuZGFye2ZvbnQtc2l6ZToxM3B4O2JvcmRlci1yYWRpdXM6NXB4fS5mbGF0cGlja3ItY2FsZW5kYXIgLmZsYXRwaWNrci1jbGVhcntwYWRkaW5nOjdweDttYXJnaW46MTJweDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiM1NjlmZjc7Y29sb3I6I2ZmZjtvdXRsaW5lOjA7Ym9yZGVyOjA7bWluLXdpZHRoOjEwMHB4O2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAwIDJweCAwIHRyYW5zcGFyZW50O3RyYW5zaXRpb246Ym94LXNoYWRvdyAuMzZzfS5mbGF0cGlja3ItY2FsZW5kYXIgLmZsYXRwaWNrci1jbGVhcjpmb2N1cywuZmxhdHBpY2tyLWNhbGVuZGFyIC5mbGF0cGlja3ItY2xlYXI6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMnB4IDAgIzllOWU5ZX0uRGF0ZVRpbWVzRGlhbG9ne21heC13aWR0aDozMDcuODc1cHg7b3ZlcmZsb3c6aGlkZGVufS5EYXRlVGltZXNEaWFsb2cgaW5wdXR7bWluLXdpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3BhZGRpbmc6M3B4O291dGxpbmU6MDtib3JkZXI6bm9uZX1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiAxMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMTEpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiAxMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFwiLkJhc2ljSW1hZ2VzUmVuZGVyZXIgaW1ne2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b31cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiAxMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMTMpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiAxMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFwiLkJhc2ljTnVtYmVyc0VkaXRvcntkaXNwbGF5OmJsb2NrfS5CYXNpY051bWJlcnNFZGl0b3IgaW5wdXR7bWluLXdpZHRoOjEwMCU7b3V0bGluZTowO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztib3JkZXI6bm9uZTtwYWRkaW5nOjNweH1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiAxNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUmVuZGVyZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygzKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cblxuLyoqXG4qIEJvb2xlYW5zIFJlbmRlcmVyXG4qXG4qIEhhbmRsZSBib29sZWFuIHZhbHVlcyBSZW5kZXJlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIFJlbmRlcmVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUGFyYW1zTWl4aW5zKSB7XG4gIF9pbmhlcml0cyhSZW5kZXJlciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gUmVuZGVyZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFJlbmRlcmVyKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoUmVuZGVyZXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFJlbmRlcmVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBzd2l0Y2hlciA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0Jvb2xlYW5Td2l0Y2hfX1tcImFcIiAvKiBkZWZhdWx0ICovXShudWxsLCBkb2MpO1xuICAgICAgc3dpdGNoZXIuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5jb250YWluZXIgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NOYW1lID0gXCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXJcIjtcblxuICAgICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgdHJ1ZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ1JFTkRFUkVSX1RSVUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdUUlVFJywgcGFyYW1zKTtcbiAgICAgICAgdmFyIGZhbHNlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignUkVOREVSRVJfRkFMU0UnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdGQUxTRScsIHBhcmFtcyk7XG5cbiAgICAgICAgaWYgKHRydWUgPT09IHBhcmFtcy52YWx1ZSkge1xuICAgICAgICAgIGlmICghdHJ1ZVZhbHVlIHx8IHRydWVWYWx1ZSA9PT0gJ3N3aXRjaCcpIHtcbiAgICAgICAgICAgIHN3aXRjaGVyLmNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChzd2l0Y2hlci5jb21wb25lbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSB0cnVlVmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghZmFsc2VWYWx1ZSB8fCBmYWxzZVZhbHVlID09PSAnc3dpdGNoJykge1xuICAgICAgICAgICAgc3dpdGNoZXIudW5jaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQoc3dpdGNoZXIuY29tcG9uZW50KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gZmFsc2VWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcjtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gUmVuZGVyZXI7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEVkaXRvcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19Cb29sZWFuU3dpdGNoX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG4vKipcbiogQm9vbGVhbnMgRWRpdG9yXG4qXG4qIEhhbmRsZSBib29sZWFuIHZhbHVlcyBFZGl0aW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgRWRpdG9yID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUGFyYW1zTWl4aW5zKSB7XG4gIF9pbmhlcml0cyhFZGl0b3IsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIEVkaXRvcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWRpdG9yKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoRWRpdG9yKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhFZGl0b3IsIFt7XG4gICAga2V5OiBcImluaXRcIixcblxuICAgIC8qKlxuICAgICAqIFNldHVwIHRoZSBjb21wb25lbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN0YXJ0VmFsdWU7XG4gICAgICBpZiAocGFyYW1zLmtleVByZXNzICE9PSBudWxsKSBzdGFydFZhbHVlID0gQm9vbGVhbihwYXJhbXMua2V5UHJlc3MpO2Vsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MgIT09IG51bGwpIHN0YXJ0VmFsdWUgPSBCb29sZWFuKHBhcmFtcy5jaGFyUHJlc3MpO1xuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuXG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdmFyIGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUgPSBwYXJhbXMua2V5UHJlc3MgPT0gMzIgLy8gc3BhY2VcbiAgICAgICAgfHwgcGFyYW1zLmtleVByZXNzID09IDQ2OyAvLyBkZWxldGVcblxuICAgICAgICBpZiAoa2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSkge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMuY2hhclByZXNzKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IEJvb2xlYW4ocGFyYW1zLmNoYXJQcmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuICAgICAgdGhpcy5zd2l0Y2hlciA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0Jvb2xlYW5Td2l0Y2hfX1tcImFcIiAvKiBkZWZhdWx0ICovXShzdGFydFZhbHVlLCBkb2MsIGZ1bmN0aW9uIChzd2l0Y2hlcikge1xuICAgICAgICBfdGhpcy5jdXJyZW50VmFsdWUgPSBzd2l0Y2hlci5nZXRWYWx1ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmZvY3VzSW4oKTsgLy8gdXBkYXRlIGBjdXJyZW50VmFsdWVgIHRoZSB2YWx1ZSB3aGljaCB0aGlzIGNvbXBvbmVudCBpcyBtYW5hZ2luZ1xuXG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcmVmcmVuY2UgdG8gdGhlIGNvbXBvbmVudCBlbGVtZW50XG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtIVE1MRWxlbWVudH1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5zd2l0Y2hlci5jb21wb25lbnQ7XG4gICAgfVxuICAgIC8qKiBNYWtlIHN1cmUgY29udGFpbmVyIGlzIGFsd2F5cyBmb2N1c2VkIHRvIGxpc3RlbiB0byBrZXkgY2hhbmdlcyovXG5cbiAgfSwge1xuICAgIGtleTogXCJhZnRlckd1aUF0dGFjaGVkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGFmdGVyR3VpQXR0YWNoZWQoKSB7XG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0luKCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzSW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNJbigpIHtcbiAgICAgIHRoaXMuc3dpdGNoZXIuZm9jdXMoKTtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNPdXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNPdXQoKSB7XG4gICAgICB0aGlzLnN3aXRjaGVyLmRpc2FibGUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IFRoZSBjb21wb25lbnQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcG9uZW50IGRvZXMgbm90IG92ZXJmbG93IHRoZSBjZWxsXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufSBhbHdheXMgZmFsc2VcbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc1BvcHVwXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzUG9wdXAoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qKiByZW1vdmUgZXZlbnQgbGlzdGVuZXJzIG9uIGRlc3RvcnkgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIHRoaXMuc3dpdGNoZXIuZGVzdHJveSgpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBFZGl0b3I7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEZpbHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogQm9vbGVhbnMgRmlsdGVyXG4qXG4qIEhhbmRsZSBib29sZWFuIHZhbHVlcyBGaWx0ZXJpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBGaWx0ZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEZpbHRlciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRmlsdGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBGaWx0ZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihGaWx0ZXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEZpbHRlciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0IHRoZSBCb29sZWFuIEZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgdHJ1ZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9UUlVFJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignVFJVRScsIHBhcmFtcyk7XG4gICAgICB2YXIgZmFsc2VWYWx1ZSA9IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRkFMU0UnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdGQUxTRScsIHBhcmFtcyk7XG4gICAgICB2YXIgbm9uZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9OT05FJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTk9ORScsIHBhcmFtcyk7XG4gICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgIHRoaXMudmFsdWVHZXR0ZXIgPSBwYXJhbXMudmFsdWVHZXR0ZXI7XG4gICAgICB0aGlzLmZpbHRlclRleHQgPSBudWxsO1xuICAgICAgdGhpcy5ndWkgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmd1aS5jbGFzc05hbWUgPSAnQmFzaWNCb29sZWFuc0ZpbHRlcic7XG4gICAgICB0aGlzLmd1aS50YWJJbmRleCA9IFwiMFwiO1xuICAgICAgdGhpcy5ndWkuaW5uZXJIVE1MID0gXCJcXG4gICAgICAgIDx1bCBjbGFzcz1cXFwiYWctZmlsdGVyLWJvZHlcXFwiPlxcbiAgICAgICAgICA8bGkgdmFsdWU9XFxcInRydWVcXFwiPlwiLmNvbmNhdCh0cnVlVmFsdWUgfHwgJyYjOTY3MyBUcnVlJywgXCI8L2xpPlxcbiAgICAgICAgICA8bGkgdmFsdWU9XFxcImZhbHNlXFxcIj5cIikuY29uY2F0KGZhbHNlVmFsdWUgfHwgJyYjOTY3ODsgRmFsc2UnLCBcIjwvbGk+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwibm9uZVxcXCI+XCIpLmNvbmNhdChub25lVmFsdWUgfHwgJyYjOTY3NzsgTm9uZScsIFwiPC9saT5cXG4gICAgICAgIDwvdWw+XFxuICAgIFwiKTtcbiAgICAgIHRoaXMuZmlsdGVyRWxlbWVudHMgPSB0aGlzLmd1aS5xdWVyeVNlbGVjdG9yQWxsKCdsaScpO1xuICAgICAgdGhpcy5fb25DaGFuZ2VCaW5kID0gdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbHRlckVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5maWx0ZXJFbGVtZW50c1tpXTtcbiAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqIEByZXR1cm4ge0hUTUxFbGVtZW50fSovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ3VpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayB3aGV0aGVyIHNlbGVjdGVkIGZpbHRlciBtYXRjaHMgdGhlIHBhc3NlZCBjZWxsIGRhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBwYXNzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRvZXNGaWx0ZXJQYXNzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRvZXNGaWx0ZXJQYXNzKHBhcmFtcykge1xuICAgICAgdmFyIHZhbHVlID0gdGhpcy52YWx1ZUdldHRlcihwYXJhbXMpO1xuICAgICAgdmFyIHBhc3NlZDtcblxuICAgICAgaWYgKHRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnICYmIHZhbHVlID09IGZhbHNlKSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgJiYgdmFsdWUgPT0gdHJ1ZSkge1xuICAgICAgICBwYXNzZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclRleHQudG9Mb3dlckNhc2UoKSA9PT0gJ25vbmUnKSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXNzZWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhc3NlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2sgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGFwcGx5aW5nIGFueSBmaWx0ZXIgb24gdGhlIGNvbHVtblxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc0ZpbHRlckFjdGl2ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0ZpbHRlckFjdGl2ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlclRleHQgIT09IG51bGwgJiYgdGhpcy5maWx0ZXJUZXh0ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5maWx0ZXJUZXh0ICE9PSAnbm9uZSc7XG4gICAgfVxuICAgIC8qKiBHZXRzIHRoZSBmaWx0ZXIgc3RhdGUgZm9yIHN0b3JpbmcgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldE1vZGVsXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE1vZGVsKCkge1xuICAgICAgdmFyIG1vZGVsID0ge1xuICAgICAgICB2YWx1ZTogdGhpcy5maWx0ZXJUZXh0XG4gICAgICB9O1xuICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMaXN0ZW4gdG8gc2VsZWN0aW9uIGNoYW5nZXMgaW4gdGhlIGZpbHRlciBsaXN0IGFuZCB1cGRhdGUgdGhlIGdyaWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKGV2ZW50KSB7XG4gICAgICB0aGlzLmZpbHRlclRleHQgPSBldmVudC50YXJnZXQuZ2V0QXR0cmlidXRlKCd2YWx1ZScpO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsdGVyRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLmZpbHRlckVsZW1lbnRzW2ldO1xuXG4gICAgICAgIGlmIChlbGVtZW50ID09PSBldmVudC50YXJnZXQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBGaWx0ZXI7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEVkaXRvcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19EYXRlVGltZXNEaWFsb2dfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBEYXRlIC8gVGltZXMgRWRpdG9yXG4qXG4qIEhhbmRsZSBEYXRlL1RpbWUgdmFsdWVzIEVkaXRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBFZGl0b3IgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEVkaXRvciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRWRpdG9yKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBFZGl0b3IpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihFZGl0b3IpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEVkaXRvciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogU2V0dXAgdGhlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgc3RhcnRWYWx1ZTtcbiAgICAgIHRoaXMuZm9jdXNBZnRlckF0dGFjaGVkID0gcGFyYW1zLmNlbGxTdGFydGVkRWRpdDtcblxuICAgICAgaWYgKHRoaXMuZm9jdXNBZnRlckF0dGFjaGVkKSB7XG4gICAgICAgIHZhciBrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlID0gcGFyYW1zLmtleVByZXNzID09IDMyIC8vIHNwYWNlXG4gICAgICAgIHx8IHBhcmFtcy5rZXlQcmVzcyA9PSA0NjsgLy8gZGVsZXRlXG5cbiAgICAgICAgaWYgKGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSBpZiAocGFyYW1zLmNoYXJQcmVzcykge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSBwYXJhbXMuY2hhclByZXNzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSBwYXJhbXMudmFsdWU7XG5cbiAgICAgICAgICBpZiAocGFyYW1zLmtleVByZXNzICE9IDExMykge1xuICAgICAgICAgICAgLy9GMlxuICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRBbGxPbkZvY3VzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0VmFsdWUgPSBwYXJhbXMudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlhbG9nID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fRGF0ZVRpbWVzRGlhbG9nX19bXCJhXCIgLyogZGVmYXVsdCAqL10oe1xuICAgICAgICBlbmFibGVUaW1lOiB0aGlzLmdldE9wdGlvbignRURJVE9SX0VOQUJMRV9USU1FJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBlbmFibGVTZWNvbmRzOiB0aGlzLmdldE9wdGlvbignRURJVE9SX0VOQUJMRV9TRUNPTkRTJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtYXhEYXRlOiB0aGlzLmdldE9wdGlvbignRURJVE9SX01BWCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01BWCcsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWluRGF0ZTogdGhpcy5nZXRPcHRpb24oJ0VESVRPUl9NSU4nLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdNSU4nLCBwYXJhbXMpIHx8IG51bGwsXG4gICAgICAgIG1hc2s6IHRoaXMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRURJVE9SX01BU0snLCBwYXJhbXMpLFxuICAgICAgICBhbGxvd0lucHV0OiB0aGlzLmdldE9wdGlvbignRURJVE9SX0FMTE9XX0lOUFVUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtb2RlOiAnc2luZ2xlJyxcbiAgICAgICAgLy90aGlzLmdldE9wdGlvbignRURJVE9SX01PREUnLCBwYXJhbXMpIHx8ICdyYW5nZScsXG4gICAgICAgIHRpbWVfMjRocjogdGhpcy5nZXRPcHRpb24oJ0VESVRPUl8yNEgnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCcyNEgnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBvblZhbHVlVXBkYXRlOiB0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcylcbiAgICAgIH0sIGRvYyk7XG4gICAgICB0aGlzLmRpYWxvZy5zZXREYXRlKHN0YXJ0VmFsdWUsIHRydWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgYGN1cnJlbnRWYWx1ZWAgIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwib25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2UoZGF0ZXMsIGRhdGVTdHIpIHtcbiAgICAgIHRoaXMuZGlhbG9nLnNldERhdGUoZGF0ZVN0ciwgZmFsc2UpO1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBkYXRlU3RyO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHJlZnJlbmNlIHRvIHRoZSBjb21wb25lbnQgZWxlbWVudFxuICAgICAqXG4gICAgICogQHJldHVybiB7SFRNTEVsZW1lbnR9XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nLmNvbXBvbmVudDtcbiAgICB9XG4gICAgLyoqIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgYWx3YXlzIGZvY3VzZWQgdG8gbGlzdGVuIHRvIGtleSBjaGFuZ2VzKi9cblxuICB9LCB7XG4gICAga2V5OiBcImFmdGVyR3VpQXR0YWNoZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWZ0ZXJHdWlBdHRhY2hlZCgpIHtcbiAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMpIHtcbiAgICAgICAgdGhpcy5kaWFsb2cuaW5wdXQuc2VsZWN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzSW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvKiogQ2FsbGVkIGlmIGVkaXRUeXBlID0gJ2Z1bGxSb3cnICovXG5cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c0luXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzSW4oKSB7XG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKCk7XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzT3V0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzT3V0KCkge1xuICAgICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IFRoZSBjb21wb25lbnQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1N0cmluZ31cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgb3ZlcmZsb3dzIHRoZSBjZWxsXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufSBhbHdheXMgdHJ1ZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIERlc3RvcnkgRGF0ZVRpbWVzRGlhbG9nICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkZXN0cm95XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmRpYWxvZy5kZXN0cm95KCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEVkaXRvcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gVmFsdWVGb3JtYXR0ZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBEYXRlcyAvIFRpbWVzIEZvcm1hdHRlclxuKlxuKiBIYW5kbGUgRGF0ZSAvIFRpbWUgdmFsdWVzIGZvcm1hdHRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBWYWx1ZUZvcm1hdHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFZhbHVlRm9ybWF0dGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBWYWx1ZUZvcm1hdHRlcik7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVmFsdWVGb3JtYXR0ZXIsIG51bGwsIFt7XG4gICAga2V5OiBcImZvcm1hdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXQocGFyYW1zKSB7XG4gICAgICB2YXIgcGFyYW1zTWl4aW5zID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKCk7XG4gICAgICB2YXIgZG9jID0gcGFyYW1zTWl4aW5zLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIG1hc2sgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9NQVNLJywgcGFyYW1zKTtcblxuICAgICAgaWYgKG1hc2sgJiYgcGFyYW1zLmhhc093blByb3BlcnR5KCd2YWx1ZScpICYmIHBhcmFtcy52YWx1ZSkge1xuICAgICAgICByZXR1cm4gQkJqLk1hc2tzLlR5cGVzLmRhdGUocGFyYW1zLnZhbHVlLCBtYXNrKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcmFtcy52YWx1ZSB8fCAnJzsgLy8gYXZvaWQgdW5kZWZpbmVkIFxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBWYWx1ZUZvcm1hdHRlcjtcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMTkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEZpbHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19EYXRlVGltZXNEaWFsb2dfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX3NsaWNlZFRvQXJyYXkoYXJyLCBpKSB7IHJldHVybiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB8fCBfbm9uSXRlcmFibGVSZXN0KCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2VcIik7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgeyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG4vKipcbiogRGF0ZSAvIFRpbWUgRmlsdGVyXG4qXG4qIEhhbmRsZSBEYXRlcyAvIFRpbWVzIHZhbHVlcyBGaWx0ZXJpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBGaWx0ZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEZpbHRlciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRmlsdGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBGaWx0ZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihGaWx0ZXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEZpbHRlciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0IHRoZSBCb29sZWFuIEZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB0aGlzLmRpYWxvZyA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKHtcbiAgICAgICAgaW5saW5lOiB0cnVlLFxuICAgICAgICBlbmFibGVUaW1lOiB0aGlzLmdldE9wdGlvbignRklMVEVSX0VOQUJMRV9USU1FJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBlbmFibGVTZWNvbmRzOiB0aGlzLmdldE9wdGlvbignRklMVEVSX0VOQUJMRV9TRUNPTkRTJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtYXhEYXRlOiB0aGlzLmdldE9wdGlvbignRklMVEVSX01BWCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01BWCcsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWluRGF0ZTogdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NSU4nLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdNSU4nLCBwYXJhbXMpIHx8IG51bGwsXG4gICAgICAgIG1hc2s6IHRoaXMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignRklMVEVSX01BU0snLCBwYXJhbXMpLFxuICAgICAgICBhbGxvd0lucHV0OiB0aGlzLmdldE9wdGlvbignRklMVEVSX0FMTE9XX0lOUFVUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IGZhbHNlLFxuICAgICAgICBtb2RlOiAncmFuZ2UnLFxuICAgICAgICAvL3RoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTU9ERScsIHBhcmFtcykgfHwgJ3JhbmdlJyxcbiAgICAgICAgdGltZV8yNGhyOiB0aGlzLmdldE9wdGlvbignRklMVEVSXzI0SCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJzI0SCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG9uVmFsdWVVcGRhdGU6IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgb25DbGVhcjogdGhpcy5vbkNsZWFyLmJpbmQodGhpcylcbiAgICAgIH0sIGRvYyk7IC8vIG1ha2Ugc3VyZSBubyBkYXRlIGlzIHNlbGVjdGVkXG5cbiAgICAgIHRoaXMuZGlhbG9nLnNldERhdGUoJycsIHRydWUpO1xuICAgICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgICB0aGlzLnZhbHVlR2V0dGVyID0gcGFyYW1zLnZhbHVlR2V0dGVyO1xuICAgICAgdGhpcy5maWx0ZXJEYXRlcyA9IG51bGw7XG4gICAgfVxuICAgIC8qKiBSZXNldCBmaWx0ZXIgd2hlbiBjYWxhbmRlciBpcyBjbGVhcmVkICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNsZWFyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uQ2xlYXIoKSB7XG4gICAgICB0aGlzLmZpbHRlckRhdGVzID0gW107XG4gICAgICB0aGlzLnBhcmFtcy5maWx0ZXJDaGFuZ2VkQ2FsbGJhY2soKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTGlzdGVuIHRvIHNlbGVjdGlvbiBjaGFuZ2VzIGluIHRoZSBjYWxhbmRlciBhbmQgdXBkYXRlIHRoZSBncmlkXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwib25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2UoZGF0ZXMsIGRhdGVTdHIpIHtcbiAgICAgIHRoaXMuZmlsdGVyRGF0ZXMgPSBkYXRlcztcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xuICAgIH1cbiAgICAvKiogQHJldHVybiB7SFRNTEVsZW1lbnR9Ki9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2cuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayB3aGV0aGVyIHNlbGVjdGVkIGZpbHRlciBtYXRjaHMgdGhlIHBhc3NlZCBjZWxsIGRhdGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBwYXNzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRvZXNGaWx0ZXJQYXNzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRvZXNGaWx0ZXJQYXNzKHBhcmFtcykge1xuICAgICAgdmFyIHZhbHVlID0gbmV3IERhdGUodGhpcy52YWx1ZUdldHRlcihwYXJhbXMpKTtcblxuICAgICAgdmFyIF90aGlzJGZpbHRlckRhdGVzID0gX3NsaWNlZFRvQXJyYXkodGhpcy5maWx0ZXJEYXRlcywgMiksXG4gICAgICAgICAgc3RhcnQgPSBfdGhpcyRmaWx0ZXJEYXRlc1swXSxcbiAgICAgICAgICBlbmQgPSBfdGhpcyRmaWx0ZXJEYXRlc1sxXTtcblxuICAgICAgdmFyIHBhc3NlZDtcblxuICAgICAgaWYgKHR5cGVvZiBlbmQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBzdGFydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFyIHN0YXJ0QXNEYXRlID0gbmV3IERhdGUoc3RhcnQpO1xuICAgICAgICB2YXIgZW5kQXNEYXRlID0gbmV3IERhdGUoZW5kKTtcbiAgICAgICAgcGFzc2VkID0gdmFsdWUgPj0gc3RhcnRBc0RhdGUgJiYgdmFsdWUgPD0gZW5kQXNEYXRlO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHZhciBfc3RhcnRBc0RhdGUgPSBuZXcgRGF0ZShzdGFydCk7XG5cbiAgICAgICAgcGFzc2VkID0gX3N0YXJ0QXNEYXRlID09PSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXNzZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBhcHBseWluZyBhbnkgZmlsdGVyIG9uIHRoZSBjb2x1bW5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAgICoqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiaXNGaWx0ZXJBY3RpdmVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNGaWx0ZXJBY3RpdmUoKSB7XG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmZpbHRlckRhdGVzKSAmJiB0aGlzLmZpbHRlckRhdGVzLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqIEdldHMgdGhlIGZpbHRlciBzdGF0ZSBmb3Igc3RvcmluZyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0TW9kZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWwoKSB7XG4gICAgICB2YXIgbW9kZWwgPSB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmZpbHRlckRhdGVzXG4gICAgICB9O1xuICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQcm92aWRlIGEgcmVhZCBvbmx5IGZsb2F0aW5nIGZpbHRlciBcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRNb2RlbEFzU3RyaW5nXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE1vZGVsQXNTdHJpbmcoKSB7XG4gICAgICB2YXIgbWFzayA9IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFTSycsIHRoaXMucGFyYW1zKTtcblxuICAgICAgdmFyIF90aGlzJGZpbHRlckRhdGVzMiA9IF9zbGljZWRUb0FycmF5KHRoaXMuZmlsdGVyRGF0ZXMsIDIpLFxuICAgICAgICAgIHN0YXJ0ID0gX3RoaXMkZmlsdGVyRGF0ZXMyWzBdLFxuICAgICAgICAgIGVuZCA9IF90aGlzJGZpbHRlckRhdGVzMlsxXTtcblxuICAgICAgdmFyIHJlc3VsdCA9ICcnO1xuICAgICAgaWYgKHN0YXJ0KSByZXN1bHQgKz0gXCJcIi5jb25jYXQoQkJqLk1hc2tzLlR5cGVzLmRhdGUoc3RhcnQsIG1hc2spKTtcbiAgICAgIGlmIChlbmQpIHJlc3VsdCArPSBcIiAtIFwiLmNvbmNhdChCQmouTWFza3MuVHlwZXMuZGF0ZShlbmQsIG1hc2spKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEZpbHRlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAyMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUmVuZGVyZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIEltYWdlcyBSZW5kZXJlclxuKlxuKiBIYW5kbGUgSW1hZ2VzIFJlbmRlcmVyaW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgUmVuZGVyZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKFJlbmRlcmVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBSZW5kZXJlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUmVuZGVyZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihSZW5kZXJlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUmVuZGVyZXIsIFt7XG4gICAga2V5OiBcImluaXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdGhpcy5jb250YWluZXIgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NOYW1lID0gXCJCYXNpY0ltYWdlc1JlbmRlcmVyXCI7XG5cbiAgICAgIGlmICghcGFyYW1zLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5nZXRPcHRpb24oJ0lNQUdFU19XSURUSCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1dJRFRIJywgcGFyYW1zKSB8fCAnMjVweCc7XG4gICAgICAgIHZhciBoZWlnaHQgPSB0aGlzLmdldE9wdGlvbignSU1BR0VTX0hFSUdIVCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0hFSUdIVCcsIHBhcmFtcykgfHwgJzI1cHgnO1xuICAgICAgICB2YXIgbGlzdCA9IHRoaXMuZ2V0T3B0aW9uKCdJTUFHRVNfTElTVCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0xJU1QnLCBwYXJhbXMpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbGlzdCA9IEpTT04ucGFyc2UobGlzdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBsaXN0ID0gbGlzdCB8fCB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaXN0ICYmIGxpc3QuaGFzT3duUHJvcGVydHkocGFyYW1zLnZhbHVlKSkge1xuICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IFwiPGltZyBzcmM9XFxcIlwiLmNvbmNhdChsaXN0W3BhcmFtcy52YWx1ZV0sIFwiXFxcIiB3aWR0aD1cXFwiXCIpLmNvbmNhdCh3aWR0aCwgXCJcXFwiIGhlaWdodD1cXFwiXCIpLmNvbmNhdChoZWlnaHQsIFwiXFxcIi8+XCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IHBhcmFtcy52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBSZW5kZXJlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAyMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gVmFsdWVGb3JtYXR0ZXI7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBOdW1iZXJzIFZhbHVlIEZvcm1hdHRlclxuKlxuKiBIYW5kbGUgTnVtYmVyIHZhbHVlcyBmb3JtYXR0aW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgVmFsdWVGb3JtYXR0ZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBWYWx1ZUZvcm1hdHRlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgVmFsdWVGb3JtYXR0ZXIpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFZhbHVlRm9ybWF0dGVyLCBudWxsLCBbe1xuICAgIGtleTogXCJmb3JtYXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9ybWF0KHBhcmFtcykge1xuICAgICAgdmFyIHBhcmFtc01peGlucyA9IG5ldyBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSgpO1xuICAgICAgdmFyIGRvYyA9IHBhcmFtc01peGlucy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBtYXNrID0gcGFyYW1zTWl4aW5zLmdldE9wdGlvbignTUFTSycsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfTUFTSycsIHBhcmFtcyk7XG4gICAgICB2YXIgZ3JvdXBTZXAgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdHUk9VUF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ1JFTkRFUkVSX0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignTlVNQkVSU19SRU5ERVJFUl9HUk9VUF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8ICcsJztcbiAgICAgIHZhciBkZWNpbWFsU2VwID0gcGFyYW1zTWl4aW5zLmdldE9wdGlvbignREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ1JFTkRFUkVSX0RFQ0lNQUxfU0VQQVJBVE9SJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdOVU1CRVJTX1JFTkRFUkVSX0RFQ0lNQUxfU0VQQVJBVE9SJywgcGFyYW1zKSB8fCAnLic7XG5cbiAgICAgIGlmIChtYXNrICYmIHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSAmJiBwYXJhbXMudmFsdWUgIT0gbnVsbCAmJiAhaXNOYU4ocGFyYW1zLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gQkJqLk1hc2tzLlR5cGVzLm51bWJlcihwYXJhbXMudmFsdWUsIG1hc2ssIGdyb3VwU2VwLCBkZWNpbWFsU2VwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcmFtcy52YWx1ZSB8fCAnJzsgLy8gYXZvaWQgdW5kZWZpbmVkIFxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBWYWx1ZUZvcm1hdHRlcjtcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMjIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEVkaXRvcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogTnVtYmVycyBFZGl0b3JcbipcbiogSGFuZGxlIG51bWJlciB2YWx1ZXMgRWRpdGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEVkaXRvciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRWRpdG9yLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBFZGl0b3IoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEVkaXRvcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEVkaXRvcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRWRpdG9yLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBTZXR1cCB0aGUgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBzdGFydFZhbHVlO1xuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuXG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdmFyIGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUgPSBwYXJhbXMua2V5UHJlc3MgPT0gMzIgLy8gc3BhY2VcbiAgICAgICAgfHwgcGFyYW1zLmtleVByZXNzID09IDQ2OyAvLyBkZWxldGVcblxuICAgICAgICBpZiAoa2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSkge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSAnJztcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMuY2hhclByZXNzKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy5jaGFyUHJlc3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT0gMTEzKSB7XG4gICAgICAgICAgICAvL0YyXG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb21wb25lbnQgPSBkb2MuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmNsYXNzTmFtZSA9ICdCYXNpY051bWJlcnNFZGl0b3InO1xuICAgICAgdGhpcy5jb21wb25lbnQudGFiSW5kZXggPSBcIjBcIjsgLy8gaW5wdXRcblxuICAgICAgdGhpcy5pbnB1dCA9IGRvYy5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgdGhpcy5pbnB1dC50eXBlID0gXCJudW1iZXJcIjtcbiAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSBzdGFydFZhbHVlO1xuICAgICAgdGhpcy5pbnB1dC50YWJJbmRleCA9IDA7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hcHBlbmRDaGlsZCh0aGlzLmlucHV0KTtcbiAgICAgIHZhciBtaW4gPSB0aGlzLmdldE9wdGlvbignRURJVE9SX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcyk7XG4gICAgICB2YXIgbWF4ID0gdGhpcy5nZXRPcHRpb24oJ0VESVRPUl9NQVgnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdNQVgnLCBwYXJhbXMpO1xuICAgICAgdmFyIHN0ZXAgPSB0aGlzLmdldE9wdGlvbignRURJVE9SX1NURVAnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdTVEVQJywgcGFyYW1zKTtcbiAgICAgIGlmIChtaW4pIHRoaXMuaW5wdXQubWluID0gbWluO1xuICAgICAgaWYgKG1heCkgdGhpcy5pbnB1dC5tYXggPSBtYXg7XG4gICAgICBpZiAoc3RlcCkgdGhpcy5pbnB1dC5tYXggPSBzdGVwO1xuICAgICAgdGhpcy5fb25LZXlEb3duQmluZCA9IHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5fb25DaGFuZ2VCaW5kID0gdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzKTtcbiAgICAgIHRoaXMuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bkJpbmQpO1xuICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9vbkNoYW5nZUJpbmQpOyAvLyB1cGRhdGUgYGN1cnJlbnRWYWx1ZWAgdGhlIHZhbHVlIHdoaWNoIHRoaXMgY29tcG9uZW50IGlzIG1hbmFnaW5nXG5cbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gc3RhcnRWYWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSByZWZyZW5jZSB0byB0aGUgY29tcG9uZW50IGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0hUTUxFbGVtZW50fVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudDtcbiAgICB9XG4gICAgLyoqIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgYWx3YXlzIGZvY3VzZWQgdG8gbGlzdGVuIHRvIGtleSBjaGFuZ2VzKi9cblxuICB9LCB7XG4gICAga2V5OiBcImFmdGVyR3VpQXR0YWNoZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWZ0ZXJHdWlBdHRhY2hlZCgpIHtcbiAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMpIHtcbiAgICAgICAgdGhpcy5pbnB1dC5zZWxlY3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNJbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBUaGUgY29tcG9uZW50IHZhbHVlXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0VmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0VmFsdWUoKSB7XG4gICAgICB2YXIgY2FzdGVkID0gTnVtYmVyKHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICAgIHJldHVybiBpc05hTihjYXN0ZWQpID8gdGhpcy5jdXJyZW50VmFsdWUgOiBjYXN0ZWQ7XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzSW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNJbigpIHtcbiAgICAgIHRoaXMuaW5wdXQuZm9jdXMoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcG9uZW50IGRvZXMgbm90IG92ZXJmbG93IHRoZSBjZWxsXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufSBhbHdheXMgZmFsc2VcbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc1BvcHVwXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzUG9wdXAoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qKiByZW1vdmUgZXZlbnQgbGlzdGVuZXJzIG9uIGRlc3RvcnkgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIGlmICh0aGlzLl9vbktleURvd24pIHRoaXMuaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bik7XG4gICAgICBpZiAodGhpcy5fb25DaGFuZ2VCaW5kKSB0aGlzLmlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX29uQ2hhbmdlQmluZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICogVXBkYXRlIGBjdXJyZW50VmFsdWVgIHdoZW4gdGhlIGNoZWNrYm94IHZhbHVlIGlzIGNoYW5nZWRcbiAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uQ2hhbmdlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbkNoYW5nZShwYXJhbXMpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTW9uaXRvciBrZXlzIFt0b3AsYm90dG9tLGVudGVyXSB0byBjaGFuZ2UgdGhlIGlucHV0IHZhbHVlXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9vbktleURvd25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uS2V5RG93bihldmVudCkge1xuICAgICAgdmFyIGtleSA9IGV2ZW50LndoaWNoIHx8IGV2ZW50LmtleUNvZGU7XG5cbiAgICAgIGlmIChrZXkgPT0gMzggfHwga2V5ID09IDQwKSB7XG4gICAgICAgIC8vIHRvcCB8IGRvd25cbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09IDEzKSB7XG4gICAgICAgIC8vIGVudGVyXG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRWRpdG9yO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIzICovLFxuLyogMjQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX2V4cG9zZV9sb2FkZXJfQkJqX01hc2tzX25vZGVfbW9kdWxlc19iYmpfbWFza3NfZGlzdF9iYmpfbWFza3NfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9leHBvc2VfbG9hZGVyX0JCal9NYXNrc19ub2RlX21vZHVsZXNfYmJqX21hc2tzX2Rpc3RfYmJqX21hc2tzX2pzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfZXhwb3NlX2xvYWRlcl9CQmpfTWFza3Nfbm9kZV9tb2R1bGVzX2Jial9tYXNrc19kaXN0X2Jial9tYXNrc19qc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfZmxhdHBpY2tyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfZmxhdHBpY2tyX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfZmxhdHBpY2tyX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fQm9vbGVhbnNfc3R5bGVfY3NzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDUpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fQm9vbGVhbnNfc3R5bGVfY3NzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX0Jvb2xlYW5zX3N0eWxlX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX0RhdGVUaW1lc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19EYXRlVGltZXNfc3R5bGVfY3NzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX0RhdGVUaW1lc19zdHlsZV9jc3NfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19JbWFnZXNfc3R5bGVfY3NzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX0ltYWdlc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fSW1hZ2VzX3N0eWxlX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX051bWJlcnNfc3R5bGVfY3NzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX051bWJlcnNfc3R5bGVfY3NzX19fZGVmYXVsdCA9IF9fd2VicGFja19yZXF1aXJlX18ubihfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX051bWJlcnNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fbm9kZV9tb2R1bGVzX2ZsYXRwaWNrcl9kaXN0X2ZsYXRwaWNrcl9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjkpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fbm9kZV9tb2R1bGVzX2ZsYXRwaWNrcl9kaXN0X2ZsYXRwaWNrcl9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fbm9kZV9tb2R1bGVzX2ZsYXRwaWNrcl9kaXN0X2ZsYXRwaWNrcl9jc3NfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19Cb29sZWFuc19SZW5kZXJlcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNCk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX0Jvb2xlYW5zX1JlbmRlcmVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX0Jvb2xlYW5zX0VkaXRvcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNSk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0Jvb2xlYW5zRWRpdG9yXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19Cb29sZWFuc19FZGl0b3JfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fQm9vbGVhbnNfRmlsdGVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNGaWx0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX0Jvb2xlYW5zX0ZpbHRlcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fRGF0ZVRpbWVzX0VkaXRvcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNyk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0RhdGVUaW1lc0VkaXRvclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX0RhdGVUaW1lc19FZGl0b3JfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX0RhdGVUaW1lc19WYWx1ZUZvcm1hdHRlcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygxOCk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY0RhdGVUaW1lc1ZhbHVlRm9ybWF0dGVyXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fRGF0ZVRpbWVzX1ZhbHVlRm9ybWF0dGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19EYXRlVGltZXNfRmlsdGVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE5KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzRmlsdGVyXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMl9fRGF0ZVRpbWVzX0ZpbHRlcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xM19fSW1hZ2VzX1JlbmRlcmVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIwKTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEzX19JbWFnZXNfUmVuZGVyZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX051bWJlcnNfVmFsdWVGb3JtYXR0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjEpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNOdW1iZXJzVmFsdWVGb3JtYXR0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X19OdW1iZXJzX1ZhbHVlRm9ybWF0dGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19OdW1iZXJzX0VkaXRvcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMik7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY051bWJlcnNFZGl0b3JcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19OdW1iZXJzX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKioqLyB9KSxcbi8qIDI1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihnbG9iYWwpIHtpZighZ2xvYmFsW1wiQkJqXCJdKSBnbG9iYWxbXCJCQmpcIl0gPSB7fTtcbm1vZHVsZS5leHBvcnRzID0gZ2xvYmFsW1wiQkJqXCJdW1wiTWFza3NcIl0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDI3KTtcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbChleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDI2KSkpXG5cbi8qKiovIH0pLFxuLyogMjYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxudmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCkgfHwgKDEsZXZhbCkoXCJ0aGlzXCIpO1xufSBjYXRjaChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpXG5cdFx0ZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuXG5cbi8qKiovIH0pLFxuLyogMjcgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHJ1ZSlcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIk1hc2tzXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIkJCalwiXSA9IHJvb3RbXCJCQmpcIl0gfHwge30sIHJvb3RbXCJCQmpcIl1bXCJNYXNrc1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAvKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbi8qKioqKiovIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuLyoqKioqKi8gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbi8qKioqKiovIFx0XHRcdGk6IG1vZHVsZUlkLFxuLyoqKioqKi8gXHRcdFx0bDogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRleHBvcnRzOiB7fVxuLyoqKioqKi8gXHRcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4vKioqKioqLyBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuLyoqKioqKi8gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbi8qKioqKiovIFx0fVxuLyoqKioqKi9cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMik7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJiai1tYXNrcyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKiBcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKiogXG4gKiBEYXRlTWFza1xuICogXG4gKiBIYW5kbGUgQkJqIGRhdGVzIG1hc2tpbmcgXG4gKiBcbiAqIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xudmFyIERhdGVNYXNrID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gRGF0ZU1hc2soKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERhdGVNYXNrKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhEYXRlTWFzaywgbnVsbCwgW3tcbiAgICBrZXk6IFwibWFza1wiLFxuXG4gICAgLyoqIFxuICAgICAqIE1hc2sgZGF0ZVxuICAgICAqIFxuICAgICAqIE1hc2sgdGhlIHBhc3NlZCBkYXRlIHdpdGggdGhlIHBhc3NlZCBtYXNrXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgZGF0ZSBhcyBhIHN0cmluZ1xuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtYXNrIG1hc2sgYXMgYSBzdHJpbmdcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IGEgZGF0ZSBtYXNrZWQgd2l0aHQgdGhlIGdpdmVuIG1hc2tcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gbWFzayhkYXRlLCBfbWFzaykge1xuICAgICAgaWYgKCFkYXRlKSByZXR1cm47XG4gICAgICBpZiAoIV9tYXNrKSByZXR1cm4gZGF0ZTtcblxuICAgICAgdmFyIGRhdGVEZXRhaWxzID0gRGF0ZU1hc2suX3BhcnNlRGF0ZShkYXRlKTtcblxuICAgICAgdmFyIHRyYW5zbGF0aW9ucyA9IERhdGVNYXNrLl9idWlsZFRyYW5zaWxhdGlvbihkYXRlRGV0YWlscyk7XG5cbiAgICAgIHZhciByZXN1bHQgPSBfbWFzaztcblxuICAgICAgZm9yICh2YXIgayBpbiB0cmFuc2xhdGlvbnMpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UobmV3IFJlZ0V4cCgnKCUnICsgayArICcpJywgJ2cnKSwgdHJhbnNsYXRpb25zW2tdKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUGFyc2UgdGhlIHBhc3NlZCBkYXRlIHN0cmluZyBhZG4gcmV0dXJuIGl0cyBkZXRpbGFzXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgZGF0ZSBhcyBhIHN0cmluZ1xuICAgICAqIFxuICAgICAqIEByZXR1cm4ge09iamVjdH0gXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfcGFyc2VEYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9wYXJzZURhdGUoZGF0ZSkge1xuICAgICAgdmFyIGRhdGVPYmplY3QgPSBEYXRlLnBhcnNlKGRhdGUpO1xuICAgICAgaWYgKCEoZGF0ZU9iamVjdCBpbnN0YW5jZW9mIERhdGUpKSBkYXRlT2JqZWN0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgICB2YXIgaG91cnMyNCA9IGRhdGVPYmplY3QuZ2V0SG91cnMoKTtcbiAgICAgIHZhciBob3VyczEyID0gaG91cnMyNCAlIDEyIHx8IDEyO1xuXG4gICAgICB2YXIgZGF5T2ZZZWFyID0gRGF0ZU1hc2suX2dldERheU9mWWVhcihkYXRlKTsgLy8gY29uc3QgZGF5T2ZXZWVrID0gZGF0ZU9iamVjdC5nZXREYXkoKSA/XG5cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgXCJ5ZWFyXCI6IGRhdGVPYmplY3QuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgXCJtb250aFwiOiBkYXRlT2JqZWN0LmdldE1vbnRoKCkgKyAxLFxuICAgICAgICBcImRheVwiOiBkYXRlT2JqZWN0LmdldERhdGUoKSxcbiAgICAgICAgXCJtaW51dGVzXCI6IGRhdGVPYmplY3QuZ2V0TWludXRlcygpLFxuICAgICAgICBcInNlY29uZHNcIjogZGF0ZU9iamVjdC5nZXRTZWNvbmRzKCksXG4gICAgICAgIFwiaG91cnMyNFwiOiBob3VyczI0LFxuICAgICAgICBcImhvdXJzMTJcIjogaG91cnMxMixcbiAgICAgICAgXCJkYXlPZlllYXJcIjogZGF5T2ZZZWFyLFxuICAgICAgICBcImRheU9mV2Vla1wiOiBkYXRlT2JqZWN0LmdldERheSgpICsgMSAvLyBTdW5kYXkgPSAxIGluIEJCaiBidXQgU3VuZGF5ID0gMCBpbiBKU1xuXG4gICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgYSBtYXAgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGFsbCBwb3NzaWJsZSBmb3JtcyBvZiBtYXNrc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRlRGV0YWlscyBkYXRlIGRldGFpbHMgYnVpbHQgYnkgYF9wYXJzZURhdGVgXG4gICAgICogXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBmb3JtcyBtYXNrc1xuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2J1aWxkVHJhbnNpbGF0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9idWlsZFRyYW5zaWxhdGlvbihkYXRlRGV0YWlscykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLy8geWVhciBcbiAgICAgICAgXCJZelwiOiBkYXRlRGV0YWlscy55ZWFyLnRvU3RyaW5nKCkuc3Vic3RyKC0yKSxcbiAgICAgICAgXCJZc1wiOiBkYXRlRGV0YWlscy55ZWFyLFxuICAgICAgICBcIllsXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWXBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy55ZWFyKSxcbiAgICAgICAgXCJZZFwiOiBkYXRlRGV0YWlscy55ZWFyLFxuICAgICAgICBcIllcIjogZGF0ZURldGFpbHMueWVhcixcbiAgICAgICAgLy8gbW9udGhcbiAgICAgICAgXCJNelwiOiBTdHJpbmcoZGF0ZURldGFpbHMubW9udGgpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5tb250aCA6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1zXCI6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1sXCI6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1wXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMubW9udGgpLFxuICAgICAgICBcIk1kXCI6IGRhdGVEZXRhaWxzLm1vbnRoLFxuICAgICAgICBcIk1cIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIC8vIGRheVxuICAgICAgICBcIkR6XCI6IFN0cmluZyhkYXRlRGV0YWlscy5kYXkpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5kYXkgOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRHNcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICBcIkRsXCI6IGRhdGVEZXRhaWxzLmRheSxcbiAgICAgICAgXCJEcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLmRheSksXG4gICAgICAgIFwiRGRcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICBcIkRcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICAvLyBob3VyIDI0XG4gICAgICAgIFwiSHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmhvdXJzMjQpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5ob3VyczI0IDogZGF0ZURldGFpbHMuaG91cnMyNCxcbiAgICAgICAgXCJIc1wiOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICBcIkhsXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSHBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5ob3VyczI0KSxcbiAgICAgICAgXCJIZFwiOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICBcIkhcIjogZGF0ZURldGFpbHMuaG91cnMyNCxcbiAgICAgICAgLy8gaG91ciAxMlxuICAgICAgICBcImh6XCI6IFN0cmluZyhkYXRlRGV0YWlscy5ob3VyczEyKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuaG91cnMxMiA6IGRhdGVEZXRhaWxzLmhvdXJzMTIsXG4gICAgICAgIFwiaHNcIjogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgXCJobFwiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhwXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMuaG91cnMxMiksXG4gICAgICAgIFwiaGRcIjogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgXCJoXCI6IGRhdGVEZXRhaWxzLmhvdXJzMTIsXG4gICAgICAgIC8vIG1pbnV0ZXNcbiAgICAgICAgXCJtelwiOiBTdHJpbmcoZGF0ZURldGFpbHMubWludXRlcykubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLm1pbnV0ZXMgOiBkYXRlRGV0YWlscy5taW51dGVzLFxuICAgICAgICBcIm1zXCI6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIFwibWxcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLm1pbnV0ZXMpLFxuICAgICAgICBcIm1kXCI6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIFwibVwiOiBkYXRlRGV0YWlscy5taW51dGVzLFxuICAgICAgICAvLyBzZWNvbmRzXG4gICAgICAgIFwic3pcIjogU3RyaW5nKGRhdGVEZXRhaWxzLnNlY29uZHMpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5zZWNvbmRzIDogZGF0ZURldGFpbHMuc2Vjb25kcyxcbiAgICAgICAgXCJzc1wiOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICBcInNsXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic3BcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5zZWNvbmRzKSxcbiAgICAgICAgXCJzZFwiOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICBcInNcIjogZGF0ZURldGFpbHMuc2Vjb25kcyxcbiAgICAgICAgLy8gQU0gLCBQTVxuICAgICAgICBcIlBQXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwiUE1cIiA6IFwiUE1cIixcbiAgICAgICAgXCJQXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwiUE1cIiA6IFwiQU1cIixcbiAgICAgICAgXCJwcFwiOiBkYXRlRGV0YWlscy5ob3VyczI0ID4gMTIgPyBcInBtXCIgOiBcImFtXCIsXG4gICAgICAgIFwicFwiOiBkYXRlRGV0YWlscy5ob3VyczI0ID4gMTIgPyBcInBtXCIgOiBcImFtXCIsXG4gICAgICAgIC8vIERheSBvZiBZZWFyXG4gICAgICAgIFwiSnpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmRheU9mWWVhcikubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmRheU9mWWVhciA6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgXCJKc1wiOiBkYXRlRGV0YWlscy5kYXlPZlllYXIsXG4gICAgICAgIFwiSmxcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpkXCI6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgXCJKXCI6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgLy8gRGF5IE9mIFdlZWsgXG4gICAgICAgIFwiV3pcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmRheU9mV2VlaykubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmRheU9mV2VlayA6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXc1wiOiBkYXRlRGV0YWlscy5kYXlPZldlZWssXG4gICAgICAgIFwiV2xcIjogZGF0ZURldGFpbHMuZGF5T2ZXZWVrLFxuICAgICAgICBcIldwXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMuZGF5T2ZXZWVrKSxcbiAgICAgICAgXCJXZFwiOiBkYXRlRGV0YWlscy5kYXlPZldlZWssXG4gICAgICAgIFwiV1wiOiBkYXRlRGV0YWlscy5kYXlPZldlZWtcbiAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgRGF5IG51bWJlciB3aXRoaW4gdGhlIHllYXIgKDEtMzY2KS5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogXG4gICAgICogQHJldHVybnMge051bWJlcn1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9nZXREYXlPZlllYXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldERheU9mWWVhcihkYXRlKSB7XG4gICAgICB2YXIgbm93ID0gRGF0ZS5wYXJzZShkYXRlKTtcbiAgICAgIGlmICghKG5vdyBpbnN0YW5jZW9mIERhdGUpKSBub3cgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKG5vdy5nZXRGdWxsWWVhcigpLCAwLCAwKTtcbiAgICAgIHZhciBkaWZmID0gbm93IC0gc3RhcnQgKyAoc3RhcnQuZ2V0VGltZXpvbmVPZmZzZXQoKSAtIG5vdy5nZXRUaW1lem9uZU9mZnNldCgpKSAqIDYwICogMTAwMDtcbiAgICAgIHZhciBvbmVEYXkgPSAxMDAwICogNjAgKiA2MCAqIDI0O1xuICAgICAgdmFyIGRheSA9IE1hdGguZmxvb3IoZGlmZiAvIG9uZURheSk7XG4gICAgICByZXR1cm4gZGF5O1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEYXRlTWFzaztcbn0oKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gRGF0ZU1hc2s7XG5cbi8qKiovIH0pLFxuLyogMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYmotbWFza3MgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICogXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqIFxuICogTnVtYmVyTWFza1xuICogXG4gKiBIYW5kbGUgQkJqIG51bWJlcnMgbWFza2luZyBcbiAqIFxuICogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgTnVtYmVyTWFzayA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIE51bWJlck1hc2soKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIE51bWJlck1hc2spO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKE51bWJlck1hc2ssIG51bGwsIFt7XG4gICAga2V5OiBcIm1hc2tcIixcblxuICAgIC8qKlxuICAgICAqIE1hc2sgdGhlIGdpdmVuIG51bWJlciB3aXRoIHRoZSBnaXZlbiBtYXNrIGFjY29yZGluZyB0byBCQmogcnVsZXNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbnVtYmVyIHRoZSBudW1iZXIgdG8gZm9ybWF0XG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgdGhlIG1hc2sgdG8gdXNlIGZvciBmb3JtYXR0aW5nXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGdyb3VwaW5nU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBncm91cGluZyBzZXBhcmF0b3JcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGVjaW1hbFNlcGFyYXRvciBhIGNoYXIgd2hpY2ggd2lsbCBiZSB1c2VkIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgbWFza2VkIG51bWJlclxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBtYXNrKG51bWJlciwgX21hc2spIHtcbiAgICAgIHZhciBncm91cGluZ1NlcGFyYXRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogJywnO1xuICAgICAgdmFyIGRlY2ltYWxTZXBhcmF0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6ICcuJztcbiAgICAgIHZhciBtYXNrTGVuZ3RoID0gX21hc2subGVuZ3RoO1xuICAgICAgaWYgKDAgPT09IG1hc2tMZW5ndGgpIHJldHVybiBudW1iZXI7IC8vIEdldCBtYWduaXR1ZGUgYW5kIHByZWNpc2lvbiBvZiBNQVNLXG5cbiAgICAgIHZhciBtYXNrQmVmb3JlRGVjaW1hbCA9IDA7XG4gICAgICB2YXIgbWFza0FmdGVyRGVjaW1hbCA9IDA7XG4gICAgICB2YXIgZm91bmREZWNpbWFsID0gZmFsc2U7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFza0xlbmd0aDsgKytpKSB7XG4gICAgICAgIHZhciBtID0gX21hc2suY2hhckF0KGkpO1xuXG4gICAgICAgIGlmIChtID09ICcwJyB8fCBtID09ICcjJykge1xuICAgICAgICAgIGlmIChmb3VuZERlY2ltYWwpICsrbWFza0FmdGVyRGVjaW1hbDtlbHNlICsrbWFza0JlZm9yZURlY2ltYWw7XG4gICAgICAgIH0gZWxzZSBpZiAobSA9PSAnLicpIGZvdW5kRGVjaW1hbCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBudW0gPSBOdW1iZXJNYXNrLl9yb3VuZChudW1iZXIsIG1hc2tBZnRlckRlY2ltYWwpO1xuXG4gICAgICB2YXIgZGlnaXRzID0gTnVtYmVyTWFzay5fdG9DaGFyQXJyYXkobnVtKTsgLy8gR2V0IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE5VTUJFUlxuXG5cbiAgICAgIHZhciBudW1MZW4gPSBkaWdpdHMubGVuZ3RoO1xuICAgICAgdmFyIG51bUJlZm9yZURlY2ltYWwgPSAwO1xuICAgICAgdmFyIG51bUFmdGVyRGVjaW1hbCA9IDA7XG4gICAgICBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IG51bUxlbjsgX2krKykge1xuICAgICAgICBpZiAoZGlnaXRzW19pXSA9PSAnLicpIGZvdW5kRGVjaW1hbCA9IHRydWU7ZWxzZSB7XG4gICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgKytudW1BZnRlckRlY2ltYWw7ZWxzZSArK251bUJlZm9yZURlY2ltYWw7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gYWx3YXlzIGlnbm9yZSBtYXNrIG92ZXJmbG93XG5cblxuICAgICAgaWYgKG51bUJlZm9yZURlY2ltYWwgPiBtYXNrQmVmb3JlRGVjaW1hbCkgcmV0dXJuIG51bWJlci50b1N0cmluZygpOyAvLyByb3VuZCBpZiBtYXNrIGlzIGZvciBhIGxvd2VyIHByZWNpc2lvbiBudW1iZXJcblxuICAgICAgaWYgKG51bUFmdGVyRGVjaW1hbCA+IG1hc2tBZnRlckRlY2ltYWwpIHtcbiAgICAgICAgbnVtID0gTnVtYmVyTWFzay5fcm91bmQobnVtLCBtYXNrQWZ0ZXJEZWNpbWFsKTtcbiAgICAgICAgZGlnaXRzID0gTnVtYmVyTWFzay5fdG9DaGFyQXJyYXkobnVtKTtcbiAgICAgICAgbnVtTGVuID0gZGlnaXRzLmxlbmd0aDsgLy8gR2V0IG5ldyBtYWduaXR1ZGUgYW5kIHByZWNpc2lvbiBvZiBOVU1CRVJcblxuICAgICAgICBudW1CZWZvcmVEZWNpbWFsID0gMDtcbiAgICAgICAgbnVtQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgICAgZm91bmREZWNpbWFsID0gZmFsc2U7XG5cbiAgICAgICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgbnVtTGVuOyBfaTIrKykge1xuICAgICAgICAgIGlmIChkaWdpdHNbX2kyXSA9PSAnLicpIGZvdW5kRGVjaW1hbCA9IHRydWU7ZWxzZSB7XG4gICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSArK251bUFmdGVyRGVjaW1hbDtlbHNlICsrbnVtQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gYWx3YXlzIGlnbm9yZSBtYXNrIG92ZXJmbG93XG5cblxuICAgICAgICBpZiAobnVtQmVmb3JlRGVjaW1hbCA+IG1hc2tCZWZvcmVEZWNpbWFsKSB7XG4gICAgICAgICAgcmV0dXJuIG51bWJlci50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBpc05lZ2F0aXZlID0gTnVtYmVyTWFzay5fZ2V0U2lnbihudW0pID09PSAtMTtcbiAgICAgIHZhciBlbWl0RGVjaW1hbCA9IG51bUxlbiA+IDAgfHwgX21hc2suaW5kZXhPZignMCcpID49IDA7XG4gICAgICB2YXIgZm91bmRaZXJvID0gZmFsc2U7XG4gICAgICB2YXIgY3VycmVuY3kgPSBmYWxzZTtcbiAgICAgIHZhciBidWZmZXIgPSAnJztcbiAgICAgIGZvdW5kRGVjaW1hbCA9IGZhbHNlO1xuXG4gICAgICBmb3IgKHZhciBudW1Qb3MgPSAwLCBtYXNrUG9zID0gMDsgbWFza1BvcyA8IG1hc2tMZW5ndGg7IG1hc2tQb3MrKykge1xuICAgICAgICB2YXIgX20gPSBfbWFzay5jaGFyQXQobWFza1Bvcyk7XG5cbiAgICAgICAgc3dpdGNoIChfbSkge1xuICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgLS1tYXNrQmVmb3JlRGVjaW1hbDtcblxuICAgICAgICAgICAgaWYgKG1hc2tCZWZvcmVEZWNpbWFsIDwgbnVtQmVmb3JlRGVjaW1hbCAmJiBudW1Qb3MgPCBudW1MZW4pIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9IGRpZ2l0c1tudW1Qb3NdO1xuICAgICAgICAgICAgICArK251bVBvcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGJ1ZmZlciArPSAnMCc7XG4gICAgICAgICAgICAgIGZvdW5kWmVybyA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnIyc6XG4gICAgICAgICAgICAtLW1hc2tCZWZvcmVEZWNpbWFsO1xuXG4gICAgICAgICAgICBpZiAobWFza0JlZm9yZURlY2ltYWwgPCBudW1CZWZvcmVEZWNpbWFsICYmIG51bVBvcyA8IG51bUxlbikge1xuICAgICAgICAgICAgICBidWZmZXIgKz0gZGlnaXRzW251bVBvc107XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgYnVmZmVyICs9ICcwJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgICAgIGlmIChmb3VuZFplcm8gfHwgbnVtUG9zID4gMCkgYnVmZmVyICs9IGdyb3VwaW5nU2VwYXJhdG9yO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICctJzpcbiAgICAgICAgICBjYXNlICcoJzpcbiAgICAgICAgICBjYXNlICcpJzpcbiAgICAgICAgICAgIGlmIChpc05lZ2F0aXZlKSBidWZmZXIgKz0gX207XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJysnOlxuICAgICAgICAgICAgYnVmZmVyICs9IGlzTmVnYXRpdmUgPyAnLScgOiAnKyc7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJy4nOlxuICAgICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgYnVmZmVyICs9IF9tO2Vsc2Uge1xuICAgICAgICAgICAgICBpZiAoZW1pdERlY2ltYWwpIGJ1ZmZlciArPSBkZWNpbWFsU2VwYXJhdG9yO1xuICAgICAgICAgICAgICBmb3VuZERlY2ltYWwgPSB0cnVlO1xuICAgICAgICAgICAgICArK251bVBvcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnQyc6XG4gICAgICAgICAgICBpZiAobWFza1BvcyA8IG1hc2tMZW5ndGggLSAxICYmIF9tYXNrLmNoYXJBdChtYXNrUG9zICsgMSkgPT0gJ1InKSB7XG4gICAgICAgICAgICAgIGlmIChpc05lZ2F0aXZlKSBidWZmZXIgKz0gJ0NSJztcbiAgICAgICAgICAgICAgKyttYXNrUG9zO1xuICAgICAgICAgICAgfSBlbHNlIGJ1ZmZlciArPSBfbTtcblxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdEJzpcbiAgICAgICAgICAgIGlmIChtYXNrUG9zIDwgbWFza0xlbmd0aCAtIDEgJiYgcF9tYXNrLmNoYXJBdChtYXNrUG9zICsgMSkgPT0gJ1InKSB7XG4gICAgICAgICAgICAgIGJ1ZmZlciArPSBpc05lZ2F0aXZlID8gXCJDUlwiIDogXCJEUlwiO1xuICAgICAgICAgICAgICArK21hc2tQb3M7XG4gICAgICAgICAgICB9IGVsc2UgYnVmZmVyICs9IF9tO1xuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ0InOlxuICAgICAgICAgICAgYnVmZmVyICs9ICcgJztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJ1ZmZlciArPSBfbTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBidWZmZXI7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIl9zaGlmdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfc2hpZnQobnVtYmVyLCBwcmVjaXNpb24sIHJldmVyc2VTaGlmdCkge1xuICAgICAgaWYgKHJldmVyc2VTaGlmdCkgcHJlY2lzaW9uID0gLXByZWNpc2lvbjtcbiAgICAgIHZhciBudW1BcnJheSA9IChcIlwiICsgbnVtYmVyKS5zcGxpdChcImVcIik7XG4gICAgICByZXR1cm4gKyhudW1BcnJheVswXSArIFwiZVwiICsgKG51bUFycmF5WzFdID8gK251bUFycmF5WzFdICsgcHJlY2lzaW9uIDogcHJlY2lzaW9uKSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIl9yb3VuZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfcm91bmQobnVtYmVyLCBwcmVjaXNpb24pIHtcbiAgICAgIHJldHVybiBOdW1iZXJNYXNrLl9zaGlmdChNYXRoLnJvdW5kKE51bWJlck1hc2suX3NoaWZ0KG51bWJlciwgcHJlY2lzaW9uLCBmYWxzZSkpLCBwcmVjaXNpb24sIHRydWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfdG9DaGFyQXJyYXlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX3RvQ2hhckFycmF5KG51bWJlcikge1xuICAgICAgdmFyIHNpZ251bSA9IE51bWJlck1hc2suX2dldFNpZ24obnVtYmVyKTtcblxuICAgICAgdmFyIGNoYXJzID0gW107XG5cbiAgICAgIGlmIChzaWdudW0gIT09IDApIHtcbiAgICAgICAgdmFyIHN0cmluZyA9IHNpZ251bSA8IDAgPyBcIlwiLmNvbmNhdCgtMSAqIG51bWJlci50b1N0cmluZygpKSA6IG51bWJlci50b1N0cmluZygpO1xuICAgICAgICBpZiAoc3RyaW5nLmxlbmd0aCA+IDEgJiYgc3RyaW5nLmNoYXJBdCgwKSA9PSAnMCcpIHN0cmluZyA9IHN0cmluZy5zdWJzdHJpbmcoMSk7IC8vIFRoZSBzdHJpbmcgY29udGFpbnMgb25seSBbMC05XSBhbmQgJy4nXG5cbiAgICAgICAgY2hhcnMgPSBzdHJpbmcuc3BsaXQoJycpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY2hhcnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNpZ24gb2YgYSBudW1iZXJcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge051bWJlcn0geCBudW1iZXJcbiAgICAgKiBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciByZXByZXNlbnRpbmcgdGhlIHNpZ24gb2YgdGhlIGdpdmVuIGFyZ3VtZW50LiBcbiAgICAgKiAgICAgICAgICAgICAgICAgICBJZiB0aGUgYXJndW1lbnQgaXMgYSBwb3NpdGl2ZSBudW1iZXIsIG5lZ2F0aXZlIG51bWJlciwgcG9zaXRpdmUgemVybyBcbiAgICAgKiAgICAgICAgICAgICAgICAgICBvciBuZWdhdGl2ZSB6ZXJvLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gMSwgLTEsIDAgb3IgLTAgcmVzcGVjdGl2ZWx5LlxuICAgICAqICAgICAgICAgICAgICAgICAgIE90aGVyd2lzZSwgTmFOIGlzIHJldHVybmVkLlxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2dldFNpZ25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldFNpZ24oeCkge1xuICAgICAgcmV0dXJuICh4ID4gMCkgLSAoeCA8IDApIHx8ICt4O1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBOdW1iZXJNYXNrO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBOdW1iZXJNYXNrO1xuXG4vKioqLyB9KSxcbi8qIDIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkRhdGVNYXNrXCIsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIF9EYXRlTWFzay5kZWZhdWx0O1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk51bWJlck1hc2tcIiwge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gX051bWJlck1hc2suZGVmYXVsdDtcbiAgfVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUeXBlc1wiLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfVHlwZXMuZGVmYXVsdDtcbiAgfVxufSk7XG5cbnZhciBfRGF0ZU1hc2sgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMCkpO1xuXG52YXIgX051bWJlck1hc2sgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMSkpO1xuXG52YXIgX1R5cGVzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfX3dlYnBhY2tfcmVxdWlyZV9fKDMpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLyoqKi8gfSksXG4vKiAzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfTnVtYmVyTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygxKSk7XG5cbnZhciBfRGF0ZU1hc2sgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMCkpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qKiBcbiAqIFR5cGVzXG4gKiBcbiAqIEhhbmRsZSBCQmogbWFza2luZyBcbiAqIFxuICogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgVHlwZXMgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBUeXBlcygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgVHlwZXMpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFR5cGVzLCBudWxsLCBbe1xuICAgIGtleTogXCJudW1iZXJcIixcblxuICAgIC8qKlxuICAgICAqIE1hc2sgYSBudW1iZXIgYWNjb3JkaW5nIHRvIGJiaiBtYXNraW5nIHJ1bGVzIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBudW1iZXIgdGhlIG51bWJlciB0byBmb3JtYXRcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWFzayB0aGUgbWFzayB0byB1c2UgXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGdyb3VwaW5nU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBncm91cGluZyBzZXBhcmF0b3JcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGVjaW1hbFNlcGFyYXRvciBhIGNoYXIgd2hpY2ggd2lsbCBiZSB1c2VkIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IG51bWJlciBtYXNrZWQgd2l0aCB0aGUgZ2l2ZW4gbWFza1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBudW1iZXIoX251bWJlciwgbWFzaykge1xuICAgICAgdmFyIGdyb3VwaW5nU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiAnLCc7XG4gICAgICB2YXIgZGVjaW1hbFNlcGFyYXRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJy4nO1xuICAgICAgcmV0dXJuIF9OdW1iZXJNYXNrLmRlZmF1bHQubWFzayhfbnVtYmVyLCBtYXNrLCBncm91cGluZ1NlcGFyYXRvciwgZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1hc2sgYSBkYXRlIGFjY29yZGluZyB0byBiYmogbWFza2luZyBydWxlcyBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbnVtYmVyIHRoZSBkYXRlIHRvIGZvcm1hdFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtYXNrIHRoZSBtYXNrIHRvIHVzZSBcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IG51bWJlciBtYXNrZWQgd2l0aCB0aGUgZ2l2ZW4gbWFza1xuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkYXRlKF9kYXRlLCBtYXNrKSB7XG4gICAgICByZXR1cm4gX0RhdGVNYXNrLmRlZmF1bHQubWFzayhfZGF0ZSwgbWFzayk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFR5cGVzO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBUeXBlcztcblxuLyoqKi8gfSlcbi8qKioqKiovIF0pO1xufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1iYmotbWFza3MuanMubWFwXG5cbi8qKiovIH0pLFxuLyogMjggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLyogZmxhdHBpY2tyIHY0LjUuMCwgQGxpY2Vuc2UgTUlUICovXG4oZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkge1xuICAgICB0cnVlID8gbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCkgOlxuICAgIHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShmYWN0b3J5KSA6XG4gICAgKGdsb2JhbC5mbGF0cGlja3IgPSBmYWN0b3J5KCkpO1xufSh0aGlzLCAoZnVuY3Rpb24gKCkgeyAndXNlIHN0cmljdCc7XG5cbiAgICB2YXIgcGFkID0gZnVuY3Rpb24gcGFkKG51bWJlcikge1xuICAgICAgcmV0dXJuIChcIjBcIiArIG51bWJlcikuc2xpY2UoLTIpO1xuICAgIH07XG4gICAgdmFyIGludCA9IGZ1bmN0aW9uIGludChib29sKSB7XG4gICAgICByZXR1cm4gYm9vbCA9PT0gdHJ1ZSA/IDEgOiAwO1xuICAgIH07XG4gICAgZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7XG4gICAgICBpZiAoaW1tZWRpYXRlID09PSB2b2lkIDApIHtcbiAgICAgICAgaW1tZWRpYXRlID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHZhciB0aW1lb3V0O1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLFxuICAgICAgICAgICAgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgdGltZW91dCAhPT0gbnVsbCAmJiBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICAgICAgaWYgKCFpbW1lZGlhdGUpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICAgIH0sIHdhaXQpO1xuICAgICAgICBpZiAoaW1tZWRpYXRlICYmICF0aW1lb3V0KSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGFycmF5aWZ5ID0gZnVuY3Rpb24gYXJyYXlpZnkob2JqKSB7XG4gICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQXJyYXkgPyBvYmogOiBbb2JqXTtcbiAgICB9O1xuXG4gICAgdmFyIGRvX25vdGhpbmcgPSBmdW5jdGlvbiBkb19ub3RoaW5nKCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9O1xuXG4gICAgdmFyIG1vbnRoVG9TdHIgPSBmdW5jdGlvbiBtb250aFRvU3RyKG1vbnRoTnVtYmVyLCBzaG9ydGhhbmQsIGxvY2FsZSkge1xuICAgICAgcmV0dXJuIGxvY2FsZS5tb250aHNbc2hvcnRoYW5kID8gXCJzaG9ydGhhbmRcIiA6IFwibG9uZ2hhbmRcIl1bbW9udGhOdW1iZXJdO1xuICAgIH07XG4gICAgdmFyIHJldkZvcm1hdCA9IHtcbiAgICAgIEQ6IGRvX25vdGhpbmcsXG4gICAgICBGOiBmdW5jdGlvbiBGKGRhdGVPYmosIG1vbnRoTmFtZSwgbG9jYWxlKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgobG9jYWxlLm1vbnRocy5sb25naGFuZC5pbmRleE9mKG1vbnRoTmFtZSkpO1xuICAgICAgfSxcbiAgICAgIEc6IGZ1bmN0aW9uIEcoZGF0ZU9iaiwgaG91cikge1xuICAgICAgICBkYXRlT2JqLnNldEhvdXJzKHBhcnNlRmxvYXQoaG91cikpO1xuICAgICAgfSxcbiAgICAgIEg6IGZ1bmN0aW9uIEgoZGF0ZU9iaiwgaG91cikge1xuICAgICAgICBkYXRlT2JqLnNldEhvdXJzKHBhcnNlRmxvYXQoaG91cikpO1xuICAgICAgfSxcbiAgICAgIEo6IGZ1bmN0aW9uIEooZGF0ZU9iaiwgZGF5KSB7XG4gICAgICAgIGRhdGVPYmouc2V0RGF0ZShwYXJzZUZsb2F0KGRheSkpO1xuICAgICAgfSxcbiAgICAgIEs6IGZ1bmN0aW9uIEsoZGF0ZU9iaiwgYW1QTSwgbG9jYWxlKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMoZGF0ZU9iai5nZXRIb3VycygpICUgMTIgKyAxMiAqIGludChuZXcgUmVnRXhwKGxvY2FsZS5hbVBNWzFdLCBcImlcIikudGVzdChhbVBNKSkpO1xuICAgICAgfSxcbiAgICAgIE06IGZ1bmN0aW9uIE0oZGF0ZU9iaiwgc2hvcnRNb250aCwgbG9jYWxlKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgobG9jYWxlLm1vbnRocy5zaG9ydGhhbmQuaW5kZXhPZihzaG9ydE1vbnRoKSk7XG4gICAgICB9LFxuICAgICAgUzogZnVuY3Rpb24gUyhkYXRlT2JqLCBzZWNvbmRzKSB7XG4gICAgICAgIGRhdGVPYmouc2V0U2Vjb25kcyhwYXJzZUZsb2F0KHNlY29uZHMpKTtcbiAgICAgIH0sXG4gICAgICBVOiBmdW5jdGlvbiBVKF8sIHVuaXhTZWNvbmRzKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShwYXJzZUZsb2F0KHVuaXhTZWNvbmRzKSAqIDEwMDApO1xuICAgICAgfSxcbiAgICAgIFc6IGZ1bmN0aW9uIFcoZGF0ZU9iaiwgd2Vla051bSkge1xuICAgICAgICB2YXIgd2Vla051bWJlciA9IHBhcnNlSW50KHdlZWtOdW0pO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZU9iai5nZXRGdWxsWWVhcigpLCAwLCAyICsgKHdlZWtOdW1iZXIgLSAxKSAqIDcsIDAsIDAsIDAsIDApO1xuICAgICAgfSxcbiAgICAgIFk6IGZ1bmN0aW9uIFkoZGF0ZU9iaiwgeWVhcikge1xuICAgICAgICBkYXRlT2JqLnNldEZ1bGxZZWFyKHBhcnNlRmxvYXQoeWVhcikpO1xuICAgICAgfSxcbiAgICAgIFo6IGZ1bmN0aW9uIFooXywgSVNPRGF0ZSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoSVNPRGF0ZSk7XG4gICAgICB9LFxuICAgICAgZDogZnVuY3Rpb24gZChkYXRlT2JqLCBkYXkpIHtcbiAgICAgICAgZGF0ZU9iai5zZXREYXRlKHBhcnNlRmxvYXQoZGF5KSk7XG4gICAgICB9LFxuICAgICAgaDogZnVuY3Rpb24gaChkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgaTogZnVuY3Rpb24gaShkYXRlT2JqLCBtaW51dGVzKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TWludXRlcyhwYXJzZUZsb2F0KG1pbnV0ZXMpKTtcbiAgICAgIH0sXG4gICAgICBqOiBmdW5jdGlvbiBqKGRhdGVPYmosIGRheSkge1xuICAgICAgICBkYXRlT2JqLnNldERhdGUocGFyc2VGbG9hdChkYXkpKTtcbiAgICAgIH0sXG4gICAgICBsOiBkb19ub3RoaW5nLFxuICAgICAgbTogZnVuY3Rpb24gbShkYXRlT2JqLCBtb250aCkge1xuICAgICAgICBkYXRlT2JqLnNldE1vbnRoKHBhcnNlRmxvYXQobW9udGgpIC0gMSk7XG4gICAgICB9LFxuICAgICAgbjogZnVuY3Rpb24gbihkYXRlT2JqLCBtb250aCkge1xuICAgICAgICBkYXRlT2JqLnNldE1vbnRoKHBhcnNlRmxvYXQobW9udGgpIC0gMSk7XG4gICAgICB9LFxuICAgICAgczogZnVuY3Rpb24gcyhkYXRlT2JqLCBzZWNvbmRzKSB7XG4gICAgICAgIGRhdGVPYmouc2V0U2Vjb25kcyhwYXJzZUZsb2F0KHNlY29uZHMpKTtcbiAgICAgIH0sXG4gICAgICB3OiBkb19ub3RoaW5nLFxuICAgICAgeTogZnVuY3Rpb24geShkYXRlT2JqLCB5ZWFyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0RnVsbFllYXIoMjAwMCArIHBhcnNlRmxvYXQoeWVhcikpO1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIHRva2VuUmVnZXggPSB7XG4gICAgICBEOiBcIihcXFxcdyspXCIsXG4gICAgICBGOiBcIihcXFxcdyspXCIsXG4gICAgICBHOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgSDogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIEo6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXFxcXHcrXCIsXG4gICAgICBLOiBcIlwiLFxuICAgICAgTTogXCIoXFxcXHcrKVwiLFxuICAgICAgUzogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIFU6IFwiKC4rKVwiLFxuICAgICAgVzogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIFk6IFwiKFxcXFxkezR9KVwiLFxuICAgICAgWjogXCIoLispXCIsXG4gICAgICBkOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgaDogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIGk6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBqOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgbDogXCIoXFxcXHcrKVwiLFxuICAgICAgbTogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIG46IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBzOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgdzogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIHk6IFwiKFxcXFxkezJ9KVwiXG4gICAgfTtcbiAgICB2YXIgZm9ybWF0cyA9IHtcbiAgICAgIFo6IGZ1bmN0aW9uIFooZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgfSxcbiAgICAgIEQ6IGZ1bmN0aW9uIEQoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUud2Vla2RheXMuc2hvcnRoYW5kW2Zvcm1hdHMudyhkYXRlLCBsb2NhbGUsIG9wdGlvbnMpXTtcbiAgICAgIH0sXG4gICAgICBGOiBmdW5jdGlvbiBGKGRhdGUsIGxvY2FsZSwgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbW9udGhUb1N0cihmb3JtYXRzLm4oZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSAtIDEsIGZhbHNlLCBsb2NhbGUpO1xuICAgICAgfSxcbiAgICAgIEc6IGZ1bmN0aW9uIEcoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBwYWQoZm9ybWF0cy5oKGRhdGUsIGxvY2FsZSwgb3B0aW9ucykpO1xuICAgICAgfSxcbiAgICAgIEg6IGZ1bmN0aW9uIEgoZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0SG91cnMoKSk7XG4gICAgICB9LFxuICAgICAgSjogZnVuY3Rpb24gSihkYXRlLCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5vcmRpbmFsICE9PSB1bmRlZmluZWQgPyBkYXRlLmdldERhdGUoKSArIGxvY2FsZS5vcmRpbmFsKGRhdGUuZ2V0RGF0ZSgpKSA6IGRhdGUuZ2V0RGF0ZSgpO1xuICAgICAgfSxcbiAgICAgIEs6IGZ1bmN0aW9uIEsoZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUuYW1QTVtpbnQoZGF0ZS5nZXRIb3VycygpID4gMTEpXTtcbiAgICAgIH0sXG4gICAgICBNOiBmdW5jdGlvbiBNKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbW9udGhUb1N0cihkYXRlLmdldE1vbnRoKCksIHRydWUsIGxvY2FsZSk7XG4gICAgICB9LFxuICAgICAgUzogZnVuY3Rpb24gUyhkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgfSxcbiAgICAgIFU6IGZ1bmN0aW9uIFUoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgICAgfSxcbiAgICAgIFc6IGZ1bmN0aW9uIFcoZGF0ZSwgXywgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5nZXRXZWVrKGRhdGUpO1xuICAgICAgfSxcbiAgICAgIFk6IGZ1bmN0aW9uIFkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgfSxcbiAgICAgIGQ6IGZ1bmN0aW9uIGQoZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0RGF0ZSgpKTtcbiAgICAgIH0sXG4gICAgICBoOiBmdW5jdGlvbiBoKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKSAlIDEyID8gZGF0ZS5nZXRIb3VycygpICUgMTIgOiAxMjtcbiAgICAgIH0sXG4gICAgICBpOiBmdW5jdGlvbiBpKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIHBhZChkYXRlLmdldE1pbnV0ZXMoKSk7XG4gICAgICB9LFxuICAgICAgajogZnVuY3Rpb24gaihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldERhdGUoKTtcbiAgICAgIH0sXG4gICAgICBsOiBmdW5jdGlvbiBsKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbG9jYWxlLndlZWtkYXlzLmxvbmdoYW5kW2RhdGUuZ2V0RGF5KCldO1xuICAgICAgfSxcbiAgICAgIG06IGZ1bmN0aW9uIG0oZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0TW9udGgoKSArIDEpO1xuICAgICAgfSxcbiAgICAgIG46IGZ1bmN0aW9uIG4oZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRNb250aCgpICsgMTtcbiAgICAgIH0sXG4gICAgICBzOiBmdW5jdGlvbiBzKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgfSxcbiAgICAgIHc6IGZ1bmN0aW9uIHcoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgICAgIH0sXG4gICAgICB5OiBmdW5jdGlvbiB5KGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhkYXRlLmdldEZ1bGxZZWFyKCkpLnN1YnN0cmluZygyKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGVuZ2xpc2ggPSB7XG4gICAgICB3ZWVrZGF5czoge1xuICAgICAgICBzaG9ydGhhbmQ6IFtcIlN1blwiLCBcIk1vblwiLCBcIlR1ZVwiLCBcIldlZFwiLCBcIlRodVwiLCBcIkZyaVwiLCBcIlNhdFwiXSxcbiAgICAgICAgbG9uZ2hhbmQ6IFtcIlN1bmRheVwiLCBcIk1vbmRheVwiLCBcIlR1ZXNkYXlcIiwgXCJXZWRuZXNkYXlcIiwgXCJUaHVyc2RheVwiLCBcIkZyaWRheVwiLCBcIlNhdHVyZGF5XCJdXG4gICAgICB9LFxuICAgICAgbW9udGhzOiB7XG4gICAgICAgIHNob3J0aGFuZDogW1wiSmFuXCIsIFwiRmViXCIsIFwiTWFyXCIsIFwiQXByXCIsIFwiTWF5XCIsIFwiSnVuXCIsIFwiSnVsXCIsIFwiQXVnXCIsIFwiU2VwXCIsIFwiT2N0XCIsIFwiTm92XCIsIFwiRGVjXCJdLFxuICAgICAgICBsb25naGFuZDogW1wiSmFudWFyeVwiLCBcIkZlYnJ1YXJ5XCIsIFwiTWFyY2hcIiwgXCJBcHJpbFwiLCBcIk1heVwiLCBcIkp1bmVcIiwgXCJKdWx5XCIsIFwiQXVndXN0XCIsIFwiU2VwdGVtYmVyXCIsIFwiT2N0b2JlclwiLCBcIk5vdmVtYmVyXCIsIFwiRGVjZW1iZXJcIl1cbiAgICAgIH0sXG4gICAgICBkYXlzSW5Nb250aDogWzMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzFdLFxuICAgICAgZmlyc3REYXlPZldlZWs6IDAsXG4gICAgICBvcmRpbmFsOiBmdW5jdGlvbiBvcmRpbmFsKG50aCkge1xuICAgICAgICB2YXIgcyA9IG50aCAlIDEwMDtcbiAgICAgICAgaWYgKHMgPiAzICYmIHMgPCAyMSkgcmV0dXJuIFwidGhcIjtcblxuICAgICAgICBzd2l0Y2ggKHMgJSAxMCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIHJldHVybiBcInN0XCI7XG5cbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICByZXR1cm4gXCJuZFwiO1xuXG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgcmV0dXJuIFwicmRcIjtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gXCJ0aFwiO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcmFuZ2VTZXBhcmF0b3I6IFwiIHRvIFwiLFxuICAgICAgd2Vla0FiYnJldmlhdGlvbjogXCJXa1wiLFxuICAgICAgc2Nyb2xsVGl0bGU6IFwiU2Nyb2xsIHRvIGluY3JlbWVudFwiLFxuICAgICAgdG9nZ2xlVGl0bGU6IFwiQ2xpY2sgdG8gdG9nZ2xlXCIsXG4gICAgICBhbVBNOiBbXCJBTVwiLCBcIlBNXCJdLFxuICAgICAgeWVhckFyaWFMYWJlbDogXCJZZWFyXCJcbiAgICB9O1xuXG4gICAgdmFyIGNyZWF0ZURhdGVGb3JtYXR0ZXIgPSBmdW5jdGlvbiBjcmVhdGVEYXRlRm9ybWF0dGVyKF9yZWYpIHtcbiAgICAgIHZhciBfcmVmJGNvbmZpZyA9IF9yZWYuY29uZmlnLFxuICAgICAgICAgIGNvbmZpZyA9IF9yZWYkY29uZmlnID09PSB2b2lkIDAgPyBkZWZhdWx0cyA6IF9yZWYkY29uZmlnLFxuICAgICAgICAgIF9yZWYkbDEwbiA9IF9yZWYubDEwbixcbiAgICAgICAgICBsMTBuID0gX3JlZiRsMTBuID09PSB2b2lkIDAgPyBlbmdsaXNoIDogX3JlZiRsMTBuO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChkYXRlT2JqLCBmcm10LCBvdmVycmlkZUxvY2FsZSkge1xuICAgICAgICBpZiAoY29uZmlnLmZvcm1hdERhdGUgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGNvbmZpZy5mb3JtYXREYXRlKGRhdGVPYmosIGZybXQpO1xuICAgICAgICB2YXIgbG9jYWxlID0gb3ZlcnJpZGVMb2NhbGUgfHwgbDEwbjtcbiAgICAgICAgcmV0dXJuIGZybXQuc3BsaXQoXCJcIikubWFwKGZ1bmN0aW9uIChjLCBpLCBhcnIpIHtcbiAgICAgICAgICByZXR1cm4gZm9ybWF0c1tjXSAmJiBhcnJbaSAtIDFdICE9PSBcIlxcXFxcIiA/IGZvcm1hdHNbY10oZGF0ZU9iaiwgbG9jYWxlLCBjb25maWcpIDogYyAhPT0gXCJcXFxcXCIgPyBjIDogXCJcIjtcbiAgICAgICAgfSkuam9pbihcIlwiKTtcbiAgICAgIH07XG4gICAgfTtcbiAgICB2YXIgY3JlYXRlRGF0ZVBhcnNlciA9IGZ1bmN0aW9uIGNyZWF0ZURhdGVQYXJzZXIoX3JlZjIpIHtcbiAgICAgIHZhciBfcmVmMiRjb25maWcgPSBfcmVmMi5jb25maWcsXG4gICAgICAgICAgY29uZmlnID0gX3JlZjIkY29uZmlnID09PSB2b2lkIDAgPyBkZWZhdWx0cyA6IF9yZWYyJGNvbmZpZyxcbiAgICAgICAgICBfcmVmMiRsMTBuID0gX3JlZjIubDEwbixcbiAgICAgICAgICBsMTBuID0gX3JlZjIkbDEwbiA9PT0gdm9pZCAwID8gZW5nbGlzaCA6IF9yZWYyJGwxMG47XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGUsIGdpdmVuRm9ybWF0LCB0aW1lbGVzcykge1xuICAgICAgICBpZiAoZGF0ZSAhPT0gMCAmJiAhZGF0ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgdmFyIHBhcnNlZERhdGU7XG4gICAgICAgIHZhciBkYXRlX29yaWcgPSBkYXRlO1xuICAgICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUpIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7ZWxzZSBpZiAodHlwZW9mIGRhdGUgIT09IFwic3RyaW5nXCIgJiYgZGF0ZS50b0ZpeGVkICE9PSB1bmRlZmluZWQpIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlKTtlbHNlIGlmICh0eXBlb2YgZGF0ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHZhciBmb3JtYXQgPSBnaXZlbkZvcm1hdCB8fCAoY29uZmlnIHx8IGRlZmF1bHRzKS5kYXRlRm9ybWF0O1xuICAgICAgICAgIHZhciBkYXRlc3RyID0gU3RyaW5nKGRhdGUpLnRyaW0oKTtcblxuICAgICAgICAgIGlmIChkYXRlc3RyID09PSBcInRvZGF5XCIpIHtcbiAgICAgICAgICAgIHBhcnNlZERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgdGltZWxlc3MgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSBpZiAoL1okLy50ZXN0KGRhdGVzdHIpIHx8IC9HTVQkLy50ZXN0KGRhdGVzdHIpKSBwYXJzZWREYXRlID0gbmV3IERhdGUoZGF0ZSk7ZWxzZSBpZiAoY29uZmlnICYmIGNvbmZpZy5wYXJzZURhdGUpIHBhcnNlZERhdGUgPSBjb25maWcucGFyc2VEYXRlKGRhdGUsIGZvcm1hdCk7ZWxzZSB7XG4gICAgICAgICAgICBwYXJzZWREYXRlID0gIWNvbmZpZyB8fCAhY29uZmlnLm5vQ2FsZW5kYXIgPyBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIDAsIDEsIDAsIDAsIDAsIDApIDogbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gICAgICAgICAgICB2YXIgbWF0Y2hlZCxcbiAgICAgICAgICAgICAgICBvcHMgPSBbXTtcblxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIG1hdGNoSW5kZXggPSAwLCByZWdleFN0ciA9IFwiXCI7IGkgPCBmb3JtYXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFyIHRva2VuID0gZm9ybWF0W2ldO1xuICAgICAgICAgICAgICB2YXIgaXNCYWNrU2xhc2ggPSB0b2tlbiA9PT0gXCJcXFxcXCI7XG4gICAgICAgICAgICAgIHZhciBlc2NhcGVkID0gZm9ybWF0W2kgLSAxXSA9PT0gXCJcXFxcXCIgfHwgaXNCYWNrU2xhc2g7XG5cbiAgICAgICAgICAgICAgaWYgKHRva2VuUmVnZXhbdG9rZW5dICYmICFlc2NhcGVkKSB7XG4gICAgICAgICAgICAgICAgcmVnZXhTdHIgKz0gdG9rZW5SZWdleFt0b2tlbl07XG4gICAgICAgICAgICAgICAgdmFyIG1hdGNoID0gbmV3IFJlZ0V4cChyZWdleFN0cikuZXhlYyhkYXRlKTtcblxuICAgICAgICAgICAgICAgIGlmIChtYXRjaCAmJiAobWF0Y2hlZCA9IHRydWUpKSB7XG4gICAgICAgICAgICAgICAgICBvcHNbdG9rZW4gIT09IFwiWVwiID8gXCJwdXNoXCIgOiBcInVuc2hpZnRcIl0oe1xuICAgICAgICAgICAgICAgICAgICBmbjogcmV2Rm9ybWF0W3Rva2VuXSxcbiAgICAgICAgICAgICAgICAgICAgdmFsOiBtYXRjaFsrK21hdGNoSW5kZXhdXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzQmFja1NsYXNoKSByZWdleFN0ciArPSBcIi5cIjtcblxuICAgICAgICAgICAgICBvcHMuZm9yRWFjaChmdW5jdGlvbiAoX3JlZjMpIHtcbiAgICAgICAgICAgICAgICB2YXIgZm4gPSBfcmVmMy5mbixcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gX3JlZjMudmFsO1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWREYXRlID0gZm4ocGFyc2VkRGF0ZSwgdmFsLCBsMTBuKSB8fCBwYXJzZWREYXRlO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFyc2VkRGF0ZSA9IG1hdGNoZWQgPyBwYXJzZWREYXRlIDogdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghKHBhcnNlZERhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihwYXJzZWREYXRlLmdldFRpbWUoKSkpKSB7XG4gICAgICAgICAgY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoXCJJbnZhbGlkIGRhdGUgcHJvdmlkZWQ6IFwiICsgZGF0ZV9vcmlnKSk7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aW1lbGVzcyA9PT0gdHJ1ZSkgcGFyc2VkRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgICAgcmV0dXJuIHBhcnNlZERhdGU7XG4gICAgICB9O1xuICAgIH07XG4gICAgZnVuY3Rpb24gY29tcGFyZURhdGVzKGRhdGUxLCBkYXRlMiwgdGltZWxlc3MpIHtcbiAgICAgIGlmICh0aW1lbGVzcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHRpbWVsZXNzID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRpbWVsZXNzICE9PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZTEuZ2V0VGltZSgpKS5zZXRIb3VycygwLCAwLCAwLCAwKSAtIG5ldyBEYXRlKGRhdGUyLmdldFRpbWUoKSkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkYXRlMS5nZXRUaW1lKCkgLSBkYXRlMi5nZXRUaW1lKCk7XG4gICAgfVxuICAgIHZhciBnZXRXZWVrID0gZnVuY3Rpb24gZ2V0V2VlayhnaXZlbkRhdGUpIHtcbiAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoZ2l2ZW5EYXRlLmdldFRpbWUoKSk7XG4gICAgICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgMyAtIChkYXRlLmdldERheSgpICsgNikgJSA3KTtcbiAgICAgIHZhciB3ZWVrMSA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMCwgNCk7XG4gICAgICByZXR1cm4gMSArIE1hdGgucm91bmQoKChkYXRlLmdldFRpbWUoKSAtIHdlZWsxLmdldFRpbWUoKSkgLyA4NjQwMDAwMCAtIDMgKyAod2VlazEuZ2V0RGF5KCkgKyA2KSAlIDcpIC8gNyk7XG4gICAgfTtcbiAgICB2YXIgaXNCZXR3ZWVuID0gZnVuY3Rpb24gaXNCZXR3ZWVuKHRzLCB0czEsIHRzMikge1xuICAgICAgcmV0dXJuIHRzID4gTWF0aC5taW4odHMxLCB0czIpICYmIHRzIDwgTWF0aC5tYXgodHMxLCB0czIpO1xuICAgIH07XG4gICAgdmFyIGR1cmF0aW9uID0ge1xuICAgICAgREFZOiA4NjQwMDAwMFxuICAgIH07XG5cbiAgICB2YXIgZGVmYXVsdHMgPSB7XG4gICAgICBfZGlzYWJsZTogW10sXG4gICAgICBfZW5hYmxlOiBbXSxcbiAgICAgIGFsbG93SW5wdXQ6IGZhbHNlLFxuICAgICAgYWx0Rm9ybWF0OiBcIkYgaiwgWVwiLFxuICAgICAgYWx0SW5wdXQ6IGZhbHNlLFxuICAgICAgYWx0SW5wdXRDbGFzczogXCJmb3JtLWNvbnRyb2wgaW5wdXRcIixcbiAgICAgIGFuaW1hdGU6IHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIgJiYgd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIk1TSUVcIikgPT09IC0xLFxuICAgICAgYXJpYURhdGVGb3JtYXQ6IFwiRiBqLCBZXCIsXG4gICAgICBjbGlja09wZW5zOiB0cnVlLFxuICAgICAgY2xvc2VPblNlbGVjdDogdHJ1ZSxcbiAgICAgIGNvbmp1bmN0aW9uOiBcIiwgXCIsXG4gICAgICBkYXRlRm9ybWF0OiBcIlktbS1kXCIsXG4gICAgICBkZWZhdWx0SG91cjogMTIsXG4gICAgICBkZWZhdWx0TWludXRlOiAwLFxuICAgICAgZGVmYXVsdFNlY29uZHM6IDAsXG4gICAgICBkaXNhYmxlOiBbXSxcbiAgICAgIGRpc2FibGVNb2JpbGU6IGZhbHNlLFxuICAgICAgZW5hYmxlOiBbXSxcbiAgICAgIGVuYWJsZVNlY29uZHM6IGZhbHNlLFxuICAgICAgZW5hYmxlVGltZTogZmFsc2UsXG4gICAgICBlcnJvckhhbmRsZXI6IGZ1bmN0aW9uIGVycm9ySGFuZGxlcihlcnIpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBjb25zb2xlICE9PSBcInVuZGVmaW5lZFwiICYmIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgfSxcbiAgICAgIGdldFdlZWs6IGdldFdlZWssXG4gICAgICBob3VySW5jcmVtZW50OiAxLFxuICAgICAgaWdub3JlZEZvY3VzRWxlbWVudHM6IFtdLFxuICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgIGxvY2FsZTogXCJkZWZhdWx0XCIsXG4gICAgICBtaW51dGVJbmNyZW1lbnQ6IDUsXG4gICAgICBtb2RlOiBcInNpbmdsZVwiLFxuICAgICAgbmV4dEFycm93OiBcIjxzdmcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2aWV3Qm94PScwIDAgMTcgMTcnPjxnPjwvZz48cGF0aCBkPSdNMTMuMjA3IDguNDcybC03Ljg1NCA3Ljg1NC0wLjcwNy0wLjcwNyA3LjE0Ni03LjE0Ni03LjE0Ni03LjE0OCAwLjcwNy0wLjcwNyA3Ljg1NCA3Ljg1NHonIC8+PC9zdmc+XCIsXG4gICAgICBub0NhbGVuZGFyOiBmYWxzZSxcbiAgICAgIG5vdzogbmV3IERhdGUoKSxcbiAgICAgIG9uQ2hhbmdlOiBbXSxcbiAgICAgIG9uQ2xvc2U6IFtdLFxuICAgICAgb25EYXlDcmVhdGU6IFtdLFxuICAgICAgb25EZXN0cm95OiBbXSxcbiAgICAgIG9uS2V5RG93bjogW10sXG4gICAgICBvbk1vbnRoQ2hhbmdlOiBbXSxcbiAgICAgIG9uT3BlbjogW10sXG4gICAgICBvblBhcnNlQ29uZmlnOiBbXSxcbiAgICAgIG9uUmVhZHk6IFtdLFxuICAgICAgb25WYWx1ZVVwZGF0ZTogW10sXG4gICAgICBvblllYXJDaGFuZ2U6IFtdLFxuICAgICAgb25QcmVDYWxlbmRhclBvc2l0aW9uOiBbXSxcbiAgICAgIHBsdWdpbnM6IFtdLFxuICAgICAgcG9zaXRpb246IFwiYXV0b1wiLFxuICAgICAgcG9zaXRpb25FbGVtZW50OiB1bmRlZmluZWQsXG4gICAgICBwcmV2QXJyb3c6IFwiPHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHZpZXdCb3g9JzAgMCAxNyAxNyc+PGc+PC9nPjxwYXRoIGQ9J001LjIwNyA4LjQ3MWw3LjE0NiA3LjE0Ny0wLjcwNyAwLjcwNy03Ljg1My03Ljg1NCA3Ljg1NC03Ljg1MyAwLjcwNyAwLjcwNy03LjE0NyA3LjE0NnonIC8+PC9zdmc+XCIsXG4gICAgICBzaG9ydGhhbmRDdXJyZW50TW9udGg6IGZhbHNlLFxuICAgICAgc2hvd01vbnRoczogMSxcbiAgICAgIHN0YXRpYzogZmFsc2UsXG4gICAgICB0aW1lXzI0aHI6IGZhbHNlLFxuICAgICAgd2Vla051bWJlcnM6IGZhbHNlLFxuICAgICAgd3JhcDogZmFsc2VcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gdG9nZ2xlQ2xhc3MoZWxlbSwgY2xhc3NOYW1lLCBib29sKSB7XG4gICAgICBpZiAoYm9vbCA9PT0gdHJ1ZSkgcmV0dXJuIGVsZW0uY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgZWxlbS5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodGFnLCBjbGFzc05hbWUsIGNvbnRlbnQpIHtcbiAgICAgIHZhciBlID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtcbiAgICAgIGNsYXNzTmFtZSA9IGNsYXNzTmFtZSB8fCBcIlwiO1xuICAgICAgY29udGVudCA9IGNvbnRlbnQgfHwgXCJcIjtcbiAgICAgIGUuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICAgICAgaWYgKGNvbnRlbnQgIT09IHVuZGVmaW5lZCkgZS50ZXh0Q29udGVudCA9IGNvbnRlbnQ7XG4gICAgICByZXR1cm4gZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY2xlYXJOb2RlKG5vZGUpIHtcbiAgICAgIHdoaWxlIChub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChub2RlLmZpcnN0Q2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmaW5kUGFyZW50KG5vZGUsIGNvbmRpdGlvbikge1xuICAgICAgaWYgKGNvbmRpdGlvbihub2RlKSkgcmV0dXJuIG5vZGU7ZWxzZSBpZiAobm9kZS5wYXJlbnROb2RlKSByZXR1cm4gZmluZFBhcmVudChub2RlLnBhcmVudE5vZGUsIGNvbmRpdGlvbik7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVOdW1iZXJJbnB1dChpbnB1dENsYXNzTmFtZSwgb3B0cykge1xuICAgICAgdmFyIHdyYXBwZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwibnVtSW5wdXRXcmFwcGVyXCIpLFxuICAgICAgICAgIG51bUlucHV0ID0gY3JlYXRlRWxlbWVudChcImlucHV0XCIsIFwibnVtSW5wdXQgXCIgKyBpbnB1dENsYXNzTmFtZSksXG4gICAgICAgICAgYXJyb3dVcCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiYXJyb3dVcFwiKSxcbiAgICAgICAgICBhcnJvd0Rvd24gPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImFycm93RG93blwiKTtcbiAgICAgIG51bUlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgIG51bUlucHV0LnBhdHRlcm4gPSBcIlxcXFxkKlwiO1xuICAgICAgaWYgKG9wdHMgIT09IHVuZGVmaW5lZCkgZm9yICh2YXIga2V5IGluIG9wdHMpIHtcbiAgICAgICAgbnVtSW5wdXQuc2V0QXR0cmlidXRlKGtleSwgb3B0c1trZXldKTtcbiAgICAgIH1cbiAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQobnVtSW5wdXQpO1xuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChhcnJvd1VwKTtcbiAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoYXJyb3dEb3duKTtcbiAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgT2JqZWN0LmFzc2lnbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBPYmplY3QuYXNzaWduID0gZnVuY3Rpb24gKHRhcmdldCkge1xuICAgICAgICBpZiAoIXRhcmdldCkge1xuICAgICAgICAgIHRocm93IFR5cGVFcnJvcihcIkNhbm5vdCBjb252ZXJ0IHVuZGVmaW5lZCBvciBudWxsIHRvIG9iamVjdFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKCkge1xuICAgICAgICAgIHZhciBzb3VyY2UgPSBhcmdzW19pXTtcblxuICAgICAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAgIHJldHVybiB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmdzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgIF9sb29wKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgREVCT1VOQ0VEX0NIQU5HRV9NUyA9IDMwMDtcblxuICAgIGZ1bmN0aW9uIEZsYXRwaWNrckluc3RhbmNlKGVsZW1lbnQsIGluc3RhbmNlQ29uZmlnKSB7XG4gICAgICB2YXIgc2VsZiA9IHtcbiAgICAgICAgY29uZmlnOiBPYmplY3QuYXNzaWduKHt9LCBmbGF0cGlja3IuZGVmYXVsdENvbmZpZyksXG4gICAgICAgIGwxMG46IGVuZ2xpc2hcbiAgICAgIH07XG4gICAgICBzZWxmLnBhcnNlRGF0ZSA9IGNyZWF0ZURhdGVQYXJzZXIoe1xuICAgICAgICBjb25maWc6IHNlbGYuY29uZmlnLFxuICAgICAgICBsMTBuOiBzZWxmLmwxMG5cbiAgICAgIH0pO1xuICAgICAgc2VsZi5faGFuZGxlcnMgPSBbXTtcbiAgICAgIHNlbGYuX2JpbmQgPSBiaW5kO1xuICAgICAgc2VsZi5fc2V0SG91cnNGcm9tRGF0ZSA9IHNldEhvdXJzRnJvbURhdGU7XG4gICAgICBzZWxmLl9wb3NpdGlvbkNhbGVuZGFyID0gcG9zaXRpb25DYWxlbmRhcjtcbiAgICAgIHNlbGYuY2hhbmdlTW9udGggPSBjaGFuZ2VNb250aDtcbiAgICAgIHNlbGYuY2hhbmdlWWVhciA9IGNoYW5nZVllYXI7XG4gICAgICBzZWxmLmNsZWFyID0gY2xlYXI7XG4gICAgICBzZWxmLmNsb3NlID0gY2xvc2U7XG4gICAgICBzZWxmLl9jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudDtcbiAgICAgIHNlbGYuZGVzdHJveSA9IGRlc3Ryb3k7XG4gICAgICBzZWxmLmlzRW5hYmxlZCA9IGlzRW5hYmxlZDtcbiAgICAgIHNlbGYuanVtcFRvRGF0ZSA9IGp1bXBUb0RhdGU7XG4gICAgICBzZWxmLm9wZW4gPSBvcGVuO1xuICAgICAgc2VsZi5yZWRyYXcgPSByZWRyYXc7XG4gICAgICBzZWxmLnNldCA9IHNldDtcbiAgICAgIHNlbGYuc2V0RGF0ZSA9IHNldERhdGU7XG4gICAgICBzZWxmLnRvZ2dsZSA9IHRvZ2dsZTtcblxuICAgICAgZnVuY3Rpb24gc2V0dXBIZWxwZXJGdW5jdGlvbnMoKSB7XG4gICAgICAgIHNlbGYudXRpbHMgPSB7XG4gICAgICAgICAgZ2V0RGF5c0luTW9udGg6IGZ1bmN0aW9uIGdldERheXNJbk1vbnRoKG1vbnRoLCB5cikge1xuICAgICAgICAgICAgaWYgKG1vbnRoID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgbW9udGggPSBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHlyID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgeXIgPSBzZWxmLmN1cnJlbnRZZWFyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobW9udGggPT09IDEgJiYgKHlyICUgNCA9PT0gMCAmJiB5ciAlIDEwMCAhPT0gMCB8fCB5ciAlIDQwMCA9PT0gMCkpIHJldHVybiAyOTtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmwxMG4uZGF5c0luTW9udGhbbW9udGhdO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaW5pdCgpIHtcbiAgICAgICAgc2VsZi5lbGVtZW50ID0gc2VsZi5pbnB1dCA9IGVsZW1lbnQ7XG4gICAgICAgIHNlbGYuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgIHBhcnNlQ29uZmlnKCk7XG4gICAgICAgIHNldHVwTG9jYWxlKCk7XG4gICAgICAgIHNldHVwSW5wdXRzKCk7XG4gICAgICAgIHNldHVwRGF0ZXMoKTtcbiAgICAgICAgc2V0dXBIZWxwZXJGdW5jdGlvbnMoKTtcbiAgICAgICAgaWYgKCFzZWxmLmlzTW9iaWxlKSBidWlsZCgpO1xuICAgICAgICBiaW5kRXZlbnRzKCk7XG5cbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggfHwgc2VsZi5jb25maWcubm9DYWxlbmRhcikge1xuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgICBzZXRIb3Vyc0Zyb21EYXRlKHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiB8fCBzZWxmLmNvbmZpZy5taW5EYXRlIDogdW5kZWZpbmVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVWYWx1ZShmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRDYWxlbmRhcldpZHRoKCk7XG4gICAgICAgIHNlbGYuc2hvd1RpbWVJbnB1dCA9IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwIHx8IHNlbGYuY29uZmlnLm5vQ2FsZW5kYXI7XG4gICAgICAgIHZhciBpc1NhZmFyaSA9IC9eKCg/IWNocm9tZXxhbmRyb2lkKS4pKnNhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbiAgICAgICAgaWYgKCFzZWxmLmlzTW9iaWxlICYmIGlzU2FmYXJpKSB7XG4gICAgICAgICAgcG9zaXRpb25DYWxlbmRhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25SZWFkeVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYmluZFRvSW5zdGFuY2UoZm4pIHtcbiAgICAgICAgcmV0dXJuIGZuLmJpbmQoc2VsZik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldENhbGVuZGFyV2lkdGgoKSB7XG4gICAgICAgIHZhciBjb25maWcgPSBzZWxmLmNvbmZpZztcbiAgICAgICAgaWYgKGNvbmZpZy53ZWVrTnVtYmVycyA9PT0gZmFsc2UgJiYgY29uZmlnLnNob3dNb250aHMgPT09IDEpIHJldHVybjtlbHNlIGlmIChjb25maWcubm9DYWxlbmRhciAhPT0gdHJ1ZSkge1xuICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS52aXNpYmlsaXR5ID0gXCJoaWRkZW5cIjtcbiAgICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcblxuICAgICAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHZhciBkYXlzV2lkdGggPSAoc2VsZi5kYXlzLm9mZnNldFdpZHRoICsgMSkgKiBjb25maWcuc2hvd01vbnRocztcbiAgICAgICAgICAgICAgc2VsZi5kYXlzQ29udGFpbmVyLnN0eWxlLndpZHRoID0gZGF5c1dpZHRoICsgXCJweFwiO1xuICAgICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLndpZHRoID0gZGF5c1dpZHRoICsgKHNlbGYud2Vla1dyYXBwZXIgIT09IHVuZGVmaW5lZCA/IHNlbGYud2Vla1dyYXBwZXIub2Zmc2V0V2lkdGggOiAwKSArIFwicHhcIjtcbiAgICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcInZpc2liaWxpdHlcIik7XG4gICAgICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoXCJkaXNwbGF5XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZVRpbWUoZSkge1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgICAgICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudHlwZSAhPT0gXCJibHVyXCIpIHRpbWVXcmFwcGVyKGUpO1xuICAgICAgICBzZXRIb3Vyc0Zyb21JbnB1dHMoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUoKTtcblxuICAgICAgICBzZWxmLl9kZWJvdW5jZWRDaGFuZ2UoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYW1wbTJtaWxpdGFyeShob3VyLCBhbVBNKSB7XG4gICAgICAgIHJldHVybiBob3VyICUgMTIgKyAxMiAqIGludChhbVBNID09PSBzZWxmLmwxMG4uYW1QTVsxXSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG1pbGl0YXJ5MmFtcG0oaG91cikge1xuICAgICAgICBzd2l0Y2ggKGhvdXIgJSAyNCkge1xuICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICBjYXNlIDEyOlxuICAgICAgICAgICAgcmV0dXJuIDEyO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBob3VyICUgMTI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0SG91cnNGcm9tSW5wdXRzKCkge1xuICAgICAgICBpZiAoc2VsZi5ob3VyRWxlbWVudCA9PT0gdW5kZWZpbmVkIHx8IHNlbGYubWludXRlRWxlbWVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHZhciBob3VycyA9IChwYXJzZUludChzZWxmLmhvdXJFbGVtZW50LnZhbHVlLnNsaWNlKC0yKSwgMTApIHx8IDApICUgMjQsXG4gICAgICAgICAgICBtaW51dGVzID0gKHBhcnNlSW50KHNlbGYubWludXRlRWxlbWVudC52YWx1ZSwgMTApIHx8IDApICUgNjAsXG4gICAgICAgICAgICBzZWNvbmRzID0gc2VsZi5zZWNvbmRFbGVtZW50ICE9PSB1bmRlZmluZWQgPyAocGFyc2VJbnQoc2VsZi5zZWNvbmRFbGVtZW50LnZhbHVlLCAxMCkgfHwgMCkgJSA2MCA6IDA7XG5cbiAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaG91cnMgPSBhbXBtMm1pbGl0YXJ5KGhvdXJzLCBzZWxmLmFtUE0udGV4dENvbnRlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGxpbWl0TWluSG91cnMgPSBzZWxmLmNvbmZpZy5taW5UaW1lICE9PSB1bmRlZmluZWQgfHwgc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLm1pbkRhdGVIYXNUaW1lICYmIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICYmIGNvbXBhcmVEYXRlcyhzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5jb25maWcubWluRGF0ZSwgdHJ1ZSkgPT09IDA7XG4gICAgICAgIHZhciBsaW1pdE1heEhvdXJzID0gc2VsZi5jb25maWcubWF4VGltZSAhPT0gdW5kZWZpbmVkIHx8IHNlbGYuY29uZmlnLm1heERhdGUgJiYgc2VsZi5tYXhEYXRlSGFzVGltZSAmJiBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiAmJiBjb21wYXJlRGF0ZXMoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmosIHNlbGYuY29uZmlnLm1heERhdGUsIHRydWUpID09PSAwO1xuXG4gICAgICAgIGlmIChsaW1pdE1heEhvdXJzKSB7XG4gICAgICAgICAgdmFyIG1heFRpbWUgPSBzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQgPyBzZWxmLmNvbmZpZy5tYXhUaW1lIDogc2VsZi5jb25maWcubWF4RGF0ZTtcbiAgICAgICAgICBob3VycyA9IE1hdGgubWluKGhvdXJzLCBtYXhUaW1lLmdldEhvdXJzKCkpO1xuICAgICAgICAgIGlmIChob3VycyA9PT0gbWF4VGltZS5nZXRIb3VycygpKSBtaW51dGVzID0gTWF0aC5taW4obWludXRlcywgbWF4VGltZS5nZXRNaW51dGVzKCkpO1xuICAgICAgICAgIGlmIChtaW51dGVzID09PSBtYXhUaW1lLmdldE1pbnV0ZXMoKSkgc2Vjb25kcyA9IE1hdGgubWluKHNlY29uZHMsIG1heFRpbWUuZ2V0U2Vjb25kcygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaW1pdE1pbkhvdXJzKSB7XG4gICAgICAgICAgdmFyIG1pblRpbWUgPSBzZWxmLmNvbmZpZy5taW5UaW1lICE9PSB1bmRlZmluZWQgPyBzZWxmLmNvbmZpZy5taW5UaW1lIDogc2VsZi5jb25maWcubWluRGF0ZTtcbiAgICAgICAgICBob3VycyA9IE1hdGgubWF4KGhvdXJzLCBtaW5UaW1lLmdldEhvdXJzKCkpO1xuICAgICAgICAgIGlmIChob3VycyA9PT0gbWluVGltZS5nZXRIb3VycygpKSBtaW51dGVzID0gTWF0aC5tYXgobWludXRlcywgbWluVGltZS5nZXRNaW51dGVzKCkpO1xuICAgICAgICAgIGlmIChtaW51dGVzID09PSBtaW5UaW1lLmdldE1pbnV0ZXMoKSkgc2Vjb25kcyA9IE1hdGgubWF4KHNlY29uZHMsIG1pblRpbWUuZ2V0U2Vjb25kcygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEhvdXJzKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0SG91cnNGcm9tRGF0ZShkYXRlT2JqKSB7XG4gICAgICAgIHZhciBkYXRlID0gZGF0ZU9iaiB8fCBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iajtcbiAgICAgICAgaWYgKGRhdGUpIHNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSwgZGF0ZS5nZXRNaW51dGVzKCksIGRhdGUuZ2V0U2Vjb25kcygpKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0RGVmYXVsdEhvdXJzKCkge1xuICAgICAgICB2YXIgaG91cnMgPSBzZWxmLmNvbmZpZy5kZWZhdWx0SG91cjtcbiAgICAgICAgdmFyIG1pbnV0ZXMgPSBzZWxmLmNvbmZpZy5kZWZhdWx0TWludXRlO1xuICAgICAgICB2YXIgc2Vjb25kcyA9IHNlbGYuY29uZmlnLmRlZmF1bHRTZWNvbmRzO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5taW5EYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2YXIgbWluX2hyID0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRIb3VycygpO1xuICAgICAgICAgIHZhciBtaW5fbWludXRlcyA9IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0TWludXRlcygpO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5tYXgoaG91cnMsIG1pbl9ocik7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtaW5faHIpIG1pbnV0ZXMgPSBNYXRoLm1heChtaW5fbWludXRlcywgbWludXRlcyk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtaW5faHIgJiYgbWludXRlcyA9PT0gbWluX21pbnV0ZXMpIHNlY29uZHMgPSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldFNlY29uZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2YXIgbWF4X2hyID0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRIb3VycygpO1xuICAgICAgICAgIHZhciBtYXhfbWludXRlcyA9IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0TWludXRlcygpO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5taW4oaG91cnMsIG1heF9ocik7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtYXhfaHIpIG1pbnV0ZXMgPSBNYXRoLm1pbihtYXhfbWludXRlcywgbWludXRlcyk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtYXhfaHIgJiYgbWludXRlcyA9PT0gbWF4X21pbnV0ZXMpIHNlY29uZHMgPSBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldFNlY29uZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEhvdXJzKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpIHtcbiAgICAgICAgaWYgKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5zZXRIb3Vycyhob3VycyAlIDI0LCBtaW51dGVzLCBzZWNvbmRzIHx8IDAsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmhvdXJFbGVtZW50IHx8ICFzZWxmLm1pbnV0ZUVsZW1lbnQgfHwgc2VsZi5pc01vYmlsZSkgcmV0dXJuO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnZhbHVlID0gcGFkKCFzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyAoMTIgKyBob3VycykgJSAxMiArIDEyICogaW50KGhvdXJzICUgMTIgPT09IDApIDogaG91cnMpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQudmFsdWUgPSBwYWQobWludXRlcyk7XG4gICAgICAgIGlmIChzZWxmLmFtUE0gIT09IHVuZGVmaW5lZCkgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1baW50KGhvdXJzID49IDEyKV07XG4gICAgICAgIGlmIChzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCkgc2VsZi5zZWNvbmRFbGVtZW50LnZhbHVlID0gcGFkKHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvblllYXJJbnB1dChldmVudCkge1xuICAgICAgICB2YXIgeWVhciA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgKyAoZXZlbnQuZGVsdGEgfHwgMCk7XG5cbiAgICAgICAgaWYgKHllYXIgLyAxMDAwID4gMSB8fCBldmVudC5rZXkgPT09IFwiRW50ZXJcIiAmJiAhL1teXFxkXS8udGVzdCh5ZWFyLnRvU3RyaW5nKCkpKSB7XG4gICAgICAgICAgY2hhbmdlWWVhcih5ZWFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBiaW5kKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKSB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEFycmF5KSByZXR1cm4gZXZlbnQuZm9yRWFjaChmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICByZXR1cm4gYmluZChlbGVtZW50LCBldiwgaGFuZGxlciwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEFycmF5KSByZXR1cm4gZWxlbWVudC5mb3JFYWNoKGZ1bmN0aW9uIChlbCkge1xuICAgICAgICAgIHJldHVybiBiaW5kKGVsLCBldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpO1xuXG4gICAgICAgIHNlbGYuX2hhbmRsZXJzLnB1c2goe1xuICAgICAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXG4gICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgIGhhbmRsZXI6IGhhbmRsZXIsXG4gICAgICAgICAgb3B0aW9uczogb3B0aW9uc1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25DbGljayhoYW5kbGVyKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgZXZ0LndoaWNoID09PSAxICYmIGhhbmRsZXIoZXZ0KTtcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdHJpZ2dlckNoYW5nZSgpIHtcbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25DaGFuZ2VcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJpbmRFdmVudHMoKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy53cmFwKSB7XG4gICAgICAgICAgW1wib3BlblwiLCBcImNsb3NlXCIsIFwidG9nZ2xlXCIsIFwiY2xlYXJcIl0uZm9yRWFjaChmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHNlbGYuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtXCIgKyBldnQgKyBcIl1cIiksIGZ1bmN0aW9uIChlbCkge1xuICAgICAgICAgICAgICByZXR1cm4gYmluZChlbCwgXCJjbGlja1wiLCBzZWxmW2V2dF0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5pc01vYmlsZSkge1xuICAgICAgICAgIHNldHVwTW9iaWxlKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRlYm91bmNlZFJlc2l6ZSA9IGRlYm91bmNlKG9uUmVzaXplLCA1MCk7XG4gICAgICAgIHNlbGYuX2RlYm91bmNlZENoYW5nZSA9IGRlYm91bmNlKHRyaWdnZXJDaGFuZ2UsIERFQk9VTkNFRF9DSEFOR0VfTVMpO1xuICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICYmICEvaVBob25lfGlQYWR8aVBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpIGJpbmQoc2VsZi5kYXlzQ29udGFpbmVyLCBcIm1vdXNlb3ZlclwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIpIG9uTW91c2VPdmVyKGUudGFyZ2V0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGJpbmQod2luZG93LmRvY3VtZW50LmJvZHksIFwia2V5ZG93blwiLCBvbktleURvd24pO1xuICAgICAgICBpZiAoIXNlbGYuY29uZmlnLnN0YXRpYykgYmluZChzZWxmLl9pbnB1dCwgXCJrZXlkb3duXCIsIG9uS2V5RG93bik7XG4gICAgICAgIGlmICghc2VsZi5jb25maWcuaW5saW5lICYmICFzZWxmLmNvbmZpZy5zdGF0aWMpIGJpbmQod2luZG93LCBcInJlc2l6ZVwiLCBkZWJvdW5jZWRSZXNpemUpO1xuICAgICAgICBpZiAod2luZG93Lm9udG91Y2hzdGFydCAhPT0gdW5kZWZpbmVkKSBiaW5kKHdpbmRvdy5kb2N1bWVudCwgXCJjbGlja1wiLCBkb2N1bWVudENsaWNrKTtlbHNlIGJpbmQod2luZG93LmRvY3VtZW50LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKGRvY3VtZW50Q2xpY2spKTtcbiAgICAgICAgYmluZCh3aW5kb3cuZG9jdW1lbnQsIFwiZm9jdXNcIiwgZG9jdW1lbnRDbGljaywge1xuICAgICAgICAgIGNhcHR1cmU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmNsaWNrT3BlbnMgPT09IHRydWUpIHtcbiAgICAgICAgICBiaW5kKHNlbGYuX2lucHV0LCBcImZvY3VzXCIsIHNlbGYub3Blbik7XG4gICAgICAgICAgYmluZChzZWxmLl9pbnB1dCwgXCJtb3VzZWRvd25cIiwgb25DbGljayhzZWxmLm9wZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGJpbmQoc2VsZi5tb250aE5hdiwgXCJtb3VzZWRvd25cIiwgb25DbGljayhvbk1vbnRoTmF2Q2xpY2spKTtcbiAgICAgICAgICBiaW5kKHNlbGYubW9udGhOYXYsIFtcImtleXVwXCIsIFwiaW5jcmVtZW50XCJdLCBvblllYXJJbnB1dCk7XG4gICAgICAgICAgYmluZChzZWxmLmRheXNDb250YWluZXIsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2soc2VsZWN0RGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYudGltZUNvbnRhaW5lciAhPT0gdW5kZWZpbmVkICYmIHNlbGYubWludXRlRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHNlbGYuaG91ckVsZW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBzZWxUZXh0ID0gZnVuY3Rpb24gc2VsVGV4dChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZS50YXJnZXQuc2VsZWN0KCk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGJpbmQoc2VsZi50aW1lQ29udGFpbmVyLCBbXCJpbmNyZW1lbnRcIl0sIHVwZGF0ZVRpbWUpO1xuICAgICAgICAgIGJpbmQoc2VsZi50aW1lQ29udGFpbmVyLCBcImJsdXJcIiwgdXBkYXRlVGltZSwge1xuICAgICAgICAgICAgY2FwdHVyZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJpbmQoc2VsZi50aW1lQ29udGFpbmVyLCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKHRpbWVJbmNyZW1lbnQpKTtcbiAgICAgICAgICBiaW5kKFtzZWxmLmhvdXJFbGVtZW50LCBzZWxmLm1pbnV0ZUVsZW1lbnRdLCBbXCJmb2N1c1wiLCBcImNsaWNrXCJdLCBzZWxUZXh0KTtcbiAgICAgICAgICBpZiAoc2VsZi5zZWNvbmRFbGVtZW50ICE9PSB1bmRlZmluZWQpIGJpbmQoc2VsZi5zZWNvbmRFbGVtZW50LCBcImZvY3VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLnNlY29uZEVsZW1lbnQgJiYgc2VsZi5zZWNvbmRFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBiaW5kKHNlbGYuYW1QTSwgXCJtb3VzZWRvd25cIiwgb25DbGljayhmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICB1cGRhdGVUaW1lKGUpO1xuICAgICAgICAgICAgICB0cmlnZ2VyQ2hhbmdlKCk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGp1bXBUb0RhdGUoanVtcERhdGUpIHtcbiAgICAgICAgdmFyIGp1bXBUbyA9IGp1bXBEYXRlICE9PSB1bmRlZmluZWQgPyBzZWxmLnBhcnNlRGF0ZShqdW1wRGF0ZSkgOiBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiB8fCAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmNvbmZpZy5taW5EYXRlID4gc2VsZi5ub3cgPyBzZWxmLmNvbmZpZy5taW5EYXRlIDogc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLmNvbmZpZy5tYXhEYXRlIDwgc2VsZi5ub3cgPyBzZWxmLmNvbmZpZy5tYXhEYXRlIDogc2VsZi5ub3cpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKGp1bXBUbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0ganVtcFRvLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IGp1bXBUby5nZXRNb250aCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGUubWVzc2FnZSA9IFwiSW52YWxpZCBkYXRlIHN1cHBsaWVkOiBcIiArIGp1bXBUbztcbiAgICAgICAgICBzZWxmLmNvbmZpZy5lcnJvckhhbmRsZXIoZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0aW1lSW5jcmVtZW50KGUpIHtcbiAgICAgICAgaWYgKH5lLnRhcmdldC5jbGFzc05hbWUuaW5kZXhPZihcImFycm93XCIpKSBpbmNyZW1lbnROdW1JbnB1dChlLCBlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoXCJhcnJvd1VwXCIpID8gMSA6IC0xKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaW5jcmVtZW50TnVtSW5wdXQoZSwgZGVsdGEsIGlucHV0RWxlbSkge1xuICAgICAgICB2YXIgdGFyZ2V0ID0gZSAmJiBlLnRhcmdldDtcbiAgICAgICAgdmFyIGlucHV0ID0gaW5wdXRFbGVtIHx8IHRhcmdldCAmJiB0YXJnZXQucGFyZW50Tm9kZSAmJiB0YXJnZXQucGFyZW50Tm9kZS5maXJzdENoaWxkO1xuICAgICAgICB2YXIgZXZlbnQgPSBjcmVhdGVFdmVudChcImluY3JlbWVudFwiKTtcbiAgICAgICAgZXZlbnQuZGVsdGEgPSBkZWx0YTtcbiAgICAgICAgaW5wdXQgJiYgaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkKCkge1xuICAgICAgICB2YXIgZnJhZ21lbnQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1jYWxlbmRhclwiKTtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci50YWJJbmRleCA9IC0xO1xuXG4gICAgICAgIGlmICghc2VsZi5jb25maWcubm9DYWxlbmRhcikge1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGJ1aWxkTW9udGhOYXYoKSk7XG4gICAgICAgICAgc2VsZi5pbm5lckNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItaW5uZXJDb250YWluZXJcIik7XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcud2Vla051bWJlcnMpIHtcbiAgICAgICAgICAgIHZhciBfYnVpbGRXZWVrcyA9IGJ1aWxkV2Vla3MoKSxcbiAgICAgICAgICAgICAgICB3ZWVrV3JhcHBlciA9IF9idWlsZFdlZWtzLndlZWtXcmFwcGVyLFxuICAgICAgICAgICAgICAgIHdlZWtOdW1iZXJzID0gX2J1aWxkV2Vla3Mud2Vla051bWJlcnM7XG5cbiAgICAgICAgICAgIHNlbGYuaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQod2Vla1dyYXBwZXIpO1xuICAgICAgICAgICAgc2VsZi53ZWVrTnVtYmVycyA9IHdlZWtOdW1iZXJzO1xuICAgICAgICAgICAgc2VsZi53ZWVrV3JhcHBlciA9IHdlZWtXcmFwcGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNlbGYuckNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItckNvbnRhaW5lclwiKTtcbiAgICAgICAgICBzZWxmLnJDb250YWluZXIuYXBwZW5kQ2hpbGQoYnVpbGRXZWVrZGF5cygpKTtcblxuICAgICAgICAgIGlmICghc2VsZi5kYXlzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICBzZWxmLmRheXNDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLWRheXNcIik7XG4gICAgICAgICAgICBzZWxmLmRheXNDb250YWluZXIudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBidWlsZERheXMoKTtcbiAgICAgICAgICBzZWxmLnJDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VsZi5kYXlzQ29udGFpbmVyKTtcbiAgICAgICAgICBzZWxmLmlubmVyQ29udGFpbmVyLmFwcGVuZENoaWxkKHNlbGYuckNvbnRhaW5lcik7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoc2VsZi5pbm5lckNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuZW5hYmxlVGltZSkge1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGJ1aWxkVGltZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwicmFuZ2VNb2RlXCIsIHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIik7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwiYW5pbWF0ZVwiLCBzZWxmLmNvbmZpZy5hbmltYXRlID09PSB0cnVlKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJtdWx0aU1vbnRoXCIsIHNlbGYuY29uZmlnLnNob3dNb250aHMgPiAxKTtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnbWVudCk7XG4gICAgICAgIHZhciBjdXN0b21BcHBlbmQgPSBzZWxmLmNvbmZpZy5hcHBlbmRUbyAhPT0gdW5kZWZpbmVkICYmIHNlbGYuY29uZmlnLmFwcGVuZFRvLm5vZGVUeXBlICE9PSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmlubGluZSB8fCBzZWxmLmNvbmZpZy5zdGF0aWMpIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoc2VsZi5jb25maWcuaW5saW5lID8gXCJpbmxpbmVcIiA6IFwic3RhdGljXCIpO1xuXG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLmlubGluZSkge1xuICAgICAgICAgICAgaWYgKCFjdXN0b21BcHBlbmQgJiYgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUpIHNlbGYuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzZWxmLmNhbGVuZGFyQ29udGFpbmVyLCBzZWxmLl9pbnB1dC5uZXh0U2libGluZyk7ZWxzZSBpZiAoc2VsZi5jb25maWcuYXBwZW5kVG8gIT09IHVuZGVmaW5lZCkgc2VsZi5jb25maWcuYXBwZW5kVG8uYXBwZW5kQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLnN0YXRpYykge1xuICAgICAgICAgICAgdmFyIHdyYXBwZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdyYXBwZXJcIik7XG4gICAgICAgICAgICBpZiAoc2VsZi5lbGVtZW50LnBhcmVudE5vZGUpIHNlbGYuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh3cmFwcGVyLCBzZWxmLmVsZW1lbnQpO1xuICAgICAgICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChzZWxmLmVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQpIHdyYXBwZXIuYXBwZW5kQ2hpbGQoc2VsZi5hbHRJbnB1dCk7XG4gICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHNlbGYuY2FsZW5kYXJDb250YWluZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VsZi5jb25maWcuc3RhdGljICYmICFzZWxmLmNvbmZpZy5pbmxpbmUpIChzZWxmLmNvbmZpZy5hcHBlbmRUbyAhPT0gdW5kZWZpbmVkID8gc2VsZi5jb25maWcuYXBwZW5kVG8gOiB3aW5kb3cuZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNyZWF0ZURheShjbGFzc05hbWUsIGRhdGUsIGRheU51bWJlciwgaSkge1xuICAgICAgICB2YXIgZGF0ZUlzRW5hYmxlZCA9IGlzRW5hYmxlZChkYXRlLCB0cnVlKSxcbiAgICAgICAgICAgIGRheUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci1kYXkgXCIgKyBjbGFzc05hbWUsIGRhdGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkpO1xuICAgICAgICBkYXlFbGVtZW50LmRhdGVPYmogPSBkYXRlO1xuICAgICAgICBkYXlFbGVtZW50LiRpID0gaTtcbiAgICAgICAgZGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIHNlbGYuZm9ybWF0RGF0ZShkYXRlLCBzZWxmLmNvbmZpZy5hcmlhRGF0ZUZvcm1hdCkpO1xuXG4gICAgICAgIGlmIChjbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYubm93KSA9PT0gMCkge1xuICAgICAgICAgIHNlbGYudG9kYXlEYXRlRWxlbSA9IGRheUVsZW1lbnQ7XG4gICAgICAgICAgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidG9kYXlcIik7XG4gICAgICAgICAgZGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWN1cnJlbnRcIiwgXCJkYXRlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGVJc0VuYWJsZWQpIHtcbiAgICAgICAgICBkYXlFbGVtZW50LnRhYkluZGV4ID0gLTE7XG5cbiAgICAgICAgICBpZiAoaXNEYXRlU2VsZWN0ZWQoZGF0ZSkpIHtcbiAgICAgICAgICAgIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInNlbGVjdGVkXCIpO1xuICAgICAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVFbGVtID0gZGF5RWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhkYXlFbGVtZW50LCBcInN0YXJ0UmFuZ2VcIiwgc2VsZi5zZWxlY3RlZERhdGVzWzBdICYmIGNvbXBhcmVEYXRlcyhkYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0sIHRydWUpID09PSAwKTtcbiAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3MoZGF5RWxlbWVudCwgXCJlbmRSYW5nZVwiLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMV0gJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSwgdHJ1ZSkgPT09IDApO1xuICAgICAgICAgICAgICBpZiAoY2xhc3NOYW1lID09PSBcIm5leHRNb250aERheVwiKSBkYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJpblJhbmdlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJkaXNhYmxlZFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIpIHtcbiAgICAgICAgICBpZiAoaXNEYXRlSW5SYW5nZShkYXRlKSAmJiAhaXNEYXRlU2VsZWN0ZWQoZGF0ZSkpIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImluUmFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi53ZWVrTnVtYmVycyAmJiBzZWxmLmNvbmZpZy5zaG93TW9udGhzID09PSAxICYmIGNsYXNzTmFtZSAhPT0gXCJwcmV2TW9udGhEYXlcIiAmJiBkYXlOdW1iZXIgJSA3ID09PSAxKSB7XG4gICAgICAgICAgc2VsZi53ZWVrTnVtYmVycy5pbnNlcnRBZGphY2VudEhUTUwoXCJiZWZvcmVlbmRcIiwgXCI8c3BhbiBjbGFzcz0nZmxhdHBpY2tyLWRheSc+XCIgKyBzZWxmLmNvbmZpZy5nZXRXZWVrKGRhdGUpICsgXCI8L3NwYW4+XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25EYXlDcmVhdGVcIiwgZGF5RWxlbWVudCk7XG4gICAgICAgIHJldHVybiBkYXlFbGVtZW50O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBmb2N1c09uRGF5RWxlbSh0YXJnZXROb2RlKSB7XG4gICAgICAgIHRhcmdldE5vZGUuZm9jdXMoKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikgb25Nb3VzZU92ZXIodGFyZ2V0Tm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGdldEZpcnN0QXZhaWxhYmxlRGF5KGRlbHRhKSB7XG4gICAgICAgIHZhciBzdGFydE1vbnRoID0gZGVsdGEgPiAwID8gMCA6IHNlbGYuY29uZmlnLnNob3dNb250aHMgLSAxO1xuICAgICAgICB2YXIgZW5kTW9udGggPSBkZWx0YSA+IDAgPyBzZWxmLmNvbmZpZy5zaG93TW9udGhzIDogLTE7XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IHN0YXJ0TW9udGg7IG0gIT0gZW5kTW9udGg7IG0gKz0gZGVsdGEpIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBzZWxmLmRheXNDb250YWluZXIuY2hpbGRyZW5bbV07XG4gICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSBkZWx0YSA+IDAgPyAwIDogbW9udGguY2hpbGRyZW4ubGVuZ3RoIC0gMTtcbiAgICAgICAgICB2YXIgZW5kSW5kZXggPSBkZWx0YSA+IDAgPyBtb250aC5jaGlsZHJlbi5sZW5ndGggOiAtMTtcblxuICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydEluZGV4OyBpICE9IGVuZEluZGV4OyBpICs9IGRlbHRhKSB7XG4gICAgICAgICAgICB2YXIgYyA9IG1vbnRoLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGMuY2xhc3NOYW1lLmluZGV4T2YoXCJoaWRkZW5cIikgPT09IC0xICYmIGlzRW5hYmxlZChjLmRhdGVPYmopKSByZXR1cm4gYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBnZXROZXh0QXZhaWxhYmxlRGF5KGN1cnJlbnQsIGRlbHRhKSB7XG4gICAgICAgIHZhciBnaXZlbk1vbnRoID0gY3VycmVudC5jbGFzc05hbWUuaW5kZXhPZihcIk1vbnRoXCIpID09PSAtMSA/IGN1cnJlbnQuZGF0ZU9iai5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50TW9udGg7XG4gICAgICAgIHZhciBlbmRNb250aCA9IGRlbHRhID4gMCA/IHNlbGYuY29uZmlnLnNob3dNb250aHMgOiAtMTtcbiAgICAgICAgdmFyIGxvb3BEZWx0YSA9IGRlbHRhID4gMCA/IDEgOiAtMTtcblxuICAgICAgICBmb3IgKHZhciBtID0gZ2l2ZW5Nb250aCAtIHNlbGYuY3VycmVudE1vbnRoOyBtICE9IGVuZE1vbnRoOyBtICs9IGxvb3BEZWx0YSkge1xuICAgICAgICAgIHZhciBtb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttXTtcbiAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IGdpdmVuTW9udGggLSBzZWxmLmN1cnJlbnRNb250aCA9PT0gbSA/IGN1cnJlbnQuJGkgKyBkZWx0YSA6IGRlbHRhIDwgMCA/IG1vbnRoLmNoaWxkcmVuLmxlbmd0aCAtIDEgOiAwO1xuICAgICAgICAgIHZhciBudW1Nb250aERheXMgPSBtb250aC5jaGlsZHJlbi5sZW5ndGg7XG5cbiAgICAgICAgICBmb3IgKHZhciBpID0gc3RhcnRJbmRleDsgaSA+PSAwICYmIGkgPCBudW1Nb250aERheXMgJiYgaSAhPSAoZGVsdGEgPiAwID8gbnVtTW9udGhEYXlzIDogLTEpOyBpICs9IGxvb3BEZWx0YSkge1xuICAgICAgICAgICAgdmFyIGMgPSBtb250aC5jaGlsZHJlbltpXTtcbiAgICAgICAgICAgIGlmIChjLmNsYXNzTmFtZS5pbmRleE9mKFwiaGlkZGVuXCIpID09PSAtMSAmJiBpc0VuYWJsZWQoYy5kYXRlT2JqKSAmJiBNYXRoLmFicyhjdXJyZW50LiRpIC0gaSkgPj0gTWF0aC5hYnMoZGVsdGEpKSByZXR1cm4gZm9jdXNPbkRheUVsZW0oYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5jaGFuZ2VNb250aChsb29wRGVsdGEpO1xuICAgICAgICBmb2N1c09uRGF5KGdldEZpcnN0QXZhaWxhYmxlRGF5KGxvb3BEZWx0YSksIDApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBmb2N1c09uRGF5KGN1cnJlbnQsIG9mZnNldCkge1xuICAgICAgICB2YXIgZGF5Rm9jdXNlZCA9IGlzSW5WaWV3KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICAgICAgICB2YXIgc3RhcnRFbGVtID0gY3VycmVudCAhPT0gdW5kZWZpbmVkID8gY3VycmVudCA6IGRheUZvY3VzZWQgPyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IDogc2VsZi5zZWxlY3RlZERhdGVFbGVtICE9PSB1bmRlZmluZWQgJiYgaXNJblZpZXcoc2VsZi5zZWxlY3RlZERhdGVFbGVtKSA/IHNlbGYuc2VsZWN0ZWREYXRlRWxlbSA6IHNlbGYudG9kYXlEYXRlRWxlbSAhPT0gdW5kZWZpbmVkICYmIGlzSW5WaWV3KHNlbGYudG9kYXlEYXRlRWxlbSkgPyBzZWxmLnRvZGF5RGF0ZUVsZW0gOiBnZXRGaXJzdEF2YWlsYWJsZURheShvZmZzZXQgPiAwID8gMSA6IC0xKTtcbiAgICAgICAgaWYgKHN0YXJ0RWxlbSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gc2VsZi5faW5wdXQuZm9jdXMoKTtcbiAgICAgICAgaWYgKCFkYXlGb2N1c2VkKSByZXR1cm4gZm9jdXNPbkRheUVsZW0oc3RhcnRFbGVtKTtcbiAgICAgICAgZ2V0TmV4dEF2YWlsYWJsZURheShzdGFydEVsZW0sIG9mZnNldCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGhEYXlzKHllYXIsIG1vbnRoKSB7XG4gICAgICAgIHZhciBmaXJzdE9mTW9udGggPSAobmV3IERhdGUoeWVhciwgbW9udGgsIDEpLmdldERheSgpIC0gc2VsZi5sMTBuLmZpcnN0RGF5T2ZXZWVrICsgNykgJSA3O1xuICAgICAgICB2YXIgcHJldk1vbnRoRGF5cyA9IHNlbGYudXRpbHMuZ2V0RGF5c0luTW9udGgoKG1vbnRoIC0gMSArIDEyKSAlIDEyKTtcbiAgICAgICAgdmFyIGRheXNJbk1vbnRoID0gc2VsZi51dGlscy5nZXREYXlzSW5Nb250aChtb250aCksXG4gICAgICAgICAgICBkYXlzID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxcbiAgICAgICAgICAgIGlzTXVsdGlNb250aCA9IHNlbGYuY29uZmlnLnNob3dNb250aHMgPiAxLFxuICAgICAgICAgICAgcHJldk1vbnRoRGF5Q2xhc3MgPSBpc011bHRpTW9udGggPyBcInByZXZNb250aERheSBoaWRkZW5cIiA6IFwicHJldk1vbnRoRGF5XCIsXG4gICAgICAgICAgICBuZXh0TW9udGhEYXlDbGFzcyA9IGlzTXVsdGlNb250aCA/IFwibmV4dE1vbnRoRGF5IGhpZGRlblwiIDogXCJuZXh0TW9udGhEYXlcIjtcbiAgICAgICAgdmFyIGRheU51bWJlciA9IHByZXZNb250aERheXMgKyAxIC0gZmlyc3RPZk1vbnRoLFxuICAgICAgICAgICAgZGF5SW5kZXggPSAwO1xuXG4gICAgICAgIGZvciAoOyBkYXlOdW1iZXIgPD0gcHJldk1vbnRoRGF5czsgZGF5TnVtYmVyKyssIGRheUluZGV4KyspIHtcbiAgICAgICAgICBkYXlzLmFwcGVuZENoaWxkKGNyZWF0ZURheShwcmV2TW9udGhEYXlDbGFzcywgbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXlOdW1iZXIpLCBkYXlOdW1iZXIsIGRheUluZGV4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGRheU51bWJlciA9IDE7IGRheU51bWJlciA8PSBkYXlzSW5Nb250aDsgZGF5TnVtYmVyKyssIGRheUluZGV4KyspIHtcbiAgICAgICAgICBkYXlzLmFwcGVuZENoaWxkKGNyZWF0ZURheShcIlwiLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5TnVtYmVyKSwgZGF5TnVtYmVyLCBkYXlJbmRleCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgZGF5TnVtID0gZGF5c0luTW9udGggKyAxOyBkYXlOdW0gPD0gNDIgLSBmaXJzdE9mTW9udGggJiYgKHNlbGYuY29uZmlnLnNob3dNb250aHMgPT09IDEgfHwgZGF5SW5kZXggJSA3ICE9PSAwKTsgZGF5TnVtKyssIGRheUluZGV4KyspIHtcbiAgICAgICAgICBkYXlzLmFwcGVuZENoaWxkKGNyZWF0ZURheShuZXh0TW9udGhEYXlDbGFzcywgbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCBkYXlOdW0gJSBkYXlzSW5Nb250aCksIGRheU51bSwgZGF5SW5kZXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYXlDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZGF5Q29udGFpbmVyXCIpO1xuICAgICAgICBkYXlDb250YWluZXIuYXBwZW5kQ2hpbGQoZGF5cyk7XG4gICAgICAgIHJldHVybiBkYXlDb250YWluZXI7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkRGF5cygpIHtcbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY2xlYXJOb2RlKHNlbGYuZGF5c0NvbnRhaW5lcik7XG4gICAgICAgIGlmIChzZWxmLndlZWtOdW1iZXJzKSBjbGVhck5vZGUoc2VsZi53ZWVrTnVtYmVycyk7XG4gICAgICAgIHZhciBmcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZi5jb25maWcuc2hvd01vbnRoczsgaSsrKSB7XG4gICAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShzZWxmLmN1cnJlbnRZZWFyLCBzZWxmLmN1cnJlbnRNb250aCwgMSk7XG4gICAgICAgICAgZC5zZXRNb250aChzZWxmLmN1cnJlbnRNb250aCArIGkpO1xuICAgICAgICAgIGZyYWcuYXBwZW5kQ2hpbGQoYnVpbGRNb250aERheXMoZC5nZXRGdWxsWWVhcigpLCBkLmdldE1vbnRoKCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnKTtcbiAgICAgICAgc2VsZi5kYXlzID0gc2VsZi5kYXlzQ29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGgoKSB7XG4gICAgICAgIHZhciBjb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLW1vbnRoXCIpO1xuICAgICAgICB2YXIgbW9udGhOYXZGcmFnbWVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgIHZhciBtb250aEVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImN1ci1tb250aFwiKTtcbiAgICAgICAgbW9udGhFbGVtZW50LnRpdGxlID0gc2VsZi5sMTBuLnNjcm9sbFRpdGxlO1xuICAgICAgICB2YXIgeWVhcklucHV0ID0gY3JlYXRlTnVtYmVySW5wdXQoXCJjdXIteWVhclwiLCB7XG4gICAgICAgICAgdGFiaW5kZXg6IFwiLTFcIlxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHllYXJFbGVtZW50ID0geWVhcklucHV0LmNoaWxkTm9kZXNbMF07XG4gICAgICAgIHllYXJFbGVtZW50LnRpdGxlID0gc2VsZi5sMTBuLnNjcm9sbFRpdGxlO1xuICAgICAgICB5ZWFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIHNlbGYubDEwbi55ZWFyQXJpYUxhYmVsKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUpIHllYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWluXCIsIHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpKTtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcubWF4RGF0ZSkge1xuICAgICAgICAgIHllYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIsIHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpKTtcbiAgICAgICAgICB5ZWFyRWxlbWVudC5kaXNhYmxlZCA9ICEhc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkgPT09IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBjdXJyZW50TW9udGggPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLWN1cnJlbnQtbW9udGhcIik7XG4gICAgICAgIGN1cnJlbnRNb250aC5hcHBlbmRDaGlsZChtb250aEVsZW1lbnQpO1xuICAgICAgICBjdXJyZW50TW9udGguYXBwZW5kQ2hpbGQoeWVhcklucHV0KTtcbiAgICAgICAgbW9udGhOYXZGcmFnbWVudC5hcHBlbmRDaGlsZChjdXJyZW50TW9udGgpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobW9udGhOYXZGcmFnbWVudCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGFpbmVyOiBjb250YWluZXIsXG4gICAgICAgICAgeWVhckVsZW1lbnQ6IHllYXJFbGVtZW50LFxuICAgICAgICAgIG1vbnRoRWxlbWVudDogbW9udGhFbGVtZW50XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGhzKCkge1xuICAgICAgICBjbGVhck5vZGUoc2VsZi5tb250aE5hdik7XG4gICAgICAgIHNlbGYubW9udGhOYXYuYXBwZW5kQ2hpbGQoc2VsZi5wcmV2TW9udGhOYXYpO1xuXG4gICAgICAgIGZvciAodmFyIG0gPSBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBtLS07KSB7XG4gICAgICAgICAgdmFyIG1vbnRoID0gYnVpbGRNb250aCgpO1xuICAgICAgICAgIHNlbGYueWVhckVsZW1lbnRzLnB1c2gobW9udGgueWVhckVsZW1lbnQpO1xuICAgICAgICAgIHNlbGYubW9udGhFbGVtZW50cy5wdXNoKG1vbnRoLm1vbnRoRWxlbWVudCk7XG4gICAgICAgICAgc2VsZi5tb250aE5hdi5hcHBlbmRDaGlsZChtb250aC5jb250YWluZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5tb250aE5hdi5hcHBlbmRDaGlsZChzZWxmLm5leHRNb250aE5hdik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkTW9udGhOYXYoKSB7XG4gICAgICAgIHNlbGYubW9udGhOYXYgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLW1vbnRoc1wiKTtcbiAgICAgICAgc2VsZi55ZWFyRWxlbWVudHMgPSBbXTtcbiAgICAgICAgc2VsZi5tb250aEVsZW1lbnRzID0gW107XG4gICAgICAgIHNlbGYucHJldk1vbnRoTmF2ID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3ItcHJldi1tb250aFwiKTtcbiAgICAgICAgc2VsZi5wcmV2TW9udGhOYXYuaW5uZXJIVE1MID0gc2VsZi5jb25maWcucHJldkFycm93O1xuICAgICAgICBzZWxmLm5leHRNb250aE5hdiA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLW5leHQtbW9udGhcIik7XG4gICAgICAgIHNlbGYubmV4dE1vbnRoTmF2LmlubmVySFRNTCA9IHNlbGYuY29uZmlnLm5leHRBcnJvdztcbiAgICAgICAgYnVpbGRNb250aHMoKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYsIFwiX2hpZGVQcmV2TW9udGhBcnJvd1wiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fX2hpZGVQcmV2TW9udGhBcnJvdztcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGJvb2wpIHtcbiAgICAgICAgICAgIGlmIChzZWxmLl9faGlkZVByZXZNb250aEFycm93ICE9PSBib29sKSB7XG4gICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYucHJldk1vbnRoTmF2LCBcImRpc2FibGVkXCIsIGJvb2wpO1xuICAgICAgICAgICAgICBzZWxmLl9faGlkZVByZXZNb250aEFycm93ID0gYm9vbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZiwgXCJfaGlkZU5leHRNb250aEFycm93XCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLl9faGlkZU5leHRNb250aEFycm93O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXQoYm9vbCkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX19oaWRlTmV4dE1vbnRoQXJyb3cgIT09IGJvb2wpIHtcbiAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5uZXh0TW9udGhOYXYsIFwiZGlzYWJsZWRcIiwgYm9vbCk7XG4gICAgICAgICAgICAgIHNlbGYuX19oaWRlTmV4dE1vbnRoQXJyb3cgPSBib29sO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGYuY3VycmVudFllYXJFbGVtZW50ID0gc2VsZi55ZWFyRWxlbWVudHNbMF07XG4gICAgICAgIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKTtcbiAgICAgICAgcmV0dXJuIHNlbGYubW9udGhOYXY7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkVGltZSgpIHtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwiaGFzVGltZVwiKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIpIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcIm5vQ2FsZW5kYXJcIik7XG4gICAgICAgIHNlbGYudGltZUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItdGltZVwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHZhciBzZXBhcmF0b3IgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci10aW1lLXNlcGFyYXRvclwiLCBcIjpcIik7XG4gICAgICAgIHZhciBob3VySW5wdXQgPSBjcmVhdGVOdW1iZXJJbnB1dChcImZsYXRwaWNrci1ob3VyXCIpO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50ID0gaG91cklucHV0LmNoaWxkTm9kZXNbMF07XG4gICAgICAgIHZhciBtaW51dGVJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLW1pbnV0ZVwiKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50ID0gbWludXRlSW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC50YWJJbmRleCA9IHNlbGYubWludXRlRWxlbWVudC50YWJJbmRleCA9IC0xO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnZhbHVlID0gcGFkKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID8gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmouZ2V0SG91cnMoKSA6IHNlbGYuY29uZmlnLnRpbWVfMjRociA/IHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyIDogbWlsaXRhcnkyYW1wbShzZWxmLmNvbmZpZy5kZWZhdWx0SG91cikpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQudmFsdWUgPSBwYWQoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRNaW51dGVzKCkgOiBzZWxmLmNvbmZpZy5kZWZhdWx0TWludXRlKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLXN0ZXBcIiwgc2VsZi5jb25maWcuaG91ckluY3JlbWVudC50b1N0cmluZygpKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiLCBzZWxmLmNvbmZpZy5taW51dGVJbmNyZW1lbnQudG9TdHJpbmcoKSk7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgc2VsZi5jb25maWcudGltZV8yNGhyID8gXCIwXCIgOiBcIjFcIik7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgc2VsZi5jb25maWcudGltZV8yNGhyID8gXCIyM1wiIDogXCIxMlwiKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWluXCIsIFwiMFwiKTtcbiAgICAgICAgc2VsZi5taW51dGVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIsIFwiNTlcIik7XG4gICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChob3VySW5wdXQpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VwYXJhdG9yKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKG1pbnV0ZUlucHV0KTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLnRpbWVfMjRocikgc2VsZi50aW1lQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ0aW1lMjRoclwiKTtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuZW5hYmxlU2Vjb25kcykge1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwiaGFzU2Vjb25kc1wiKTtcbiAgICAgICAgICB2YXIgc2Vjb25kSW5wdXQgPSBjcmVhdGVOdW1iZXJJbnB1dChcImZsYXRwaWNrci1zZWNvbmRcIik7XG4gICAgICAgICAgc2VsZi5zZWNvbmRFbGVtZW50ID0gc2Vjb25kSW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUgPSBwYWQoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRTZWNvbmRzKCkgOiBzZWxmLmNvbmZpZy5kZWZhdWx0U2Vjb25kcyk7XG4gICAgICAgICAgc2VsZi5zZWNvbmRFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIpKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgc2VsZi5taW51dGVFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtbWluXCIpKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgc2VsZi5taW51dGVFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIpKTtcbiAgICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3ItdGltZS1zZXBhcmF0b3JcIiwgXCI6XCIpKTtcbiAgICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoc2Vjb25kSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy50aW1lXzI0aHIpIHtcbiAgICAgICAgICBzZWxmLmFtUE0gPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci1hbS1wbVwiLCBzZWxmLmwxMG4uYW1QTVtpbnQoKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID8gc2VsZi5ob3VyRWxlbWVudC52YWx1ZSA6IHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyKSA+IDExKV0pO1xuICAgICAgICAgIHNlbGYuYW1QTS50aXRsZSA9IHNlbGYubDEwbi50b2dnbGVUaXRsZTtcbiAgICAgICAgICBzZWxmLmFtUE0udGFiSW5kZXggPSAtMTtcbiAgICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VsZi5hbVBNKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWxmLnRpbWVDb250YWluZXI7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkV2Vla2RheXMoKSB7XG4gICAgICAgIGlmICghc2VsZi53ZWVrZGF5Q29udGFpbmVyKSBzZWxmLndlZWtkYXlDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWtkYXlzXCIpO2Vsc2UgY2xlYXJOb2RlKHNlbGYud2Vla2RheUNvbnRhaW5lcik7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHNlbGYuY29uZmlnLnNob3dNb250aHM7IGktLTspIHtcbiAgICAgICAgICB2YXIgY29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyXCIpO1xuICAgICAgICAgIHNlbGYud2Vla2RheUNvbnRhaW5lci5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlV2Vla2RheXMoKTtcbiAgICAgICAgcmV0dXJuIHNlbGYud2Vla2RheUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlV2Vla2RheXMoKSB7XG4gICAgICAgIHZhciBmaXJzdERheU9mV2VlayA9IHNlbGYubDEwbi5maXJzdERheU9mV2VlaztcbiAgICAgICAgdmFyIHdlZWtkYXlzID0gc2VsZi5sMTBuLndlZWtkYXlzLnNob3J0aGFuZC5jb25jYXQoKTtcblxuICAgICAgICBpZiAoZmlyc3REYXlPZldlZWsgPiAwICYmIGZpcnN0RGF5T2ZXZWVrIDwgd2Vla2RheXMubGVuZ3RoKSB7XG4gICAgICAgICAgd2Vla2RheXMgPSB3ZWVrZGF5cy5zcGxpY2UoZmlyc3REYXlPZldlZWssIHdlZWtkYXlzLmxlbmd0aCkuY29uY2F0KHdlZWtkYXlzLnNwbGljZSgwLCBmaXJzdERheU9mV2VlaykpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHNlbGYuY29uZmlnLnNob3dNb250aHM7IGktLTspIHtcbiAgICAgICAgICBzZWxmLndlZWtkYXlDb250YWluZXIuY2hpbGRyZW5baV0uaW5uZXJIVE1MID0gXCJcXG4gICAgICA8c3BhbiBjbGFzcz1mbGF0cGlja3Itd2Vla2RheT5cXG4gICAgICAgIFwiICsgd2Vla2RheXMuam9pbihcIjwvc3Bhbj48c3BhbiBjbGFzcz1mbGF0cGlja3Itd2Vla2RheT5cIikgKyBcIlxcbiAgICAgIDwvc3Bhbj5cXG4gICAgICBcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBidWlsZFdlZWtzKCkge1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNXZWVrc1wiKTtcbiAgICAgICAgdmFyIHdlZWtXcmFwcGVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci13ZWVrd3JhcHBlclwiKTtcbiAgICAgICAgd2Vla1dyYXBwZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3Itd2Vla2RheVwiLCBzZWxmLmwxMG4ud2Vla0FiYnJldmlhdGlvbikpO1xuICAgICAgICB2YXIgd2Vla051bWJlcnMgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWtzXCIpO1xuICAgICAgICB3ZWVrV3JhcHBlci5hcHBlbmRDaGlsZCh3ZWVrTnVtYmVycyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgd2Vla1dyYXBwZXI6IHdlZWtXcmFwcGVyLFxuICAgICAgICAgIHdlZWtOdW1iZXJzOiB3ZWVrTnVtYmVyc1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjaGFuZ2VNb250aCh2YWx1ZSwgaXNfb2Zmc2V0KSB7XG4gICAgICAgIGlmIChpc19vZmZzZXQgPT09IHZvaWQgMCkge1xuICAgICAgICAgIGlzX29mZnNldCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGVsdGEgPSBpc19vZmZzZXQgPyB2YWx1ZSA6IHZhbHVlIC0gc2VsZi5jdXJyZW50TW9udGg7XG4gICAgICAgIGlmIChkZWx0YSA8IDAgJiYgc2VsZi5faGlkZVByZXZNb250aEFycm93ID09PSB0cnVlIHx8IGRlbHRhID4gMCAmJiBzZWxmLl9oaWRlTmV4dE1vbnRoQXJyb3cgPT09IHRydWUpIHJldHVybjtcbiAgICAgICAgc2VsZi5jdXJyZW50TW9udGggKz0gZGVsdGE7XG5cbiAgICAgICAgaWYgKHNlbGYuY3VycmVudE1vbnRoIDwgMCB8fCBzZWxmLmN1cnJlbnRNb250aCA+IDExKSB7XG4gICAgICAgICAgc2VsZi5jdXJyZW50WWVhciArPSBzZWxmLmN1cnJlbnRNb250aCA+IDExID8gMSA6IC0xO1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gKHNlbGYuY3VycmVudE1vbnRoICsgMTIpICUgMTI7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnVpbGREYXlzKCk7XG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uTW9udGhDaGFuZ2VcIik7XG4gICAgICAgIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2xlYXIodHJpZ2dlckNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlRXZlbnQgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2VFdmVudCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmlucHV0LnZhbHVlID0gXCJcIjtcbiAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQgIT09IHVuZGVmaW5lZCkgc2VsZi5hbHRJbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0ICE9PSB1bmRlZmluZWQpIHNlbGYubW9iaWxlSW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMgPSBbXTtcbiAgICAgICAgc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPSB1bmRlZmluZWQ7XG4gICAgICAgIHNlbGYuc2hvd1RpbWVJbnB1dCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lID09PSB0cnVlKSB7XG4gICAgICAgICAgc2V0RGVmYXVsdEhvdXJzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICBpZiAodHJpZ2dlckNoYW5nZUV2ZW50KSB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2xvc2UoKSB7XG4gICAgICAgIHNlbGYuaXNPcGVuID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKCFzZWxmLmlzTW9iaWxlKSB7XG4gICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKFwib3BlblwiKTtcblxuICAgICAgICAgIHNlbGYuX2lucHV0LmNsYXNzTGlzdC5yZW1vdmUoXCJhY3RpdmVcIik7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNsb3NlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcgIT09IHVuZGVmaW5lZCkgdHJpZ2dlckV2ZW50KFwib25EZXN0cm95XCIpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSBzZWxmLl9oYW5kbGVycy5sZW5ndGg7IGktLTspIHtcbiAgICAgICAgICB2YXIgaCA9IHNlbGYuX2hhbmRsZXJzW2ldO1xuICAgICAgICAgIGguZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGguZXZlbnQsIGguaGFuZGxlciwgaC5vcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuX2hhbmRsZXJzID0gW107XG5cbiAgICAgICAgaWYgKHNlbGYubW9iaWxlSW5wdXQpIHtcbiAgICAgICAgICBpZiAoc2VsZi5tb2JpbGVJbnB1dC5wYXJlbnROb2RlKSBzZWxmLm1vYmlsZUlucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5tb2JpbGVJbnB1dCk7XG4gICAgICAgICAgc2VsZi5tb2JpbGVJbnB1dCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIGlmIChzZWxmLmNhbGVuZGFyQ29udGFpbmVyICYmIHNlbGYuY2FsZW5kYXJDb250YWluZXIucGFyZW50Tm9kZSkgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlbGYuY2FsZW5kYXJDb250YWluZXIpO1xuXG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0KSB7XG4gICAgICAgICAgc2VsZi5pbnB1dC50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQucGFyZW50Tm9kZSkgc2VsZi5hbHRJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNlbGYuYWx0SW5wdXQpO1xuICAgICAgICAgIGRlbGV0ZSBzZWxmLmFsdElucHV0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuaW5wdXQpIHtcbiAgICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBzZWxmLmlucHV0Ll90eXBlO1xuICAgICAgICAgIHNlbGYuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZShcImZsYXRwaWNrci1pbnB1dFwiKTtcbiAgICAgICAgICBzZWxmLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcInJlYWRvbmx5XCIpO1xuICAgICAgICAgIHNlbGYuaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgW1wiX3Nob3dUaW1lSW5wdXRcIiwgXCJsYXRlc3RTZWxlY3RlZERhdGVPYmpcIiwgXCJfaGlkZU5leHRNb250aEFycm93XCIsIFwiX2hpZGVQcmV2TW9udGhBcnJvd1wiLCBcIl9faGlkZU5leHRNb250aEFycm93XCIsIFwiX19oaWRlUHJldk1vbnRoQXJyb3dcIiwgXCJpc01vYmlsZVwiLCBcImlzT3BlblwiLCBcInNlbGVjdGVkRGF0ZUVsZW1cIiwgXCJtaW5EYXRlSGFzVGltZVwiLCBcIm1heERhdGVIYXNUaW1lXCIsIFwiZGF5c1wiLCBcImRheXNDb250YWluZXJcIiwgXCJfaW5wdXRcIiwgXCJfcG9zaXRpb25FbGVtZW50XCIsIFwiaW5uZXJDb250YWluZXJcIiwgXCJyQ29udGFpbmVyXCIsIFwibW9udGhOYXZcIiwgXCJ0b2RheURhdGVFbGVtXCIsIFwiY2FsZW5kYXJDb250YWluZXJcIiwgXCJ3ZWVrZGF5Q29udGFpbmVyXCIsIFwicHJldk1vbnRoTmF2XCIsIFwibmV4dE1vbnRoTmF2XCIsIFwiY3VycmVudE1vbnRoRWxlbWVudFwiLCBcImN1cnJlbnRZZWFyRWxlbWVudFwiLCBcIm5hdmlnYXRpb25DdXJyZW50TW9udGhcIiwgXCJzZWxlY3RlZERhdGVFbGVtXCIsIFwiY29uZmlnXCJdLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgZGVsZXRlIHNlbGZba107XG4gICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzQ2FsZW5kYXJFbGVtKGVsZW0pIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmFwcGVuZFRvICYmIHNlbGYuY29uZmlnLmFwcGVuZFRvLmNvbnRhaW5zKGVsZW0pKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY29udGFpbnMoZWxlbSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRvY3VtZW50Q2xpY2soZSkge1xuICAgICAgICBpZiAoc2VsZi5pc09wZW4gJiYgIXNlbGYuY29uZmlnLmlubGluZSkge1xuICAgICAgICAgIHZhciBpc0NhbGVuZGFyRWxlbWVudCA9IGlzQ2FsZW5kYXJFbGVtKGUudGFyZ2V0KTtcbiAgICAgICAgICB2YXIgaXNJbnB1dCA9IGUudGFyZ2V0ID09PSBzZWxmLmlucHV0IHx8IGUudGFyZ2V0ID09PSBzZWxmLmFsdElucHV0IHx8IHNlbGYuZWxlbWVudC5jb250YWlucyhlLnRhcmdldCkgfHwgZS5wYXRoICYmIGUucGF0aC5pbmRleE9mICYmICh+ZS5wYXRoLmluZGV4T2Yoc2VsZi5pbnB1dCkgfHwgfmUucGF0aC5pbmRleE9mKHNlbGYuYWx0SW5wdXQpKTtcbiAgICAgICAgICB2YXIgbG9zdEZvY3VzID0gZS50eXBlID09PSBcImJsdXJcIiA/IGlzSW5wdXQgJiYgZS5yZWxhdGVkVGFyZ2V0ICYmICFpc0NhbGVuZGFyRWxlbShlLnJlbGF0ZWRUYXJnZXQpIDogIWlzSW5wdXQgJiYgIWlzQ2FsZW5kYXJFbGVtZW50O1xuICAgICAgICAgIHZhciBpc0lnbm9yZWQgPSAhc2VsZi5jb25maWcuaWdub3JlZEZvY3VzRWxlbWVudHMuc29tZShmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW0uY29udGFpbnMoZS50YXJnZXQpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKGxvc3RGb2N1cyAmJiBpc0lnbm9yZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY2xvc2UoKTtcblxuICAgICAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIiAmJiBzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgIHNlbGYuY2xlYXIoZmFsc2UpO1xuICAgICAgICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjaGFuZ2VZZWFyKG5ld1llYXIpIHtcbiAgICAgICAgaWYgKCFuZXdZZWFyIHx8IHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgbmV3WWVhciA8IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSB8fCBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIG5ld1llYXIgPiBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEZ1bGxZZWFyKCkpIHJldHVybjtcbiAgICAgICAgdmFyIG5ld1llYXJOdW0gPSBuZXdZZWFyLFxuICAgICAgICAgICAgaXNOZXdZZWFyID0gc2VsZi5jdXJyZW50WWVhciAhPT0gbmV3WWVhck51bTtcbiAgICAgICAgc2VsZi5jdXJyZW50WWVhciA9IG5ld1llYXJOdW0gfHwgc2VsZi5jdXJyZW50WWVhcjtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLmN1cnJlbnRZZWFyID09PSBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEZ1bGxZZWFyKCkpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IE1hdGgubWluKHNlbGYuY29uZmlnLm1heERhdGUuZ2V0TW9udGgoKSwgc2VsZi5jdXJyZW50TW9udGgpO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpKSB7XG4gICAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSBNYXRoLm1heChzZWxmLmNvbmZpZy5taW5EYXRlLmdldE1vbnRoKCksIHNlbGYuY3VycmVudE1vbnRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05ld1llYXIpIHtcbiAgICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uWWVhckNoYW5nZVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpc0VuYWJsZWQoZGF0ZSwgdGltZWxlc3MpIHtcbiAgICAgICAgaWYgKHRpbWVsZXNzID09PSB2b2lkIDApIHtcbiAgICAgICAgICB0aW1lbGVzcyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGF0ZVRvQ2hlY2sgPSBzZWxmLnBhcnNlRGF0ZShkYXRlLCB1bmRlZmluZWQsIHRpbWVsZXNzKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgZGF0ZVRvQ2hlY2sgJiYgY29tcGFyZURhdGVzKGRhdGVUb0NoZWNrLCBzZWxmLmNvbmZpZy5taW5EYXRlLCB0aW1lbGVzcyAhPT0gdW5kZWZpbmVkID8gdGltZWxlc3MgOiAhc2VsZi5taW5EYXRlSGFzVGltZSkgPCAwIHx8IHNlbGYuY29uZmlnLm1heERhdGUgJiYgZGF0ZVRvQ2hlY2sgJiYgY29tcGFyZURhdGVzKGRhdGVUb0NoZWNrLCBzZWxmLmNvbmZpZy5tYXhEYXRlLCB0aW1lbGVzcyAhPT0gdW5kZWZpbmVkID8gdGltZWxlc3MgOiAhc2VsZi5tYXhEYXRlSGFzVGltZSkgPiAwKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGUubGVuZ3RoID09PSAwICYmIHNlbGYuY29uZmlnLmRpc2FibGUubGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgaWYgKGRhdGVUb0NoZWNrID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgdmFyIGJvb2wgPSBzZWxmLmNvbmZpZy5lbmFibGUubGVuZ3RoID4gMCxcbiAgICAgICAgICAgIGFycmF5ID0gYm9vbCA/IHNlbGYuY29uZmlnLmVuYWJsZSA6IHNlbGYuY29uZmlnLmRpc2FibGU7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGQ7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGQgPSBhcnJheVtpXTtcbiAgICAgICAgICBpZiAodHlwZW9mIGQgPT09IFwiZnVuY3Rpb25cIiAmJiBkKGRhdGVUb0NoZWNrKSkgcmV0dXJuIGJvb2w7ZWxzZSBpZiAoZCBpbnN0YW5jZW9mIERhdGUgJiYgZGF0ZVRvQ2hlY2sgIT09IHVuZGVmaW5lZCAmJiBkLmdldFRpbWUoKSA9PT0gZGF0ZVRvQ2hlY2suZ2V0VGltZSgpKSByZXR1cm4gYm9vbDtlbHNlIGlmICh0eXBlb2YgZCA9PT0gXCJzdHJpbmdcIiAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2YXIgcGFyc2VkID0gc2VsZi5wYXJzZURhdGUoZCwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZWQgJiYgcGFyc2VkLmdldFRpbWUoKSA9PT0gZGF0ZVRvQ2hlY2suZ2V0VGltZSgpID8gYm9vbCA6ICFib29sO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGQgPT09IFwib2JqZWN0XCIgJiYgZGF0ZVRvQ2hlY2sgIT09IHVuZGVmaW5lZCAmJiBkLmZyb20gJiYgZC50byAmJiBkYXRlVG9DaGVjay5nZXRUaW1lKCkgPj0gZC5mcm9tLmdldFRpbWUoKSAmJiBkYXRlVG9DaGVjay5nZXRUaW1lKCkgPD0gZC50by5nZXRUaW1lKCkpIHJldHVybiBib29sO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICFib29sO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpc0luVmlldyhlbGVtKSB7XG4gICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGVsZW0uY2xhc3NOYW1lLmluZGV4T2YoXCJoaWRkZW5cIikgPT09IC0xICYmIHNlbGYuZGF5c0NvbnRhaW5lci5jb250YWlucyhlbGVtKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbktleURvd24oZSkge1xuICAgICAgICB2YXIgaXNJbnB1dCA9IGUudGFyZ2V0ID09PSBzZWxmLl9pbnB1dDtcbiAgICAgICAgdmFyIGFsbG93SW5wdXQgPSBzZWxmLmNvbmZpZy5hbGxvd0lucHV0O1xuICAgICAgICB2YXIgYWxsb3dLZXlkb3duID0gc2VsZi5pc09wZW4gJiYgKCFhbGxvd0lucHV0IHx8ICFpc0lucHV0KTtcbiAgICAgICAgdmFyIGFsbG93SW5saW5lS2V5ZG93biA9IHNlbGYuY29uZmlnLmlubGluZSAmJiBpc0lucHV0ICYmICFhbGxvd0lucHV0O1xuXG4gICAgICAgIGlmIChlLmtleUNvZGUgPT09IDEzICYmIGlzSW5wdXQpIHtcbiAgICAgICAgICBpZiAoYWxsb3dJbnB1dCkge1xuICAgICAgICAgICAgc2VsZi5zZXREYXRlKHNlbGYuX2lucHV0LnZhbHVlLCB0cnVlLCBlLnRhcmdldCA9PT0gc2VsZi5hbHRJbnB1dCA/IHNlbGYuY29uZmlnLmFsdEZvcm1hdCA6IHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICAgICAgcmV0dXJuIGUudGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgICB9IGVsc2Ugc2VsZi5vcGVuKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNDYWxlbmRhckVsZW0oZS50YXJnZXQpIHx8IGFsbG93S2V5ZG93biB8fCBhbGxvd0lubGluZUtleWRvd24pIHtcbiAgICAgICAgICB2YXIgaXNUaW1lT2JqID0gISFzZWxmLnRpbWVDb250YWluZXIgJiYgc2VsZi50aW1lQ29udGFpbmVyLmNvbnRhaW5zKGUudGFyZ2V0KTtcblxuICAgICAgICAgIHN3aXRjaCAoZS5rZXlDb2RlKSB7XG4gICAgICAgICAgICBjYXNlIDEzOlxuICAgICAgICAgICAgICBpZiAoaXNUaW1lT2JqKSB1cGRhdGVUaW1lKCk7ZWxzZSBzZWxlY3REYXRlKGUpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAyNzpcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBmb2N1c0FuZENsb3NlKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDg6XG4gICAgICAgICAgICBjYXNlIDQ2OlxuICAgICAgICAgICAgICBpZiAoaXNJbnB1dCAmJiAhc2VsZi5jb25maWcuYWxsb3dJbnB1dCkge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBzZWxmLmNsZWFyKCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAzNzpcbiAgICAgICAgICAgIGNhc2UgMzk6XG4gICAgICAgICAgICAgIGlmICghaXNUaW1lT2JqKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkICYmIChhbGxvd0lucHV0ID09PSBmYWxzZSB8fCBpc0luVmlldyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpIHtcbiAgICAgICAgICAgICAgICAgIHZhciBfZGVsdGEgPSBlLmtleUNvZGUgPT09IDM5ID8gMSA6IC0xO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSkgZm9jdXNPbkRheSh1bmRlZmluZWQsIF9kZWx0YSk7ZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZU1vbnRoKF9kZWx0YSk7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzT25EYXkoZ2V0Rmlyc3RBdmFpbGFibGVEYXkoMSksIDApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxmLmhvdXJFbGVtZW50KSBzZWxmLmhvdXJFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMzg6XG4gICAgICAgICAgICBjYXNlIDQwOlxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHZhciBkZWx0YSA9IGUua2V5Q29kZSA9PT0gNDAgPyAxIDogLTE7XG5cbiAgICAgICAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIGlmIChlLmN0cmxLZXkpIHtcbiAgICAgICAgICAgICAgICAgIGNoYW5nZVllYXIoc2VsZi5jdXJyZW50WWVhciAtIGRlbHRhKTtcbiAgICAgICAgICAgICAgICAgIGZvY3VzT25EYXkoZ2V0Rmlyc3RBdmFpbGFibGVEYXkoMSksIDApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzVGltZU9iaikgZm9jdXNPbkRheSh1bmRlZmluZWQsIGRlbHRhICogNyk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcuZW5hYmxlVGltZSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNUaW1lT2JqICYmIHNlbGYuaG91ckVsZW1lbnQpIHNlbGYuaG91ckVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB1cGRhdGVUaW1lKGUpO1xuXG4gICAgICAgICAgICAgICAgc2VsZi5fZGVib3VuY2VkQ2hhbmdlKCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA5OlxuICAgICAgICAgICAgICBpZiAoIWlzVGltZU9iaikgYnJlYWs7XG4gICAgICAgICAgICAgIHZhciBlbGVtcyA9IFtzZWxmLmhvdXJFbGVtZW50LCBzZWxmLm1pbnV0ZUVsZW1lbnQsIHNlbGYuc2Vjb25kRWxlbWVudCwgc2VsZi5hbVBNXS5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHZhciBpID0gZWxlbXMuaW5kZXhPZihlLnRhcmdldCk7XG5cbiAgICAgICAgICAgICAgaWYgKGkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9IGVsZW1zW2kgKyAoZS5zaGlmdEtleSA/IC0xIDogMSldO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ID09PSBzZWxmLmFtUE0pIHtcbiAgICAgICAgICBzd2l0Y2ggKGUua2V5KSB7XG4gICAgICAgICAgICBjYXNlIHNlbGYubDEwbi5hbVBNWzBdLmNoYXJBdCgwKTpcbiAgICAgICAgICAgIGNhc2Ugc2VsZi5sMTBuLmFtUE1bMF0uY2hhckF0KDApLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgICAgICAgIHNlbGYuYW1QTS50ZXh0Q29udGVudCA9IHNlbGYubDEwbi5hbVBNWzBdO1xuICAgICAgICAgICAgICBzZXRIb3Vyc0Zyb21JbnB1dHMoKTtcbiAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2Ugc2VsZi5sMTBuLmFtUE1bMV0uY2hhckF0KDApOlxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVsxXS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1bMV07XG4gICAgICAgICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbktleURvd25cIiwgZSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uTW91c2VPdmVyKGVsZW0pIHtcbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggIT09IDEgfHwgIWVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKFwiZmxhdHBpY2tyLWRheVwiKSB8fCBlbGVtLmNsYXNzTGlzdC5jb250YWlucyhcImRpc2FibGVkXCIpKSByZXR1cm47XG4gICAgICAgIHZhciBob3ZlckRhdGUgPSBlbGVtLmRhdGVPYmouZ2V0VGltZSgpLFxuICAgICAgICAgICAgaW5pdGlhbERhdGUgPSBzZWxmLnBhcnNlRGF0ZShzZWxmLnNlbGVjdGVkRGF0ZXNbMF0sIHVuZGVmaW5lZCwgdHJ1ZSkuZ2V0VGltZSgpLFxuICAgICAgICAgICAgcmFuZ2VTdGFydERhdGUgPSBNYXRoLm1pbihob3ZlckRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkpLFxuICAgICAgICAgICAgcmFuZ2VFbmREYXRlID0gTWF0aC5tYXgoaG92ZXJEYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0uZ2V0VGltZSgpKTtcbiAgICAgICAgdmFyIGNvbnRhaW5zRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdmFyIG1pblJhbmdlID0gMCxcbiAgICAgICAgICAgIG1heFJhbmdlID0gMDtcblxuICAgICAgICBmb3IgKHZhciB0ID0gcmFuZ2VTdGFydERhdGU7IHQgPCByYW5nZUVuZERhdGU7IHQgKz0gZHVyYXRpb24uREFZKSB7XG4gICAgICAgICAgaWYgKCFpc0VuYWJsZWQobmV3IERhdGUodCksIHRydWUpKSB7XG4gICAgICAgICAgICBjb250YWluc0Rpc2FibGVkID0gY29udGFpbnNEaXNhYmxlZCB8fCB0ID4gcmFuZ2VTdGFydERhdGUgJiYgdCA8IHJhbmdlRW5kRGF0ZTtcbiAgICAgICAgICAgIGlmICh0IDwgaW5pdGlhbERhdGUgJiYgKCFtaW5SYW5nZSB8fCB0ID4gbWluUmFuZ2UpKSBtaW5SYW5nZSA9IHQ7ZWxzZSBpZiAodCA+IGluaXRpYWxEYXRlICYmICghbWF4UmFuZ2UgfHwgdCA8IG1heFJhbmdlKSkgbWF4UmFuZ2UgPSB0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIG0gPSAwOyBtIDwgc2VsZi5jb25maWcuc2hvd01vbnRoczsgbSsrKSB7XG4gICAgICAgICAgdmFyIG1vbnRoID0gc2VsZi5kYXlzQ29udGFpbmVyLmNoaWxkcmVuW21dO1xuICAgICAgICAgIHZhciBwcmV2TW9udGggPSBzZWxmLmRheXNDb250YWluZXIuY2hpbGRyZW5bbSAtIDFdO1xuXG4gICAgICAgICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoaSwgbCkge1xuICAgICAgICAgICAgdmFyIGRheUVsZW0gPSBtb250aC5jaGlsZHJlbltpXSxcbiAgICAgICAgICAgICAgICBkYXRlID0gZGF5RWxlbS5kYXRlT2JqO1xuICAgICAgICAgICAgdmFyIHRpbWVzdGFtcCA9IGRhdGUuZ2V0VGltZSgpO1xuICAgICAgICAgICAgdmFyIG91dE9mUmFuZ2UgPSBtaW5SYW5nZSA+IDAgJiYgdGltZXN0YW1wIDwgbWluUmFuZ2UgfHwgbWF4UmFuZ2UgPiAwICYmIHRpbWVzdGFtcCA+IG1heFJhbmdlO1xuXG4gICAgICAgICAgICBpZiAob3V0T2ZSYW5nZSkge1xuICAgICAgICAgICAgICBkYXlFbGVtLmNsYXNzTGlzdC5hZGQoXCJub3RBbGxvd2VkXCIpO1xuICAgICAgICAgICAgICBbXCJpblJhbmdlXCIsIFwic3RhcnRSYW5nZVwiLCBcImVuZFJhbmdlXCJdLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgICAgICAgICBkYXlFbGVtLmNsYXNzTGlzdC5yZW1vdmUoYyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250YWluc0Rpc2FibGVkICYmICFvdXRPZlJhbmdlKSByZXR1cm4gXCJjb250aW51ZVwiO1xuXG4gICAgICAgICAgICBbXCJzdGFydFJhbmdlXCIsIFwiaW5SYW5nZVwiLCBcImVuZFJhbmdlXCIsIFwibm90QWxsb3dlZFwiXS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LnJlbW92ZShjKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZWxlbS5jbGFzc0xpc3QuYWRkKGhvdmVyRGF0ZSA8IHNlbGYuc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkgPyBcInN0YXJ0UmFuZ2VcIiA6IFwiZW5kUmFuZ2VcIik7XG5cbiAgICAgICAgICAgIGlmIChtb250aC5jb250YWlucyhlbGVtKSB8fCAhKG0gPiAwICYmIHByZXZNb250aCAmJiBwcmV2TW9udGgubGFzdENoaWxkLmRhdGVPYmouZ2V0VGltZSgpID49IHRpbWVzdGFtcCkpIHtcbiAgICAgICAgICAgICAgaWYgKGluaXRpYWxEYXRlIDwgaG92ZXJEYXRlICYmIHRpbWVzdGFtcCA9PT0gaW5pdGlhbERhdGUpIGRheUVsZW0uY2xhc3NMaXN0LmFkZChcInN0YXJ0UmFuZ2VcIik7ZWxzZSBpZiAoaW5pdGlhbERhdGUgPiBob3ZlckRhdGUgJiYgdGltZXN0YW1wID09PSBpbml0aWFsRGF0ZSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwiZW5kUmFuZ2VcIik7XG4gICAgICAgICAgICAgIGlmICh0aW1lc3RhbXAgPj0gbWluUmFuZ2UgJiYgKG1heFJhbmdlID09PSAwIHx8IHRpbWVzdGFtcCA8PSBtYXhSYW5nZSkgJiYgaXNCZXR3ZWVuKHRpbWVzdGFtcCwgaW5pdGlhbERhdGUsIGhvdmVyRGF0ZSkpIGRheUVsZW0uY2xhc3NMaXN0LmFkZChcImluUmFuZ2VcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gbW9udGguY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgX3JldCA9IF9sb29wKGksIGwpO1xuXG4gICAgICAgICAgICBpZiAoX3JldCA9PT0gXCJjb250aW51ZVwiKSBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25SZXNpemUoKSB7XG4gICAgICAgIGlmIChzZWxmLmlzT3BlbiAmJiAhc2VsZi5jb25maWcuc3RhdGljICYmICFzZWxmLmNvbmZpZy5pbmxpbmUpIHBvc2l0aW9uQ2FsZW5kYXIoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb3BlbihlLCBwb3NpdGlvbkVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHBvc2l0aW9uRWxlbWVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcG9zaXRpb25FbGVtZW50ID0gc2VsZi5faW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5pc01vYmlsZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGlmIChlKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnRhcmdldCAmJiBlLnRhcmdldC5ibHVyKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5tb2JpbGVJbnB1dC5mb2N1cygpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uT3BlblwiKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5faW5wdXQuZGlzYWJsZWQgfHwgc2VsZi5jb25maWcuaW5saW5lKSByZXR1cm47XG4gICAgICAgIHZhciB3YXNPcGVuID0gc2VsZi5pc09wZW47XG4gICAgICAgIHNlbGYuaXNPcGVuID0gdHJ1ZTtcblxuICAgICAgICBpZiAoIXdhc09wZW4pIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJvcGVuXCIpO1xuXG4gICAgICAgICAgc2VsZi5faW5wdXQuY2xhc3NMaXN0LmFkZChcImFjdGl2ZVwiKTtcblxuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uT3BlblwiKTtcbiAgICAgICAgICBwb3NpdGlvbkNhbGVuZGFyKHBvc2l0aW9uRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuZW5hYmxlVGltZSA9PT0gdHJ1ZSAmJiBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyID09PSB0cnVlKSB7XG4gICAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHNlbGYuc2V0RGF0ZShzZWxmLmNvbmZpZy5taW5EYXRlICE9PSB1bmRlZmluZWQgPyBuZXcgRGF0ZShzZWxmLmNvbmZpZy5taW5EYXRlLmdldFRpbWUoKSkgOiBuZXcgRGF0ZSgpLCBmYWxzZSk7XG4gICAgICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgICAgIHVwZGF0ZVZhbHVlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLmFsbG93SW5wdXQgPT09IGZhbHNlICYmIChlID09PSB1bmRlZmluZWQgfHwgIXNlbGYudGltZUNvbnRhaW5lci5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpKSkge1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzZWxmLmhvdXJFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICAgICAgfSwgNTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBtaW5NYXhEYXRlU2V0dGVyKHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgdmFyIGRhdGVPYmogPSBzZWxmLmNvbmZpZ1tcIl9cIiArIHR5cGUgKyBcIkRhdGVcIl0gPSBzZWxmLnBhcnNlRGF0ZShkYXRlLCBzZWxmLmNvbmZpZy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICB2YXIgaW52ZXJzZURhdGVPYmogPSBzZWxmLmNvbmZpZ1tcIl9cIiArICh0eXBlID09PSBcIm1pblwiID8gXCJtYXhcIiA6IFwibWluXCIpICsgXCJEYXRlXCJdO1xuXG4gICAgICAgICAgaWYgKGRhdGVPYmogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2VsZlt0eXBlID09PSBcIm1pblwiID8gXCJtaW5EYXRlSGFzVGltZVwiIDogXCJtYXhEYXRlSGFzVGltZVwiXSA9IGRhdGVPYmouZ2V0SG91cnMoKSA+IDAgfHwgZGF0ZU9iai5nZXRNaW51dGVzKCkgPiAwIHx8IGRhdGVPYmouZ2V0U2Vjb25kcygpID4gMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMgPSBzZWxmLnNlbGVjdGVkRGF0ZXMuZmlsdGVyKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBpc0VuYWJsZWQoZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCAmJiB0eXBlID09PSBcIm1pblwiKSBzZXRIb3Vyc0Zyb21EYXRlKGRhdGVPYmopO1xuICAgICAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICByZWRyYXcoKTtcbiAgICAgICAgICAgIGlmIChkYXRlT2JqICE9PSB1bmRlZmluZWQpIHNlbGYuY3VycmVudFllYXJFbGVtZW50W3R5cGVdID0gZGF0ZU9iai5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7ZWxzZSBzZWxmLmN1cnJlbnRZZWFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodHlwZSk7XG4gICAgICAgICAgICBzZWxmLmN1cnJlbnRZZWFyRWxlbWVudC5kaXNhYmxlZCA9ICEhaW52ZXJzZURhdGVPYmogJiYgZGF0ZU9iaiAhPT0gdW5kZWZpbmVkICYmIGludmVyc2VEYXRlT2JqLmdldEZ1bGxZZWFyKCkgPT09IGRhdGVPYmouZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHBhcnNlQ29uZmlnKCkge1xuICAgICAgICB2YXIgYm9vbE9wdHMgPSBbXCJ3cmFwXCIsIFwid2Vla051bWJlcnNcIiwgXCJhbGxvd0lucHV0XCIsIFwiY2xpY2tPcGVuc1wiLCBcInRpbWVfMjRoclwiLCBcImVuYWJsZVRpbWVcIiwgXCJub0NhbGVuZGFyXCIsIFwiYWx0SW5wdXRcIiwgXCJzaG9ydGhhbmRDdXJyZW50TW9udGhcIiwgXCJpbmxpbmVcIiwgXCJzdGF0aWNcIiwgXCJlbmFibGVTZWNvbmRzXCIsIFwiZGlzYWJsZU1vYmlsZVwiXTtcbiAgICAgICAgdmFyIGhvb2tzID0gW1wib25DaGFuZ2VcIiwgXCJvbkNsb3NlXCIsIFwib25EYXlDcmVhdGVcIiwgXCJvbkRlc3Ryb3lcIiwgXCJvbktleURvd25cIiwgXCJvbk1vbnRoQ2hhbmdlXCIsIFwib25PcGVuXCIsIFwib25QYXJzZUNvbmZpZ1wiLCBcIm9uUmVhZHlcIiwgXCJvblZhbHVlVXBkYXRlXCIsIFwib25ZZWFyQ2hhbmdlXCIsIFwib25QcmVDYWxlbmRhclBvc2l0aW9uXCJdO1xuICAgICAgICB2YXIgdXNlckNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIGluc3RhbmNlQ29uZmlnLCBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGVsZW1lbnQuZGF0YXNldCB8fCB7fSkpKTtcbiAgICAgICAgdmFyIGZvcm1hdHMkJDEgPSB7fTtcbiAgICAgICAgc2VsZi5jb25maWcucGFyc2VEYXRlID0gdXNlckNvbmZpZy5wYXJzZURhdGU7XG4gICAgICAgIHNlbGYuY29uZmlnLmZvcm1hdERhdGUgPSB1c2VyQ29uZmlnLmZvcm1hdERhdGU7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJlbmFibGVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9lbmFibGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChkYXRlcykge1xuICAgICAgICAgICAgc2VsZi5jb25maWcuX2VuYWJsZSA9IHBhcnNlRGF0ZVJ1bGVzKGRhdGVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwiZGlzYWJsZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX2Rpc2FibGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChkYXRlcykge1xuICAgICAgICAgICAgc2VsZi5jb25maWcuX2Rpc2FibGUgPSBwYXJzZURhdGVSdWxlcyhkYXRlcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHRpbWVNb2RlID0gdXNlckNvbmZpZy5tb2RlID09PSBcInRpbWVcIjtcblxuICAgICAgICBpZiAoIXVzZXJDb25maWcuZGF0ZUZvcm1hdCAmJiAodXNlckNvbmZpZy5lbmFibGVUaW1lIHx8IHRpbWVNb2RlKSkge1xuICAgICAgICAgIGZvcm1hdHMkJDEuZGF0ZUZvcm1hdCA9IHVzZXJDb25maWcubm9DYWxlbmRhciB8fCB0aW1lTW9kZSA/IFwiSDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6U1wiIDogXCJcIikgOiBmbGF0cGlja3IuZGVmYXVsdENvbmZpZy5kYXRlRm9ybWF0ICsgXCIgSDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6U1wiIDogXCJcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXNlckNvbmZpZy5hbHRJbnB1dCAmJiAodXNlckNvbmZpZy5lbmFibGVUaW1lIHx8IHRpbWVNb2RlKSAmJiAhdXNlckNvbmZpZy5hbHRGb3JtYXQpIHtcbiAgICAgICAgICBmb3JtYXRzJCQxLmFsdEZvcm1hdCA9IHVzZXJDb25maWcubm9DYWxlbmRhciB8fCB0aW1lTW9kZSA/IFwiaDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6UyBLXCIgOiBcIiBLXCIpIDogZmxhdHBpY2tyLmRlZmF1bHRDb25maWcuYWx0Rm9ybWF0ICsgKFwiIGg6aVwiICsgKHVzZXJDb25maWcuZW5hYmxlU2Vjb25kcyA/IFwiOlNcIiA6IFwiXCIpICsgXCIgS1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJtaW5EYXRlXCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5fbWluRGF0ZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogbWluTWF4RGF0ZVNldHRlcihcIm1pblwiKVxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1heERhdGVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9tYXhEYXRlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhEYXRlU2V0dGVyKFwibWF4XCIpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHZhciBtaW5NYXhUaW1lU2V0dGVyID0gZnVuY3Rpb24gbWluTWF4VGltZVNldHRlcih0eXBlKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgICAgIHNlbGYuY29uZmlnW3R5cGUgPT09IFwibWluXCIgPyBcIl9taW5UaW1lXCIgOiBcIl9tYXhUaW1lXCJdID0gc2VsZi5wYXJzZURhdGUodmFsLCBcIkg6aVwiKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9O1xuXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJtaW5UaW1lXCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5fbWluVGltZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogbWluTWF4VGltZVNldHRlcihcIm1pblwiKVxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1heFRpbWVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9tYXhUaW1lO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhUaW1lU2V0dGVyKFwibWF4XCIpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh1c2VyQ29uZmlnLm1vZGUgPT09IFwidGltZVwiKSB7XG4gICAgICAgICAgc2VsZi5jb25maWcubm9DYWxlbmRhciA9IHRydWU7XG4gICAgICAgICAgc2VsZi5jb25maWcuZW5hYmxlVGltZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuYXNzaWduKHNlbGYuY29uZmlnLCBmb3JtYXRzJCQxLCB1c2VyQ29uZmlnKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJvb2xPcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgc2VsZi5jb25maWdbYm9vbE9wdHNbaV1dID0gc2VsZi5jb25maWdbYm9vbE9wdHNbaV1dID09PSB0cnVlIHx8IHNlbGYuY29uZmlnW2Jvb2xPcHRzW2ldXSA9PT0gXCJ0cnVlXCI7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBfaSA9IGhvb2tzLmxlbmd0aDsgX2ktLTspIHtcbiAgICAgICAgICBpZiAoc2VsZi5jb25maWdbaG9va3NbX2ldXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZ1tob29rc1tfaV1dID0gYXJyYXlpZnkoc2VsZi5jb25maWdbaG9va3NbX2ldXSB8fCBbXSkubWFwKGJpbmRUb0luc3RhbmNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmlzTW9iaWxlID0gIXNlbGYuY29uZmlnLmRpc2FibGVNb2JpbGUgJiYgIXNlbGYuY29uZmlnLmlubGluZSAmJiBzZWxmLmNvbmZpZy5tb2RlID09PSBcInNpbmdsZVwiICYmICFzZWxmLmNvbmZpZy5kaXNhYmxlLmxlbmd0aCAmJiAhc2VsZi5jb25maWcuZW5hYmxlLmxlbmd0aCAmJiAhc2VsZi5jb25maWcud2Vla051bWJlcnMgJiYgL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4gICAgICAgIGZvciAodmFyIF9pMiA9IDA7IF9pMiA8IHNlbGYuY29uZmlnLnBsdWdpbnMubGVuZ3RoOyBfaTIrKykge1xuICAgICAgICAgIHZhciBwbHVnaW5Db25mID0gc2VsZi5jb25maWcucGx1Z2luc1tfaTJdKHNlbGYpIHx8IHt9O1xuXG4gICAgICAgICAgZm9yICh2YXIga2V5IGluIHBsdWdpbkNvbmYpIHtcbiAgICAgICAgICAgIGlmICh+aG9va3MuaW5kZXhPZihrZXkpKSB7XG4gICAgICAgICAgICAgIHNlbGYuY29uZmlnW2tleV0gPSBhcnJheWlmeShwbHVnaW5Db25mW2tleV0pLm1hcChiaW5kVG9JbnN0YW5jZSkuY29uY2F0KHNlbGYuY29uZmlnW2tleV0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdXNlckNvbmZpZ1trZXldID09PSBcInVuZGVmaW5lZFwiKSBzZWxmLmNvbmZpZ1trZXldID0gcGx1Z2luQ29uZltrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uUGFyc2VDb25maWdcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwTG9jYWxlKCkge1xuICAgICAgICBpZiAodHlwZW9mIHNlbGYuY29uZmlnLmxvY2FsZSAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgZmxhdHBpY2tyLmwxMG5zW3NlbGYuY29uZmlnLmxvY2FsZV0gPT09IFwidW5kZWZpbmVkXCIpIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoXCJmbGF0cGlja3I6IGludmFsaWQgbG9jYWxlIFwiICsgc2VsZi5jb25maWcubG9jYWxlKSk7XG4gICAgICAgIHNlbGYubDEwbiA9IE9iamVjdC5hc3NpZ24oe30sIGZsYXRwaWNrci5sMTBucy5kZWZhdWx0LCB0eXBlb2Ygc2VsZi5jb25maWcubG9jYWxlID09PSBcIm9iamVjdFwiID8gc2VsZi5jb25maWcubG9jYWxlIDogc2VsZi5jb25maWcubG9jYWxlICE9PSBcImRlZmF1bHRcIiA/IGZsYXRwaWNrci5sMTBuc1tzZWxmLmNvbmZpZy5sb2NhbGVdIDogdW5kZWZpbmVkKTtcbiAgICAgICAgdG9rZW5SZWdleC5LID0gXCIoXCIgKyBzZWxmLmwxMG4uYW1QTVswXSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMV0gKyBcInxcIiArIHNlbGYubDEwbi5hbVBNWzBdLnRvTG93ZXJDYXNlKCkgKyBcInxcIiArIHNlbGYubDEwbi5hbVBNWzFdLnRvTG93ZXJDYXNlKCkgKyBcIilcIjtcbiAgICAgICAgc2VsZi5mb3JtYXREYXRlID0gY3JlYXRlRGF0ZUZvcm1hdHRlcihzZWxmKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcG9zaXRpb25DYWxlbmRhcihjdXN0b21Qb3NpdGlvbkVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblByZUNhbGVuZGFyUG9zaXRpb25cIik7XG4gICAgICAgIHZhciBwb3NpdGlvbkVsZW1lbnQgPSBjdXN0b21Qb3NpdGlvbkVsZW1lbnQgfHwgc2VsZi5fcG9zaXRpb25FbGVtZW50O1xuICAgICAgICB2YXIgY2FsZW5kYXJIZWlnaHQgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jaGlsZHJlbiwgZnVuY3Rpb24gKGFjYywgY2hpbGQpIHtcbiAgICAgICAgICByZXR1cm4gYWNjICsgY2hpbGQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9LCAwKSxcbiAgICAgICAgICAgIGNhbGVuZGFyV2lkdGggPSBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgY29uZmlnUG9zID0gc2VsZi5jb25maWcucG9zaXRpb24uc3BsaXQoXCIgXCIpLFxuICAgICAgICAgICAgY29uZmlnUG9zVmVydGljYWwgPSBjb25maWdQb3NbMF0sXG4gICAgICAgICAgICBjb25maWdQb3NIb3Jpem9udGFsID0gY29uZmlnUG9zLmxlbmd0aCA+IDEgPyBjb25maWdQb3NbMV0gOiBudWxsLFxuICAgICAgICAgICAgaW5wdXRCb3VuZHMgPSBwb3NpdGlvbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICAgICAgICBkaXN0YW5jZUZyb21Cb3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBpbnB1dEJvdW5kcy5ib3R0b20sXG4gICAgICAgICAgICBzaG93T25Ub3AgPSBjb25maWdQb3NWZXJ0aWNhbCA9PT0gXCJhYm92ZVwiIHx8IGNvbmZpZ1Bvc1ZlcnRpY2FsICE9PSBcImJlbG93XCIgJiYgZGlzdGFuY2VGcm9tQm90dG9tIDwgY2FsZW5kYXJIZWlnaHQgJiYgaW5wdXRCb3VuZHMudG9wID4gY2FsZW5kYXJIZWlnaHQ7XG4gICAgICAgIHZhciB0b3AgPSB3aW5kb3cucGFnZVlPZmZzZXQgKyBpbnB1dEJvdW5kcy50b3AgKyAoIXNob3dPblRvcCA/IHBvc2l0aW9uRWxlbWVudC5vZmZzZXRIZWlnaHQgKyAyIDogLWNhbGVuZGFySGVpZ2h0IC0gMik7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwiYXJyb3dUb3BcIiwgIXNob3dPblRvcCk7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwiYXJyb3dCb3R0b21cIiwgc2hvd09uVG9wKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmlubGluZSkgcmV0dXJuO1xuICAgICAgICB2YXIgbGVmdCA9IHdpbmRvdy5wYWdlWE9mZnNldCArIGlucHV0Qm91bmRzLmxlZnQgLSAoY29uZmlnUG9zSG9yaXpvbnRhbCAhPSBudWxsICYmIGNvbmZpZ1Bvc0hvcml6b250YWwgPT09IFwiY2VudGVyXCIgPyAoY2FsZW5kYXJXaWR0aCAtIGlucHV0Qm91bmRzLndpZHRoKSAvIDIgOiAwKTtcbiAgICAgICAgdmFyIHJpZ2h0ID0gd2luZG93LmRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGggLSBpbnB1dEJvdW5kcy5yaWdodDtcbiAgICAgICAgdmFyIHJpZ2h0TW9zdCA9IGxlZnQgKyBjYWxlbmRhcldpZHRoID4gd2luZG93LmRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7XG4gICAgICAgIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwicmlnaHRNb3N0XCIsIHJpZ2h0TW9zdCk7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5zdGF0aWMpIHJldHVybjtcbiAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS50b3AgPSB0b3AgKyBcInB4XCI7XG5cbiAgICAgICAgaWYgKCFyaWdodE1vc3QpIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLmxlZnQgPSBsZWZ0ICsgXCJweFwiO1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmlnaHQgPSBcImF1dG9cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLmxlZnQgPSBcImF1dG9cIjtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnJpZ2h0ID0gcmlnaHQgKyBcInB4XCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcmVkcmF3KCkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubm9DYWxlbmRhciB8fCBzZWxmLmlzTW9iaWxlKSByZXR1cm47XG4gICAgICAgIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKTtcbiAgICAgICAgYnVpbGREYXlzKCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzQW5kQ2xvc2UoKSB7XG4gICAgICAgIHNlbGYuX2lucHV0LmZvY3VzKCk7XG5cbiAgICAgICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJNU0lFXCIpICE9PSAtMSB8fCBuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2V0VGltZW91dChzZWxmLmNsb3NlLCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWxmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2VsZWN0RGF0ZShlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB2YXIgaXNTZWxlY3RhYmxlID0gZnVuY3Rpb24gaXNTZWxlY3RhYmxlKGRheSkge1xuICAgICAgICAgIHJldHVybiBkYXkuY2xhc3NMaXN0ICYmIGRheS5jbGFzc0xpc3QuY29udGFpbnMoXCJmbGF0cGlja3ItZGF5XCIpICYmICFkYXkuY2xhc3NMaXN0LmNvbnRhaW5zKFwiZGlzYWJsZWRcIikgJiYgIWRheS5jbGFzc0xpc3QuY29udGFpbnMoXCJub3RBbGxvd2VkXCIpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHZhciB0ID0gZmluZFBhcmVudChlLnRhcmdldCwgaXNTZWxlY3RhYmxlKTtcbiAgICAgICAgaWYgKHQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICB2YXIgdGFyZ2V0ID0gdDtcbiAgICAgICAgdmFyIHNlbGVjdGVkRGF0ZSA9IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gbmV3IERhdGUodGFyZ2V0LmRhdGVPYmouZ2V0VGltZSgpKTtcbiAgICAgICAgdmFyIHNob3VsZENoYW5nZU1vbnRoID0gKHNlbGVjdGVkRGF0ZS5nZXRNb250aCgpIDwgc2VsZi5jdXJyZW50TW9udGggfHwgc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPiBzZWxmLmN1cnJlbnRNb250aCArIHNlbGYuY29uZmlnLnNob3dNb250aHMgLSAxKSAmJiBzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCI7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlRWxlbSA9IHRhcmdldDtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwic2luZ2xlXCIpIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtzZWxlY3RlZERhdGVdO2Vsc2UgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwibXVsdGlwbGVcIikge1xuICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gaXNEYXRlU2VsZWN0ZWQoc2VsZWN0ZWREYXRlKTtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCkgc2VsZi5zZWxlY3RlZERhdGVzLnNwbGljZShwYXJzZUludChzZWxlY3RlZEluZGV4KSwgMSk7ZWxzZSBzZWxmLnNlbGVjdGVkRGF0ZXMucHVzaChzZWxlY3RlZERhdGUpO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAyKSBzZWxmLmNsZWFyKGZhbHNlKTtcbiAgICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMucHVzaChzZWxlY3RlZERhdGUpO1xuICAgICAgICAgIGlmIChjb21wYXJlRGF0ZXMoc2VsZWN0ZWREYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0sIHRydWUpICE9PSAwKSBzZWxmLnNlbGVjdGVkRGF0ZXMuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgICAgcmV0dXJuIGEuZ2V0VGltZSgpIC0gYi5nZXRUaW1lKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0SG91cnNGcm9tSW5wdXRzKCk7XG5cbiAgICAgICAgaWYgKHNob3VsZENoYW5nZU1vbnRoKSB7XG4gICAgICAgICAgdmFyIGlzTmV3WWVhciA9IHNlbGYuY3VycmVudFllYXIgIT09IHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIHNlbGYuY3VycmVudFllYXIgPSBzZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IHNlbGVjdGVkRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICAgIGlmIChpc05ld1llYXIpIHRyaWdnZXJFdmVudChcIm9uWWVhckNoYW5nZVwiKTtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbk1vbnRoQ2hhbmdlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgICAgc2V0RGVmYXVsdEhvdXJzKCk7XG4gICAgICAgIHVwZGF0ZVZhbHVlKCk7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gc2VsZi5zaG93VGltZUlucHV0ID0gdHJ1ZTtcbiAgICAgICAgfSwgNTApO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIpIHtcbiAgICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgb25Nb3VzZU92ZXIodGFyZ2V0KTtcbiAgICAgICAgICB9IGVsc2UgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzaG91bGRDaGFuZ2VNb250aCAmJiBzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCIgJiYgc2VsZi5jb25maWcuc2hvd01vbnRocyA9PT0gMSkgZm9jdXNPbkRheUVsZW0odGFyZ2V0KTtlbHNlIHNlbGYuc2VsZWN0ZWREYXRlRWxlbSAmJiBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0uZm9jdXMoKTtcbiAgICAgICAgaWYgKHNlbGYuaG91ckVsZW1lbnQgIT09IHVuZGVmaW5lZCkgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGYuaG91ckVsZW1lbnQgIT09IHVuZGVmaW5lZCAmJiBzZWxmLmhvdXJFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICB9LCA0NTEpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICAgICAgdmFyIHNpbmdsZSA9IHNlbGYuY29uZmlnLm1vZGUgPT09IFwic2luZ2xlXCIgJiYgIXNlbGYuY29uZmlnLmVuYWJsZVRpbWU7XG4gICAgICAgICAgdmFyIHJhbmdlID0gc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiICYmIHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDIgJiYgIXNlbGYuY29uZmlnLmVuYWJsZVRpbWU7XG5cbiAgICAgICAgICBpZiAoc2luZ2xlIHx8IHJhbmdlKSB7XG4gICAgICAgICAgICBmb2N1c0FuZENsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckNoYW5nZSgpO1xuICAgICAgfVxuXG4gICAgICB2YXIgQ0FMTEJBQ0tTID0ge1xuICAgICAgICBsb2NhbGU6IFtzZXR1cExvY2FsZSwgdXBkYXRlV2Vla2RheXNdLFxuICAgICAgICBzaG93TW9udGhzOiBbYnVpbGRNb250aHMsIHNldENhbGVuZGFyV2lkdGgsIGJ1aWxkV2Vla2RheXNdXG4gICAgICB9O1xuXG4gICAgICBmdW5jdGlvbiBzZXQob3B0aW9uLCB2YWx1ZSkge1xuICAgICAgICBpZiAob3B0aW9uICE9PSBudWxsICYmIHR5cGVvZiBvcHRpb24gPT09IFwib2JqZWN0XCIpIE9iamVjdC5hc3NpZ24oc2VsZi5jb25maWcsIG9wdGlvbik7ZWxzZSB7XG4gICAgICAgICAgc2VsZi5jb25maWdbb3B0aW9uXSA9IHZhbHVlO1xuICAgICAgICAgIGlmIChDQUxMQkFDS1Nbb3B0aW9uXSAhPT0gdW5kZWZpbmVkKSBDQUxMQkFDS1Nbb3B0aW9uXS5mb3JFYWNoKGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgICByZXR1cm4geCgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgIGp1bXBUb0RhdGUoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0U2VsZWN0ZWREYXRlKGlucHV0RGF0ZSwgZm9ybWF0KSB7XG4gICAgICAgIHZhciBkYXRlcyA9IFtdO1xuICAgICAgICBpZiAoaW5wdXREYXRlIGluc3RhbmNlb2YgQXJyYXkpIGRhdGVzID0gaW5wdXREYXRlLm1hcChmdW5jdGlvbiAoZCkge1xuICAgICAgICAgIHJldHVybiBzZWxmLnBhcnNlRGF0ZShkLCBmb3JtYXQpO1xuICAgICAgICB9KTtlbHNlIGlmIChpbnB1dERhdGUgaW5zdGFuY2VvZiBEYXRlIHx8IHR5cGVvZiBpbnB1dERhdGUgPT09IFwibnVtYmVyXCIpIGRhdGVzID0gW3NlbGYucGFyc2VEYXRlKGlucHV0RGF0ZSwgZm9ybWF0KV07ZWxzZSBpZiAodHlwZW9mIGlucHV0RGF0ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHN3aXRjaCAoc2VsZi5jb25maWcubW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcInNpbmdsZVwiOlxuICAgICAgICAgICAgY2FzZSBcInRpbWVcIjpcbiAgICAgICAgICAgICAgZGF0ZXMgPSBbc2VsZi5wYXJzZURhdGUoaW5wdXREYXRlLCBmb3JtYXQpXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJtdWx0aXBsZVwiOlxuICAgICAgICAgICAgICBkYXRlcyA9IGlucHV0RGF0ZS5zcGxpdChzZWxmLmNvbmZpZy5jb25qdW5jdGlvbikubWFwKGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyc2VEYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInJhbmdlXCI6XG4gICAgICAgICAgICAgIGRhdGVzID0gaW5wdXREYXRlLnNwbGl0KHNlbGYubDEwbi5yYW5nZVNlcGFyYXRvcikubWFwKGZ1bmN0aW9uIChkYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyc2VEYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Ugc2VsZi5jb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcIkludmFsaWQgZGF0ZSBzdXBwbGllZDogXCIgKyBKU09OLnN0cmluZ2lmeShpbnB1dERhdGUpKSk7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IGRhdGVzLmZpbHRlcihmdW5jdGlvbiAoZCkge1xuICAgICAgICAgIHJldHVybiBkIGluc3RhbmNlb2YgRGF0ZSAmJiBpc0VuYWJsZWQoZCwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikgc2VsZi5zZWxlY3RlZERhdGVzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICByZXR1cm4gYS5nZXRUaW1lKCkgLSBiLmdldFRpbWUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldERhdGUoZGF0ZSwgdHJpZ2dlckNoYW5nZSwgZm9ybWF0KSB7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlID09PSB2b2lkIDApIHtcbiAgICAgICAgICB0cmlnZ2VyQ2hhbmdlID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9ybWF0ID09PSB2b2lkIDApIHtcbiAgICAgICAgICBmb3JtYXQgPSBzZWxmLmNvbmZpZy5kYXRlRm9ybWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGUgIT09IDAgJiYgIWRhdGUgfHwgZGF0ZSBpbnN0YW5jZW9mIEFycmF5ICYmIGRhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gc2VsZi5jbGVhcih0cmlnZ2VyQ2hhbmdlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWREYXRlKGRhdGUsIGZvcm1hdCk7XG4gICAgICAgIHNlbGYuc2hvd1RpbWVJbnB1dCA9IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwO1xuICAgICAgICBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA9IHNlbGYuc2VsZWN0ZWREYXRlc1swXTtcbiAgICAgICAgc2VsZi5yZWRyYXcoKTtcbiAgICAgICAganVtcFRvRGF0ZSgpO1xuICAgICAgICBzZXRIb3Vyc0Zyb21EYXRlKCk7XG4gICAgICAgIHVwZGF0ZVZhbHVlKHRyaWdnZXJDaGFuZ2UpO1xuICAgICAgICBpZiAodHJpZ2dlckNoYW5nZSkgdHJpZ2dlckV2ZW50KFwib25DaGFuZ2VcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHBhcnNlRGF0ZVJ1bGVzKGFycikge1xuICAgICAgICByZXR1cm4gYXJyLnNsaWNlKCkubWFwKGZ1bmN0aW9uIChydWxlKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBydWxlID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBydWxlID09PSBcIm51bWJlclwiIHx8IHJ1bGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUocnVsZSwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUgJiYgdHlwZW9mIHJ1bGUgPT09IFwib2JqZWN0XCIgJiYgcnVsZS5mcm9tICYmIHJ1bGUudG8pIHJldHVybiB7XG4gICAgICAgICAgICBmcm9tOiBzZWxmLnBhcnNlRGF0ZShydWxlLmZyb20sIHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0bzogc2VsZi5wYXJzZURhdGUocnVsZS50bywgdW5kZWZpbmVkKVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICByZXR1cm4gcnVsZTtcbiAgICAgICAgfSkuZmlsdGVyKGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXR1cERhdGVzKCkge1xuICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZXMgPSBbXTtcbiAgICAgICAgc2VsZi5ub3cgPSBzZWxmLnBhcnNlRGF0ZShzZWxmLmNvbmZpZy5ub3cpIHx8IG5ldyBEYXRlKCk7XG4gICAgICAgIHZhciBwcmVsb2FkZWREYXRlID0gc2VsZi5jb25maWcuZGVmYXVsdERhdGUgfHwgKHNlbGYuaW5wdXQucGxhY2Vob2xkZXIubGVuZ3RoID4gMCAmJiBzZWxmLmlucHV0LnZhbHVlID09PSBzZWxmLmlucHV0LnBsYWNlaG9sZGVyID8gbnVsbCA6IHNlbGYuaW5wdXQudmFsdWUpO1xuICAgICAgICBpZiAocHJlbG9hZGVkRGF0ZSkgc2V0U2VsZWN0ZWREYXRlKHByZWxvYWRlZERhdGUsIHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICB2YXIgaW5pdGlhbERhdGUgPSBzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID4gMCA/IHNlbGYuc2VsZWN0ZWREYXRlc1swXSA6IHNlbGYuY29uZmlnLm1pbkRhdGUgJiYgc2VsZi5jb25maWcubWluRGF0ZS5nZXRUaW1lKCkgPiBzZWxmLm5vdy5nZXRUaW1lKCkgPyBzZWxmLmNvbmZpZy5taW5EYXRlIDogc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldFRpbWUoKSA8IHNlbGYubm93LmdldFRpbWUoKSA/IHNlbGYuY29uZmlnLm1heERhdGUgOiBzZWxmLm5vdztcbiAgICAgICAgc2VsZi5jdXJyZW50WWVhciA9IGluaXRpYWxEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gaW5pdGlhbERhdGUuZ2V0TW9udGgoKTtcbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwKSBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA9IHNlbGYuc2VsZWN0ZWREYXRlc1swXTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCkgc2VsZi5jb25maWcubWluVGltZSA9IHNlbGYucGFyc2VEYXRlKHNlbGYuY29uZmlnLm1pblRpbWUsIFwiSDppXCIpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWF4VGltZSAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5tYXhUaW1lID0gc2VsZi5wYXJzZURhdGUoc2VsZi5jb25maWcubWF4VGltZSwgXCJIOmlcIik7XG4gICAgICAgIHNlbGYubWluRGF0ZUhhc1RpbWUgPSAhIXNlbGYuY29uZmlnLm1pbkRhdGUgJiYgKHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0SG91cnMoKSA+IDAgfHwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRNaW51dGVzKCkgPiAwIHx8IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0U2Vjb25kcygpID4gMCk7XG4gICAgICAgIHNlbGYubWF4RGF0ZUhhc1RpbWUgPSAhIXNlbGYuY29uZmlnLm1heERhdGUgJiYgKHNlbGYuY29uZmlnLm1heERhdGUuZ2V0SG91cnMoKSA+IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNaW51dGVzKCkgPiAwIHx8IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0U2Vjb25kcygpID4gMCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLCBcInNob3dUaW1lSW5wdXRcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Nob3dUaW1lSW5wdXQ7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChib29sKSB7XG4gICAgICAgICAgICBzZWxmLl9zaG93VGltZUlucHV0ID0gYm9vbDtcbiAgICAgICAgICAgIGlmIChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKSB0b2dnbGVDbGFzcyhzZWxmLmNhbGVuZGFyQ29udGFpbmVyLCBcInNob3dUaW1lSW5wdXRcIiwgYm9vbCk7XG4gICAgICAgICAgICBzZWxmLmlzT3BlbiAmJiBwb3NpdGlvbkNhbGVuZGFyKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0dXBJbnB1dHMoKSB7XG4gICAgICAgIHNlbGYuaW5wdXQgPSBzZWxmLmNvbmZpZy53cmFwID8gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtaW5wdXRdXCIpIDogZWxlbWVudDtcblxuICAgICAgICBpZiAoIXNlbGYuaW5wdXQpIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5lcnJvckhhbmRsZXIobmV3IEVycm9yKFwiSW52YWxpZCBpbnB1dCBlbGVtZW50IHNwZWNpZmllZFwiKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5pbnB1dC5fdHlwZSA9IHNlbGYuaW5wdXQudHlwZTtcbiAgICAgICAgc2VsZi5pbnB1dC50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICAgIHNlbGYuaW5wdXQuY2xhc3NMaXN0LmFkZChcImZsYXRwaWNrci1pbnB1dFwiKTtcbiAgICAgICAgc2VsZi5faW5wdXQgPSBzZWxmLmlucHV0O1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5hbHRJbnB1dCkge1xuICAgICAgICAgIHNlbGYuYWx0SW5wdXQgPSBjcmVhdGVFbGVtZW50KHNlbGYuaW5wdXQubm9kZU5hbWUsIHNlbGYuaW5wdXQuY2xhc3NOYW1lICsgXCIgXCIgKyBzZWxmLmNvbmZpZy5hbHRJbnB1dENsYXNzKTtcbiAgICAgICAgICBzZWxmLl9pbnB1dCA9IHNlbGYuYWx0SW5wdXQ7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC5wbGFjZWhvbGRlciA9IHNlbGYuaW5wdXQucGxhY2Vob2xkZXI7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC5kaXNhYmxlZCA9IHNlbGYuaW5wdXQuZGlzYWJsZWQ7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC5yZXF1aXJlZCA9IHNlbGYuaW5wdXQucmVxdWlyZWQ7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC50YWJJbmRleCA9IHNlbGYuaW5wdXQudGFiSW5kZXg7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICAgICAgc2VsZi5pbnB1dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiaGlkZGVuXCIpO1xuICAgICAgICAgIGlmICghc2VsZi5jb25maWcuc3RhdGljICYmIHNlbGYuaW5wdXQucGFyZW50Tm9kZSkgc2VsZi5pbnB1dC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzZWxmLmFsdElucHV0LCBzZWxmLmlucHV0Lm5leHRTaWJsaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VsZi5jb25maWcuYWxsb3dJbnB1dCkgc2VsZi5faW5wdXQuc2V0QXR0cmlidXRlKFwicmVhZG9ubHlcIiwgXCJyZWFkb25seVwiKTtcbiAgICAgICAgc2VsZi5fcG9zaXRpb25FbGVtZW50ID0gc2VsZi5jb25maWcucG9zaXRpb25FbGVtZW50IHx8IHNlbGYuX2lucHV0O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXR1cE1vYmlsZSgpIHtcbiAgICAgICAgdmFyIGlucHV0VHlwZSA9IHNlbGYuY29uZmlnLmVuYWJsZVRpbWUgPyBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyID8gXCJ0aW1lXCIgOiBcImRhdGV0aW1lLWxvY2FsXCIgOiBcImRhdGVcIjtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dCA9IGNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCBzZWxmLmlucHV0LmNsYXNzTmFtZSArIFwiIGZsYXRwaWNrci1tb2JpbGVcIik7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQuc3RlcCA9IHNlbGYuaW5wdXQuZ2V0QXR0cmlidXRlKFwic3RlcFwiKSB8fCBcImFueVwiO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnRhYkluZGV4ID0gMTtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC50eXBlID0gaW5wdXRUeXBlO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LmRpc2FibGVkID0gc2VsZi5pbnB1dC5kaXNhYmxlZDtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5yZXF1aXJlZCA9IHNlbGYuaW5wdXQucmVxdWlyZWQ7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQucGxhY2Vob2xkZXIgPSBzZWxmLmlucHV0LnBsYWNlaG9sZGVyO1xuICAgICAgICBzZWxmLm1vYmlsZUZvcm1hdFN0ciA9IGlucHV0VHlwZSA9PT0gXCJkYXRldGltZS1sb2NhbFwiID8gXCJZLW0tZFxcXFxUSDppOlNcIiA6IGlucHV0VHlwZSA9PT0gXCJkYXRlXCIgPyBcIlktbS1kXCIgOiBcIkg6aTpTXCI7XG5cbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5kZWZhdWx0VmFsdWUgPSBzZWxmLm1vYmlsZUlucHV0LnZhbHVlID0gc2VsZi5mb3JtYXREYXRlKHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUpIHNlbGYubW9iaWxlSW5wdXQubWluID0gc2VsZi5mb3JtYXREYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUsIFwiWS1tLWRcIik7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlKSBzZWxmLm1vYmlsZUlucHV0Lm1heCA9IHNlbGYuZm9ybWF0RGF0ZShzZWxmLmNvbmZpZy5tYXhEYXRlLCBcIlktbS1kXCIpO1xuICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCAhPT0gdW5kZWZpbmVkKSBzZWxmLmFsdElucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHNlbGYuaW5wdXQucGFyZW50Tm9kZSkgc2VsZi5pbnB1dC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzZWxmLm1vYmlsZUlucHV0LCBzZWxmLmlucHV0Lm5leHRTaWJsaW5nKTtcbiAgICAgICAgfSBjYXRjaCAoX2EpIHt9XG5cbiAgICAgICAgYmluZChzZWxmLm1vYmlsZUlucHV0LCBcImNoYW5nZVwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIHNlbGYuc2V0RGF0ZShlLnRhcmdldC52YWx1ZSwgZmFsc2UsIHNlbGYubW9iaWxlRm9ybWF0U3RyKTtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNsb3NlXCIpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdG9nZ2xlKGUpIHtcbiAgICAgICAgaWYgKHNlbGYuaXNPcGVuID09PSB0cnVlKSByZXR1cm4gc2VsZi5jbG9zZSgpO1xuICAgICAgICBzZWxmLm9wZW4oZSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRyaWdnZXJFdmVudChldmVudCwgZGF0YSkge1xuICAgICAgICB2YXIgaG9va3MgPSBzZWxmLmNvbmZpZ1tldmVudF07XG5cbiAgICAgICAgaWYgKGhvb2tzICE9PSB1bmRlZmluZWQgJiYgaG9va3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBob29rc1tpXSAmJiBpIDwgaG9va3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGhvb2tzW2ldKHNlbGYuc2VsZWN0ZWREYXRlcywgc2VsZi5pbnB1dC52YWx1ZSwgc2VsZiwgZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50ID09PSBcIm9uQ2hhbmdlXCIpIHtcbiAgICAgICAgICBzZWxmLmlucHV0LmRpc3BhdGNoRXZlbnQoY3JlYXRlRXZlbnQoXCJjaGFuZ2VcIikpO1xuICAgICAgICAgIHNlbGYuaW5wdXQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudChcImlucHV0XCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjcmVhdGVFdmVudChuYW1lKSB7XG4gICAgICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtcbiAgICAgICAgZS5pbml0RXZlbnQobmFtZSwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpc0RhdGVTZWxlY3RlZChkYXRlKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGNvbXBhcmVEYXRlcyhzZWxmLnNlbGVjdGVkRGF0ZXNbaV0sIGRhdGUpID09PSAwKSByZXR1cm4gXCJcIiArIGk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRGF0ZUluUmFuZ2UoZGF0ZSkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSAhPT0gXCJyYW5nZVwiIHx8IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPCAyKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzBdKSA+PSAwICYmIGNvbXBhcmVEYXRlcyhkYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMV0pIDw9IDA7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZU5hdmlnYXRpb25DdXJyZW50TW9udGgoKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5ub0NhbGVuZGFyIHx8IHNlbGYuaXNNb2JpbGUgfHwgIXNlbGYubW9udGhOYXYpIHJldHVybjtcbiAgICAgICAgc2VsZi55ZWFyRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoeWVhckVsZW1lbnQsIGkpIHtcbiAgICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKHNlbGYuY3VycmVudFllYXIsIHNlbGYuY3VycmVudE1vbnRoLCAxKTtcbiAgICAgICAgICBkLnNldE1vbnRoKHNlbGYuY3VycmVudE1vbnRoICsgaSk7XG4gICAgICAgICAgc2VsZi5tb250aEVsZW1lbnRzW2ldLnRleHRDb250ZW50ID0gbW9udGhUb1N0cihkLmdldE1vbnRoKCksIHNlbGYuY29uZmlnLnNob3J0aGFuZEN1cnJlbnRNb250aCwgc2VsZi5sMTBuKSArIFwiIFwiO1xuICAgICAgICAgIHllYXJFbGVtZW50LnZhbHVlID0gZC5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzZWxmLl9oaWRlUHJldk1vbnRoQXJyb3cgPSBzZWxmLmNvbmZpZy5taW5EYXRlICE9PSB1bmRlZmluZWQgJiYgKHNlbGYuY3VycmVudFllYXIgPT09IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSA/IHNlbGYuY3VycmVudE1vbnRoIDw9IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0TW9udGgoKSA6IHNlbGYuY3VycmVudFllYXIgPCBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkpO1xuICAgICAgICBzZWxmLl9oaWRlTmV4dE1vbnRoQXJyb3cgPSBzZWxmLmNvbmZpZy5tYXhEYXRlICE9PSB1bmRlZmluZWQgJiYgKHNlbGYuY3VycmVudFllYXIgPT09IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSA/IHNlbGYuY3VycmVudE1vbnRoICsgMSA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0TW9udGgoKSA6IHNlbGYuY3VycmVudFllYXIgPiBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEZ1bGxZZWFyKCkpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVWYWx1ZSh0cmlnZ2VyQ2hhbmdlKSB7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlID09PSB2b2lkIDApIHtcbiAgICAgICAgICB0cmlnZ2VyQ2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAwKSByZXR1cm4gc2VsZi5jbGVhcih0cmlnZ2VyQ2hhbmdlKTtcblxuICAgICAgICBpZiAoc2VsZi5tb2JpbGVJbnB1dCAhPT0gdW5kZWZpbmVkICYmIHNlbGYubW9iaWxlRm9ybWF0U3RyKSB7XG4gICAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC52YWx1ZSA9IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICE9PSB1bmRlZmluZWQgPyBzZWxmLmZvcm1hdERhdGUoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmosIHNlbGYubW9iaWxlRm9ybWF0U3RyKSA6IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgam9pbkNoYXIgPSBzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCIgPyBzZWxmLmNvbmZpZy5jb25qdW5jdGlvbiA6IHNlbGYubDEwbi5yYW5nZVNlcGFyYXRvcjtcbiAgICAgICAgc2VsZi5pbnB1dC52YWx1ZSA9IHNlbGYuc2VsZWN0ZWREYXRlcy5tYXAoZnVuY3Rpb24gKGRPYmopIHtcbiAgICAgICAgICByZXR1cm4gc2VsZi5mb3JtYXREYXRlKGRPYmosIHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICB9KS5qb2luKGpvaW5DaGFyKTtcblxuICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dC52YWx1ZSA9IHNlbGYuc2VsZWN0ZWREYXRlcy5tYXAoZnVuY3Rpb24gKGRPYmopIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmZvcm1hdERhdGUoZE9iaiwgc2VsZi5jb25maWcuYWx0Rm9ybWF0KTtcbiAgICAgICAgICB9KS5qb2luKGpvaW5DaGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlICE9PSBmYWxzZSkgdHJpZ2dlckV2ZW50KFwib25WYWx1ZVVwZGF0ZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25Nb250aE5hdkNsaWNrKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB2YXIgaXNQcmV2TW9udGggPSBzZWxmLnByZXZNb250aE5hdi5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIHZhciBpc05leHRNb250aCA9IHNlbGYubmV4dE1vbnRoTmF2LmNvbnRhaW5zKGUudGFyZ2V0KTtcblxuICAgICAgICBpZiAoaXNQcmV2TW9udGggfHwgaXNOZXh0TW9udGgpIHtcbiAgICAgICAgICBjaGFuZ2VNb250aChpc1ByZXZNb250aCA/IC0xIDogMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi55ZWFyRWxlbWVudHMuaW5kZXhPZihlLnRhcmdldCkgPj0gMCkge1xuICAgICAgICAgIGUudGFyZ2V0LnNlbGVjdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcImFycm93VXBcIikpIHtcbiAgICAgICAgICBzZWxmLmNoYW5nZVllYXIoc2VsZi5jdXJyZW50WWVhciArIDEpO1xuICAgICAgICB9IGVsc2UgaWYgKGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcImFycm93RG93blwiKSkge1xuICAgICAgICAgIHNlbGYuY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdGltZVdyYXBwZXIoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHZhciBpc0tleURvd24gPSBlLnR5cGUgPT09IFwia2V5ZG93blwiLFxuICAgICAgICAgICAgaW5wdXQgPSBlLnRhcmdldDtcblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQgJiYgZS50YXJnZXQgPT09IHNlbGYuYW1QTSkge1xuICAgICAgICAgIHNlbGYuYW1QTS50ZXh0Q29udGVudCA9IHNlbGYubDEwbi5hbVBNW2ludChzZWxmLmFtUE0udGV4dENvbnRlbnQgPT09IHNlbGYubDEwbi5hbVBNWzBdKV07XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbWluID0gcGFyc2VGbG9hdChpbnB1dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiKSksXG4gICAgICAgICAgICBtYXggPSBwYXJzZUZsb2F0KGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtbWF4XCIpKSxcbiAgICAgICAgICAgIHN0ZXAgPSBwYXJzZUZsb2F0KGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiKSksXG4gICAgICAgICAgICBjdXJWYWx1ZSA9IHBhcnNlSW50KGlucHV0LnZhbHVlLCAxMCksXG4gICAgICAgICAgICBkZWx0YSA9IGUuZGVsdGEgfHwgKGlzS2V5RG93biA/IGUud2hpY2ggPT09IDM4ID8gMSA6IC0xIDogMCk7XG4gICAgICAgIHZhciBuZXdWYWx1ZSA9IGN1clZhbHVlICsgc3RlcCAqIGRlbHRhO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaW5wdXQudmFsdWUgIT09IFwidW5kZWZpbmVkXCIgJiYgaW5wdXQudmFsdWUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgdmFyIGlzSG91ckVsZW0gPSBpbnB1dCA9PT0gc2VsZi5ob3VyRWxlbWVudCxcbiAgICAgICAgICAgICAgaXNNaW51dGVFbGVtID0gaW5wdXQgPT09IHNlbGYubWludXRlRWxlbWVudDtcblxuICAgICAgICAgIGlmIChuZXdWYWx1ZSA8IG1pbikge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBtYXggKyBuZXdWYWx1ZSArIGludCghaXNIb3VyRWxlbSkgKyAoaW50KGlzSG91ckVsZW0pICYmIGludCghc2VsZi5hbVBNKSk7XG4gICAgICAgICAgICBpZiAoaXNNaW51dGVFbGVtKSBpbmNyZW1lbnROdW1JbnB1dCh1bmRlZmluZWQsIC0xLCBzZWxmLmhvdXJFbGVtZW50KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG5ld1ZhbHVlID4gbWF4KSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGlucHV0ID09PSBzZWxmLmhvdXJFbGVtZW50ID8gbmV3VmFsdWUgLSBtYXggLSBpbnQoIXNlbGYuYW1QTSkgOiBtaW47XG4gICAgICAgICAgICBpZiAoaXNNaW51dGVFbGVtKSBpbmNyZW1lbnROdW1JbnB1dCh1bmRlZmluZWQsIDEsIHNlbGYuaG91ckVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLmFtUE0gJiYgaXNIb3VyRWxlbSAmJiAoc3RlcCA9PT0gMSA/IG5ld1ZhbHVlICsgY3VyVmFsdWUgPT09IDIzIDogTWF0aC5hYnMobmV3VmFsdWUgLSBjdXJWYWx1ZSkgPiBzdGVwKSkge1xuICAgICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1baW50KHNlbGYuYW1QTS50ZXh0Q29udGVudCA9PT0gc2VsZi5sMTBuLmFtUE1bMF0pXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHBhZChuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5pdCgpO1xuICAgICAgcmV0dXJuIHNlbGY7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gX2ZsYXRwaWNrcihub2RlTGlzdCwgY29uZmlnKSB7XG4gICAgICB2YXIgbm9kZXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChub2RlTGlzdCk7XG4gICAgICB2YXIgaW5zdGFuY2VzID0gW107XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIG5vZGUgPSBub2Rlc1tpXTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZShcImRhdGEtZnAtb21pdFwiKSAhPT0gbnVsbCkgY29udGludWU7XG5cbiAgICAgICAgICBpZiAobm9kZS5fZmxhdHBpY2tyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG5vZGUuX2ZsYXRwaWNrci5kZXN0cm95KCk7XG5cbiAgICAgICAgICAgIG5vZGUuX2ZsYXRwaWNrciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBub2RlLl9mbGF0cGlja3IgPSBGbGF0cGlja3JJbnN0YW5jZShub2RlLCBjb25maWcgfHwge30pO1xuICAgICAgICAgIGluc3RhbmNlcy5wdXNoKG5vZGUuX2ZsYXRwaWNrcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbnN0YW5jZXMubGVuZ3RoID09PSAxID8gaW5zdGFuY2VzWzBdIDogaW5zdGFuY2VzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgSFRNTEVsZW1lbnQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIEhUTUxDb2xsZWN0aW9uLnByb3RvdHlwZS5mbGF0cGlja3IgPSBOb2RlTGlzdC5wcm90b3R5cGUuZmxhdHBpY2tyID0gZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgICByZXR1cm4gX2ZsYXRwaWNrcih0aGlzLCBjb25maWcpO1xuICAgICAgfTtcblxuICAgICAgSFRNTEVsZW1lbnQucHJvdG90eXBlLmZsYXRwaWNrciA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIF9mbGF0cGlja3IoW3RoaXNdLCBjb25maWcpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgZmxhdHBpY2tyID0gZnVuY3Rpb24gZmxhdHBpY2tyKHNlbGVjdG9yLCBjb25maWcpIHtcbiAgICAgIGlmIChzZWxlY3RvciBpbnN0YW5jZW9mIE5vZGVMaXN0KSByZXR1cm4gX2ZsYXRwaWNrcihzZWxlY3RvciwgY29uZmlnKTtlbHNlIGlmICh0eXBlb2Ygc2VsZWN0b3IgPT09IFwic3RyaW5nXCIpIHJldHVybiBfZmxhdHBpY2tyKHdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSwgY29uZmlnKTtcbiAgICAgIHJldHVybiBfZmxhdHBpY2tyKFtzZWxlY3Rvcl0sIGNvbmZpZyk7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnID0gZGVmYXVsdHM7XG4gICAgZmxhdHBpY2tyLmwxMG5zID0ge1xuICAgICAgZW46IE9iamVjdC5hc3NpZ24oe30sIGVuZ2xpc2gpLFxuICAgICAgZGVmYXVsdDogT2JqZWN0LmFzc2lnbih7fSwgZW5nbGlzaClcbiAgICB9O1xuXG4gICAgZmxhdHBpY2tyLmxvY2FsaXplID0gZnVuY3Rpb24gKGwxMG4pIHtcbiAgICAgIGZsYXRwaWNrci5sMTBucy5kZWZhdWx0ID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQsIGwxMG4pO1xuICAgIH07XG5cbiAgICBmbGF0cGlja3Iuc2V0RGVmYXVsdHMgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICBmbGF0cGlja3IuZGVmYXVsdENvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnLCBjb25maWcpO1xuICAgIH07XG5cbiAgICBmbGF0cGlja3IucGFyc2VEYXRlID0gY3JlYXRlRGF0ZVBhcnNlcih7fSk7XG4gICAgZmxhdHBpY2tyLmZvcm1hdERhdGUgPSBjcmVhdGVEYXRlRm9ybWF0dGVyKHt9KTtcbiAgICBmbGF0cGlja3IuY29tcGFyZURhdGVzID0gY29tcGFyZURhdGVzO1xuXG4gICAgaWYgKHR5cGVvZiBqUXVlcnkgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGpRdWVyeS5mbi5mbGF0cGlja3IgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBfZmxhdHBpY2tyKHRoaXMsIGNvbmZpZyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIERhdGUucHJvdG90eXBlLmZwX2luY3IgPSBmdW5jdGlvbiAoZGF5cykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuZ2V0RnVsbFllYXIoKSwgdGhpcy5nZXRNb250aCgpLCB0aGlzLmdldERhdGUoKSArICh0eXBlb2YgZGF5cyA9PT0gXCJzdHJpbmdcIiA/IHBhcnNlSW50KGRheXMsIDEwKSA6IGRheXMpKTtcbiAgICB9O1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHdpbmRvdy5mbGF0cGlja3IgPSBmbGF0cGlja3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZsYXRwaWNrcjtcblxufSkpKTtcblxuXG4vKioqLyB9KSxcbi8qIDI5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblxudmFyIGNvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMwKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYoZmFsc2UpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vZmxhdHBpY2tyLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vZmxhdHBpY2tyLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDMwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuZmxhdHBpY2tyLWNhbGVuZGFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjt2aXNpYmlsaXR5OmhpZGRlbjtwYWRkaW5nOjA7LXdlYmtpdC1hbmltYXRpb246bm9uZTthbmltYXRpb246bm9uZTtkaXJlY3Rpb246bHRyO2JvcmRlcjowO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo1cHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzA3Ljg3NXB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbXMtdG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO2JhY2tncm91bmQ6I2ZmZjstd2Via2l0LWJveC1zaGFkb3c6MXB4IDAgMCAjZTZlNmU2LC0xcHggMCAwICNlNmU2ZTYsMCAxcHggMCAjZTZlNmU2LDAgLTFweCAwICNlNmU2ZTYsMCAzcHggMTNweCByZ2JhKDAsMCwwLC4wOCk7Ym94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTYsLTFweCAwIDAgI2U2ZTZlNiwwIDFweCAwICNlNmU2ZTYsMCAtMXB4IDAgI2U2ZTZlNiwwIDNweCAxM3B4IHJnYmEoMCwwLDAsLjA4KX0uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSwuZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW57b3BhY2l0eToxO21heC1oZWlnaHQ6NjQwcHg7dmlzaWJpbGl0eTp2aXNpYmxlfS5mbGF0cGlja3ItY2FsZW5kYXIub3BlbntkaXNwbGF5OmlubGluZS1ibG9jazt6LWluZGV4Ojk5OTk5fS5mbGF0cGlja3ItY2FsZW5kYXIuYW5pbWF0ZS5vcGVuey13ZWJraXQtYW5pbWF0aW9uOmZwRmFkZUluRG93biAuM3MgY3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKTthbmltYXRpb246ZnBGYWRlSW5Eb3duIC4zcyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpfS5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5le2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjJweH0uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpY3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgMnB4KX0uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpYy5vcGVue3otaW5kZXg6OTk5O2Rpc3BsYXk6YmxvY2t9LmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzEpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzcpey13ZWJraXQtYm94LXNoYWRvdzpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS5mbGF0cGlja3ItY2FsZW5kYXIubXVsdGlNb250aCAuZmxhdHBpY2tyLWRheXMgLmRheUNvbnRhaW5lcjpudGgtY2hpbGQobisyKSAuZmxhdHBpY2tyLWRheS5pblJhbmdlOm50aC1jaGlsZCg3bisxKXstd2Via2l0LWJveC1zaGFkb3c6LTJweCAwIDAgI2U2ZTZlNiw1cHggMCAwICNlNmU2ZTY7Ym94LXNoYWRvdzotMnB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNn0uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNUaW1lIC5kYXlDb250YWluZXIsLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcntib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcntib3JkZXItbGVmdDowfS5mbGF0cGlja3ItY2FsZW5kYXIuc2hvd1RpbWVJbnB1dC5oYXNUaW1lIC5mbGF0cGlja3ItdGltZXtoZWlnaHQ6NDBweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIubm9DYWxlbmRhci5oYXNUaW1lIC5mbGF0cGlja3ItdGltZXtoZWlnaHQ6YXV0b30uZmxhdHBpY2tyLWNhbGVuZGFyOmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXI6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXI6c29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDpcXFwiXFxcIjtoZWlnaHQ6MDt3aWR0aDowO2xlZnQ6MjJweH0uZmxhdHBpY2tyLWNhbGVuZGFyLnJpZ2h0TW9zdDphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLnJpZ2h0TW9zdDpiZWZvcmV7bGVmdDphdXRvO3JpZ2h0OjIycHh9LmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmV7Ym9yZGVyLXdpZHRoOjVweDttYXJnaW46MCAtNXB4fS5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjRweDttYXJnaW46MCAtNHB4fS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDpiZWZvcmV7Ym90dG9tOjEwMCV9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDpiZWZvcmV7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTpiZWZvcmV7dG9wOjEwMCV9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTpiZWZvcmV7Ym9yZGVyLXRvcC1jb2xvcjojZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5mbGF0cGlja3ItY2FsZW5kYXI6Zm9jdXN7b3V0bGluZTowfS5mbGF0cGlja3Itd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9ja30uZmxhdHBpY2tyLW1vbnRoc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbW9udGh7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDAsMCwwLC45KTtmaWxsOnJnYmEoMCwwLDAsLjkpO2hlaWdodDoyOHB4O2xpbmUtaGVpZ2h0OjE7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjF9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aHt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsaW5lLWhlaWdodDoxNnB4O2hlaWdodDoyOHB4O3BhZGRpbmc6MTBweDt6LWluZGV4OjM7Y29sb3I6cmdiYSgwLDAsMCwuOSk7ZmlsbDpyZ2JhKDAsMCwwLC45KX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZGlzYWJsZWQsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmRpc2FibGVke2Rpc3BsYXk6bm9uZX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggaSwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGggaXtwb3NpdGlvbjpyZWxhdGl2ZX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1wcmV2LW1vbnRoe2xlZnQ6MH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGguZmxhdHBpY2tyLW5leHQtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1uZXh0LW1vbnRoe3JpZ2h0OjB9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoOmhvdmVyLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aDpob3Zlcntjb2xvcjojOTU5ZWE5fS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aDpob3ZlciBzdmcsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVyIHN2Z3tmaWxsOiNmNjQ3NDd9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoIHN2ZywuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGggc3Zne3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoIHN2ZyBwYXRoLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aHstd2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXM7dHJhbnNpdGlvbjpmaWxsIC4xcztmaWxsOmluaGVyaXR9Lm51bUlucHV0V3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6YXV0b30ubnVtSW5wdXRXcmFwcGVyIGlucHV0LC5udW1JbnB1dFdyYXBwZXIgc3BhbntkaXNwbGF5OmlubGluZS1ibG9ja30ubnVtSW5wdXRXcmFwcGVyIGlucHV0e3dpZHRoOjEwMCV9Lm51bUlucHV0V3JhcHBlciBpbnB1dDo6LW1zLWNsZWFye2Rpc3BsYXk6bm9uZX0ubnVtSW5wdXRXcmFwcGVyIHNwYW57cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDoxNHB4O3BhZGRpbmc6MCA0cHggMCAycHg7aGVpZ2h0OjUwJTtsaW5lLWhlaWdodDo1MCU7b3BhY2l0eTowO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgcmdiYSg1Nyw1Nyw1NywuMTUpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubnVtSW5wdXRXcmFwcGVyIHNwYW46aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKX0ubnVtSW5wdXRXcmFwcGVyIHNwYW46YWN0aXZle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMil9Lm51bUlucHV0V3JhcHBlciBzcGFuOmFmdGVye2Rpc3BsYXk6YmxvY2s7Y29udGVudDpcXFwiXFxcIjtwb3NpdGlvbjphYnNvbHV0ZX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcHt0b3A6MDtib3JkZXItYm90dG9tOjB9Lm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXJ7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgcmdiYSg1Nyw1Nyw1NywuNik7dG9wOjI2JX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3due3RvcDo1MCV9Lm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlcntib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC42KTt0b3A6NDAlfS5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6YXV0b30ubnVtSW5wdXRXcmFwcGVyIHNwYW4gc3ZnIHBhdGh7ZmlsbDpyZ2JhKDAsMCwwLC41KX0ubnVtSW5wdXRXcmFwcGVyOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDUpfS5udW1JbnB1dFdyYXBwZXI6aG92ZXIgc3BhbntvcGFjaXR5OjF9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoe2ZvbnQtc2l6ZToxMzUlO2xpbmUtaGVpZ2h0OmluaGVyaXQ7Zm9udC13ZWlnaHQ6MzAwO2NvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NzUlO2xlZnQ6MTIuNSU7cGFkZGluZzo2LjE2cHggMCAwO2xpbmUtaGVpZ2h0OjE7aGVpZ2h0OjI4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggc3Bhbi5jdXItbW9udGh7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDo3MDA7Y29sb3I6aW5oZXJpdDtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDouNWNoO3BhZGRpbmc6MH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggc3Bhbi5jdXItbW9udGg6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXJ7d2lkdGg6NmNoO3dpZHRoOjdjaFxcXFwwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlcntib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuOSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnRleHQ7cGFkZGluZzowIDAgMCAuNWNoO21hcmdpbjowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OmluaGVyaXQ7aGVpZ2h0OmF1dG87Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowO3ZlcnRpY2FsLWFsaWduOmluaXRpYWx9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3Vze291dGxpbmU6MH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdLC5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF06aG92ZXJ7Zm9udC1zaXplOjEwMCU7Y29sb3I6cmdiYSgwLDAsMCwuNSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lfS5mbGF0cGlja3Itd2Vla2RheXN7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWFsaWduOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MjhweH0uZmxhdHBpY2tyLXdlZWtkYXlzLC5mbGF0cGlja3Itd2Vla2RheXMgLmZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci13ZWVrZGF5cyAuZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXIsc3Bhbi5mbGF0cGlja3Itd2Vla2RheXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjF9c3Bhbi5mbGF0cGlja3Itd2Vla2RheXtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6OTAlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6cmdiYSgwLDAsMCwuNTQpO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9jaztmb250LXdlaWdodDpib2xkZXJ9LmRheUNvbnRhaW5lciwuZmxhdHBpY2tyLXdlZWtze3BhZGRpbmc6MXB4IDAgMH0uZmxhdHBpY2tyLWRheXN7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7d2lkdGg6MzA3Ljg3NXB4fS5mbGF0cGlja3ItZGF5czpmb2N1c3tvdXRsaW5lOjB9LmRheUNvbnRhaW5lcntwYWRkaW5nOjA7b3V0bGluZTowO3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDcuODc1cHg7bWluLXdpZHRoOjMwNy44NzVweDttYXgtd2lkdGg6MzA3Ljg3NXB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LW1zLWZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO29wYWNpdHk6MX0uZGF5Q29udGFpbmVyKy5kYXlDb250YWluZXJ7LXdlYmtpdC1ib3gtc2hhZG93Oi0xcHggMCAwICNlNmU2ZTY7Ym94LXNoYWRvdzotMXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItZGF5e2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MTUwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiMzOTM5Mzk7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NDAwO3dpZHRoOjE0LjI4NTcxNDMlOy13ZWJraXQtZmxleC1iYXNpczoxNC4yODU3MTQzJTstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZToxNC4yODU3MTQzJTtmbGV4LWJhc2lzOjE0LjI4NTcxNDMlO21heC13aWR0aDozOXB4O2hlaWdodDozOXB4O2xpbmUtaGVpZ2h0OjM5cHg7bWFyZ2luOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXJ9LmZsYXRwaWNrci1kYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkudG9kYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6Zm9jdXMsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5OmhvdmVyLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpmb2N1cywuZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6aG92ZXIsLmZsYXRwaWNrci1kYXkudG9kYXkuaW5SYW5nZSwuZmxhdHBpY2tyLWRheTpmb2N1cywuZmxhdHBpY2tyLWRheTpob3ZlcntjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjA7YmFja2dyb3VuZDojZTZlNmU2O2JvcmRlci1jb2xvcjojZTZlNmU2fS5mbGF0cGlja3ItZGF5LnRvZGF5e2JvcmRlci1jb2xvcjojOTU5ZWE5fS5mbGF0cGlja3ItZGF5LnRvZGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5LnRvZGF5OmhvdmVye2JvcmRlci1jb2xvcjojOTU5ZWE5O2JhY2tncm91bmQ6Izk1OWVhOTtjb2xvcjojZmZmfS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2UsLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpmb2N1cywuZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpob3ZlciwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZCwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5pblJhbmdlLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQ6Zm9jdXMsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQ6aG92ZXIsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmluUmFuZ2UsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpmb2N1cywuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlOmhvdmVye2JhY2tncm91bmQ6IzU2OWZmNzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6IzU2OWZmN30uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5zdGFydFJhbmdlLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnN0YXJ0UmFuZ2UsLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5zdGFydFJhbmdle2JvcmRlci1yYWRpdXM6NTBweCAwIDAgNTBweH0uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmVuZFJhbmdle2JvcmRlci1yYWRpdXM6MCA1MHB4IDUwcHggMH0uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSsuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSsuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpey13ZWJraXQtYm94LXNoYWRvdzotMTBweCAwIDAgIzU2OWZmNztib3gtc2hhZG93Oi0xMHB4IDAgMCAjNTY5ZmY3fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2V7Ym9yZGVyLXJhZGl1czo1MHB4fS5mbGF0cGlja3ItZGF5LmluUmFuZ2V7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm94LXNoYWRvdzotNXB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi01cHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItZGF5LmRpc2FibGVkLC5mbGF0cGlja3ItZGF5LmRpc2FibGVkOmhvdmVyLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQucHJldk1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheXtjb2xvcjpyZ2JhKDU3LDU3LDU3LC4zKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6ZGVmYXVsdH0uZmxhdHBpY2tyLWRheS5kaXNhYmxlZCwuZmxhdHBpY2tyLWRheS5kaXNhYmxlZDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWQ7Y29sb3I6cmdiYSg1Nyw1Nyw1NywuMSl9LmZsYXRwaWNrci1kYXkud2Vlay5zZWxlY3RlZHtib3JkZXItcmFkaXVzOjA7LXdlYmtpdC1ib3gtc2hhZG93Oi01cHggMCAwICM1NjlmZjcsNXB4IDAgMCAjNTY5ZmY3O2JveC1zaGFkb3c6LTVweCAwIDAgIzU2OWZmNyw1cHggMCAwICM1NjlmZjd9LmZsYXRwaWNrci1kYXkuaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS5yYW5nZU1vZGUgLmZsYXRwaWNrci1kYXl7bWFyZ2luLXRvcDoxcHh9LmZsYXRwaWNrci13ZWVrd3JhcHBlcntkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpsZWZ0fS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrc3twYWRkaW5nOjAgMTJweDstd2Via2l0LWJveC1zaGFkb3c6MXB4IDAgMCAjZTZlNmU2O2JveC1zaGFkb3c6MXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrZGF5e2Zsb2F0Om5vbmU7d2lkdGg6MTAwJTtsaW5lLWhlaWdodDoyOHB4fS5mbGF0cGlja3Itd2Vla3dyYXBwZXIgc3Bhbi5mbGF0cGlja3ItZGF5LC5mbGF0cGlja3Itd2Vla3dyYXBwZXIgc3Bhbi5mbGF0cGlja3ItZGF5OmhvdmVye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXgtd2lkdGg6bm9uZTtjb2xvcjpyZ2JhKDU3LDU3LDU3LC4zKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O2JvcmRlcjpub25lfS5mbGF0cGlja3ItaW5uZXJDb250YWluZXJ7ZGlzcGxheTpibG9jaztkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0uZmxhdHBpY2tyLWlubmVyQ29udGFpbmVyLC5mbGF0cGlja3ItckNvbnRhaW5lcnstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZsYXRwaWNrci1yQ29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MH0uZmxhdHBpY2tyLXRpbWV7dGV4dC1hbGlnbjpjZW50ZXI7b3V0bGluZTowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6NDBweDttYXgtaGVpZ2h0OjQwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5mbGF0cGlja3ItdGltZTphZnRlcntjb250ZW50OlxcXCJcXFwiO2Rpc3BsYXk6dGFibGU7Y2xlYXI6Ym90aH0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7d2lkdGg6NDAlO2hlaWdodDo0MHB4O2Zsb2F0OmxlZnR9LmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6IzM5MzkzOX0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlcntib3JkZXItdG9wLWNvbG9yOiMzOTM5Mzl9LmZsYXRwaWNrci10aW1lLmhhc1NlY29uZHMgLm51bUlucHV0V3JhcHBlcnt3aWR0aDoyNiV9LmZsYXRwaWNrci10aW1lLnRpbWUyNGhyIC5udW1JbnB1dFdyYXBwZXJ7d2lkdGg6NDklfS5mbGF0cGlja3ItdGltZSBpbnB1dHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7cGFkZGluZzowO2hlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6IzM5MzkzOTtmb250LXNpemU6MTRweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3Vye2ZvbnQtd2VpZ2h0OjcwMH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSwuZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLXNlY29uZHtmb250LXdlaWdodDo0MDB9LmZsYXRwaWNrci10aW1lIGlucHV0OmZvY3Vze291dGxpbmU6MDtib3JkZXI6MH0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbSwuZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci10aW1lLXNlcGFyYXRvcntoZWlnaHQ6aW5oZXJpdDtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpsZWZ0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6IzM5MzkzOTtmb250LXdlaWdodDo3MDA7d2lkdGg6MiU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9LmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG17b3V0bGluZTowO3dpZHRoOjE4JTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo0MDB9LmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG06Zm9jdXMsLmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG06aG92ZXIsLmZsYXRwaWNrci10aW1lIGlucHV0OmZvY3VzLC5mbGF0cGlja3ItdGltZSBpbnB1dDpob3ZlcntiYWNrZ3JvdW5kOiNmM2YzZjN9LmZsYXRwaWNrci1pbnB1dFtyZWFkb25seV17Y3Vyc29yOnBvaW50ZXJ9QC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmcEZhZGVJbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFnYy1iYXNpYy5idW5kbGUuanMubWFwIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2gnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLkFycmF5LmZvckVhY2g7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5hcnJheS5pbmNsdWRlcycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuQXJyYXkuaW5jbHVkZXM7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5udW1iZXIuaXMtaW50ZWdlcicpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuTnVtYmVyLmlzSW50ZWdlcjtcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2LnN0cmluZy5zdGFydHMtd2l0aCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuU3RyaW5nLnN0YXJ0c1dpdGg7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAodHlwZW9mIGl0ICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGEgZnVuY3Rpb24hJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyAyMi4xLjMuMzEgQXJyYXkucHJvdG90eXBlW0BAdW5zY29wYWJsZXNdXG52YXIgVU5TQ09QQUJMRVMgPSByZXF1aXJlKCcuL193a3MnKSgndW5zY29wYWJsZXMnKTtcbnZhciBBcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xuaWYgKEFycmF5UHJvdG9bVU5TQ09QQUJMRVNdID09IHVuZGVmaW5lZCkgcmVxdWlyZSgnLi9faGlkZScpKEFycmF5UHJvdG8sIFVOU0NPUEFCTEVTLCB7fSk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgQXJyYXlQcm90b1tVTlNDT1BBQkxFU11ba2V5XSA9IHRydWU7XG59O1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYW4gb2JqZWN0IScpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG4iLCIvLyAwIC0+IEFycmF5I2ZvckVhY2hcbi8vIDEgLT4gQXJyYXkjbWFwXG4vLyAyIC0+IEFycmF5I2ZpbHRlclxuLy8gMyAtPiBBcnJheSNzb21lXG4vLyA0IC0+IEFycmF5I2V2ZXJ5XG4vLyA1IC0+IEFycmF5I2ZpbmRcbi8vIDYgLT4gQXJyYXkjZmluZEluZGV4XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgYXNjID0gcmVxdWlyZSgnLi9fYXJyYXktc3BlY2llcy1jcmVhdGUnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRZUEUsICRjcmVhdGUpIHtcbiAgdmFyIElTX01BUCA9IFRZUEUgPT0gMTtcbiAgdmFyIElTX0ZJTFRFUiA9IFRZUEUgPT0gMjtcbiAgdmFyIElTX1NPTUUgPSBUWVBFID09IDM7XG4gIHZhciBJU19FVkVSWSA9IFRZUEUgPT0gNDtcbiAgdmFyIElTX0ZJTkRfSU5ERVggPSBUWVBFID09IDY7XG4gIHZhciBOT19IT0xFUyA9IFRZUEUgPT0gNSB8fCBJU19GSU5EX0lOREVYO1xuICB2YXIgY3JlYXRlID0gJGNyZWF0ZSB8fCBhc2M7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGNhbGxiYWNrZm4sIHRoYXQpIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgc2VsZiA9IElPYmplY3QoTyk7XG4gICAgdmFyIGYgPSBjdHgoY2FsbGJhY2tmbiwgdGhhdCwgMyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKHNlbGYubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciByZXN1bHQgPSBJU19NQVAgPyBjcmVhdGUoJHRoaXMsIGxlbmd0aCkgOiBJU19GSUxURVIgPyBjcmVhdGUoJHRoaXMsIDApIDogdW5kZWZpbmVkO1xuICAgIHZhciB2YWwsIHJlcztcbiAgICBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKE5PX0hPTEVTIHx8IGluZGV4IGluIHNlbGYpIHtcbiAgICAgIHZhbCA9IHNlbGZbaW5kZXhdO1xuICAgICAgcmVzID0gZih2YWwsIGluZGV4LCBPKTtcbiAgICAgIGlmIChUWVBFKSB7XG4gICAgICAgIGlmIChJU19NQVApIHJlc3VsdFtpbmRleF0gPSByZXM7ICAgLy8gbWFwXG4gICAgICAgIGVsc2UgaWYgKHJlcykgc3dpdGNoIChUWVBFKSB7XG4gICAgICAgICAgY2FzZSAzOiByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgLy8gc29tZVxuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIHZhbDsgICAgICAgICAgICAgIC8vIGZpbmRcbiAgICAgICAgICBjYXNlIDY6IHJldHVybiBpbmRleDsgICAgICAgICAgICAvLyBmaW5kSW5kZXhcbiAgICAgICAgICBjYXNlIDI6IHJlc3VsdC5wdXNoKHZhbCk7ICAgICAgICAvLyBmaWx0ZXJcbiAgICAgICAgfSBlbHNlIGlmIChJU19FVkVSWSkgcmV0dXJuIGZhbHNlOyAvLyBldmVyeVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gSVNfRklORF9JTkRFWCA/IC0xIDogSVNfU09NRSB8fCBJU19FVkVSWSA/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL19pcy1hcnJheScpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCkge1xuICB2YXIgQztcbiAgaWYgKGlzQXJyYXkob3JpZ2luYWwpKSB7XG4gICAgQyA9IG9yaWdpbmFsLmNvbnN0cnVjdG9yO1xuICAgIC8vIGNyb3NzLXJlYWxtIGZhbGxiYWNrXG4gICAgaWYgKHR5cGVvZiBDID09ICdmdW5jdGlvbicgJiYgKEMgPT09IEFycmF5IHx8IGlzQXJyYXkoQy5wcm90b3R5cGUpKSkgQyA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNPYmplY3QoQykpIHtcbiAgICAgIEMgPSBDW1NQRUNJRVNdO1xuICAgICAgaWYgKEMgPT09IG51bGwpIEMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IHJldHVybiBDID09PSB1bmRlZmluZWQgPyBBcnJheSA6IEM7XG59O1xuIiwiLy8gOS40LjIuMyBBcnJheVNwZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKVxudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX2FycmF5LXNwZWNpZXMtY29uc3RydWN0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwsIGxlbmd0aCkge1xuICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3Iob3JpZ2luYWwpKShsZW5ndGgpO1xufTtcbiIsInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuOScgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iLCIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4iLCIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG52YXIgJGV4cG9ydCA9IGZ1bmN0aW9uICh0eXBlLCBuYW1lLCBzb3VyY2UpIHtcbiAgdmFyIElTX0ZPUkNFRCA9IHR5cGUgJiAkZXhwb3J0LkY7XG4gIHZhciBJU19HTE9CQUwgPSB0eXBlICYgJGV4cG9ydC5HO1xuICB2YXIgSVNfU1RBVElDID0gdHlwZSAmICRleHBvcnQuUztcbiAgdmFyIElTX1BST1RPID0gdHlwZSAmICRleHBvcnQuUDtcbiAgdmFyIElTX0JJTkQgPSB0eXBlICYgJGV4cG9ydC5CO1xuICB2YXIgdGFyZ2V0ID0gSVNfR0xPQkFMID8gZ2xvYmFsIDogSVNfU1RBVElDID8gZ2xvYmFsW25hbWVdIHx8IChnbG9iYWxbbmFtZV0gPSB7fSkgOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/IGNvcmUgOiBjb3JlW25hbWVdIHx8IChjb3JlW25hbWVdID0ge30pO1xuICB2YXIgZXhwUHJvdG8gPSBleHBvcnRzW1BST1RPVFlQRV0gfHwgKGV4cG9ydHNbUFJPVE9UWVBFXSA9IHt9KTtcbiAgdmFyIGtleSwgb3duLCBvdXQsIGV4cDtcbiAgaWYgKElTX0dMT0JBTCkgc291cmNlID0gbmFtZTtcbiAgZm9yIChrZXkgaW4gc291cmNlKSB7XG4gICAgLy8gY29udGFpbnMgaW4gbmF0aXZlXG4gICAgb3duID0gIUlTX0ZPUkNFRCAmJiB0YXJnZXQgJiYgdGFyZ2V0W2tleV0gIT09IHVuZGVmaW5lZDtcbiAgICAvLyBleHBvcnQgbmF0aXZlIG9yIHBhc3NlZFxuICAgIG91dCA9IChvd24gPyB0YXJnZXQgOiBzb3VyY2UpW2tleV07XG4gICAgLy8gYmluZCB0aW1lcnMgdG8gZ2xvYmFsIGZvciBjYWxsIGZyb20gZXhwb3J0IGNvbnRleHRcbiAgICBleHAgPSBJU19CSU5EICYmIG93biA/IGN0eChvdXQsIGdsb2JhbCkgOiBJU19QUk9UTyAmJiB0eXBlb2Ygb3V0ID09ICdmdW5jdGlvbicgPyBjdHgoRnVuY3Rpb24uY2FsbCwgb3V0KSA6IG91dDtcbiAgICAvLyBleHRlbmQgZ2xvYmFsXG4gICAgaWYgKHRhcmdldCkgcmVkZWZpbmUodGFyZ2V0LCBrZXksIG91dCwgdHlwZSAmICRleHBvcnQuVSk7XG4gICAgLy8gZXhwb3J0XG4gICAgaWYgKGV4cG9ydHNba2V5XSAhPSBvdXQpIGhpZGUoZXhwb3J0cywga2V5LCBleHApO1xuICAgIGlmIChJU19QUk9UTyAmJiBleHBQcm90b1trZXldICE9IG91dCkgZXhwUHJvdG9ba2V5XSA9IG91dDtcbiAgfVxufTtcbmdsb2JhbC5jb3JlID0gY29yZTtcbi8vIHR5cGUgYml0bWFwXG4kZXhwb3J0LkYgPSAxOyAgIC8vIGZvcmNlZFxuJGV4cG9ydC5HID0gMjsgICAvLyBnbG9iYWxcbiRleHBvcnQuUyA9IDQ7ICAgLy8gc3RhdGljXG4kZXhwb3J0LlAgPSA4OyAgIC8vIHByb3RvXG4kZXhwb3J0LkIgPSAxNjsgIC8vIGJpbmRcbiRleHBvcnQuVyA9IDMyOyAgLy8gd3JhcFxuJGV4cG9ydC5VID0gNjQ7ICAvLyBzYWZlXG4kZXhwb3J0LlIgPSAxMjg7IC8vIHJlYWwgcHJvdG8gbWV0aG9kIGZvciBgbGlicmFyeWBcbm1vZHVsZS5leHBvcnRzID0gJGV4cG9ydDtcbiIsInZhciBNQVRDSCA9IHJlcXVpcmUoJy4vX3drcycpKCdtYXRjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZKSB7XG4gIHZhciByZSA9IC8uLztcbiAgdHJ5IHtcbiAgICAnLy4vJ1tLRVldKHJlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRyeSB7XG4gICAgICByZVtNQVRDSF0gPSBmYWxzZTtcbiAgICAgIHJldHVybiAhJy8uLydbS0VZXShyZSk7XG4gICAgfSBjYXRjaCAoZikgeyAvKiBlbXB0eSAqLyB9XG4gIH0gcmV0dXJuIHRydWU7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZXhlYykge1xuICB0cnkge1xuICAgIHJldHVybiAhIWV4ZWMoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnbmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmluZycsIEZ1bmN0aW9uLnRvU3RyaW5nKTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy84NiNpc3N1ZWNvbW1lbnQtMTE1NzU5MDI4XG52YXIgZ2xvYmFsID0gbW9kdWxlLmV4cG9ydHMgPSB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnICYmIHdpbmRvdy5NYXRoID09IE1hdGhcbiAgPyB3aW5kb3cgOiB0eXBlb2Ygc2VsZiAhPSAndW5kZWZpbmVkJyAmJiBzZWxmLk1hdGggPT0gTWF0aCA/IHNlbGZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gIDogRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcbmlmICh0eXBlb2YgX19nID09ICdudW1iZXInKSBfX2cgPSBnbG9iYWw7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsInZhciBoYXNPd25Qcm9wZXJ0eSA9IHt9Lmhhc093blByb3BlcnR5O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbn07XG4iLCJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2RpdicpLCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwiLy8gZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBhbmQgbm9uLWVudW1lcmFibGUgb2xkIFY4IHN0cmluZ3NcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0KCd6JykucHJvcGVydHlJc0VudW1lcmFibGUoMCkgPyBPYmplY3QgOiBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGNvZihpdCkgPT0gJ1N0cmluZycgPyBpdC5zcGxpdCgnJykgOiBPYmplY3QoaXQpO1xufTtcbiIsIi8vIDcuMi4yIElzQXJyYXkoYXJndW1lbnQpXG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG5tb2R1bGUuZXhwb3J0cyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gaXNBcnJheShhcmcpIHtcbiAgcmV0dXJuIGNvZihhcmcpID09ICdBcnJheSc7XG59O1xuIiwiLy8gMjAuMS4yLjMgTnVtYmVyLmlzSW50ZWdlcihudW1iZXIpXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzSW50ZWdlcihpdCkge1xuICByZXR1cm4gIWlzT2JqZWN0KGl0KSAmJiBpc0Zpbml0ZShpdCkgJiYgZmxvb3IoaXQpID09PSBpdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09PSAnb2JqZWN0JyA/IGl0ICE9PSBudWxsIDogdHlwZW9mIGl0ID09PSAnZnVuY3Rpb24nO1xufTtcbiIsIi8vIDcuMi44IElzUmVnRXhwKGFyZ3VtZW50KVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG52YXIgTUFUQ0ggPSByZXF1aXJlKCcuL193a3MnKSgnbWF0Y2gnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBpc1JlZ0V4cDtcbiAgcmV0dXJuIGlzT2JqZWN0KGl0KSAmJiAoKGlzUmVnRXhwID0gaXRbTUFUQ0hdKSAhPT0gdW5kZWZpbmVkID8gISFpc1JlZ0V4cCA6IGNvZihpdCkgPT0gJ1JlZ0V4cCcpO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZmFsc2U7XG4iLCJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBJRThfRE9NX0RFRklORSA9IHJlcXVpcmUoJy4vX2llOC1kb20tZGVmaW5lJyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBkUCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgYW5PYmplY3QoQXR0cmlidXRlcyk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZFAoTywgUCwgQXR0cmlidXRlcyk7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICBpZiAoJ2dldCcgaW4gQXR0cmlidXRlcyB8fCAnc2V0JyBpbiBBdHRyaWJ1dGVzKSB0aHJvdyBUeXBlRXJyb3IoJ0FjY2Vzc29ycyBub3Qgc3VwcG9ydGVkIScpO1xuICBpZiAoJ3ZhbHVlJyBpbiBBdHRyaWJ1dGVzKSBPW1BdID0gQXR0cmlidXRlcy52YWx1ZTtcbiAgcmV0dXJuIE87XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoYml0bWFwLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6ICEoYml0bWFwICYgMSksXG4gICAgY29uZmlndXJhYmxlOiAhKGJpdG1hcCAmIDIpLFxuICAgIHdyaXRhYmxlOiAhKGJpdG1hcCAmIDQpLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIFNSQyA9IHJlcXVpcmUoJy4vX3VpZCcpKCdzcmMnKTtcbnZhciAkdG9TdHJpbmcgPSByZXF1aXJlKCcuL19mdW5jdGlvbi10by1zdHJpbmcnKTtcbnZhciBUT19TVFJJTkcgPSAndG9TdHJpbmcnO1xudmFyIFRQTCA9ICgnJyArICR0b1N0cmluZykuc3BsaXQoVE9fU1RSSU5HKTtcblxucmVxdWlyZSgnLi9fY29yZScpLmluc3BlY3RTb3VyY2UgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuICR0b1N0cmluZy5jYWxsKGl0KTtcbn07XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChPLCBrZXksIHZhbCwgc2FmZSkge1xuICB2YXIgaXNGdW5jdGlvbiA9IHR5cGVvZiB2YWwgPT0gJ2Z1bmN0aW9uJztcbiAgaWYgKGlzRnVuY3Rpb24pIGhhcyh2YWwsICduYW1lJykgfHwgaGlkZSh2YWwsICduYW1lJywga2V5KTtcbiAgaWYgKE9ba2V5XSA9PT0gdmFsKSByZXR1cm47XG4gIGlmIChpc0Z1bmN0aW9uKSBoYXModmFsLCBTUkMpIHx8IGhpZGUodmFsLCBTUkMsIE9ba2V5XSA/ICcnICsgT1trZXldIDogVFBMLmpvaW4oU3RyaW5nKGtleSkpKTtcbiAgaWYgKE8gPT09IGdsb2JhbCkge1xuICAgIE9ba2V5XSA9IHZhbDtcbiAgfSBlbHNlIGlmICghc2FmZSkge1xuICAgIGRlbGV0ZSBPW2tleV07XG4gICAgaGlkZShPLCBrZXksIHZhbCk7XG4gIH0gZWxzZSBpZiAoT1trZXldKSB7XG4gICAgT1trZXldID0gdmFsO1xuICB9IGVsc2Uge1xuICAgIGhpZGUoTywga2V5LCB2YWwpO1xuICB9XG4vLyBhZGQgZmFrZSBGdW5jdGlvbiN0b1N0cmluZyBmb3IgY29ycmVjdCB3b3JrIHdyYXBwZWQgbWV0aG9kcyAvIGNvbnN0cnVjdG9ycyB3aXRoIG1ldGhvZHMgbGlrZSBMb0Rhc2ggaXNOYXRpdmVcbn0pKEZ1bmN0aW9uLnByb3RvdHlwZSwgVE9fU1RSSU5HLCBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgcmV0dXJuIHR5cGVvZiB0aGlzID09ICdmdW5jdGlvbicgJiYgdGhpc1tTUkNdIHx8ICR0b1N0cmluZy5jYWxsKHRoaXMpO1xufSk7XG4iLCJ2YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBTSEFSRUQgPSAnX19jb3JlLWpzX3NoYXJlZF9fJztcbnZhciBzdG9yZSA9IGdsb2JhbFtTSEFSRURdIHx8IChnbG9iYWxbU0hBUkVEXSA9IHt9KTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIHN0b3JlW2tleV0gfHwgKHN0b3JlW2tleV0gPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiB7fSk7XG59KSgndmVyc2lvbnMnLCBbXSkucHVzaCh7XG4gIHZlcnNpb246IGNvcmUudmVyc2lvbixcbiAgbW9kZTogcmVxdWlyZSgnLi9fbGlicmFyeScpID8gJ3B1cmUnIDogJ2dsb2JhbCcsXG4gIGNvcHlyaWdodDogJ8KpIDIwMTkgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSknXG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG1ldGhvZCwgYXJnKSB7XG4gIHJldHVybiAhIW1ldGhvZCAmJiBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtY2FsbFxuICAgIGFyZyA/IG1ldGhvZC5jYWxsKG51bGwsIGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfSwgMSkgOiBtZXRob2QuY2FsbChudWxsKTtcbiAgfSk7XG59O1xuIiwiLy8gaGVscGVyIGZvciBTdHJpbmcje3N0YXJ0c1dpdGgsIGVuZHNXaXRoLCBpbmNsdWRlc31cbnZhciBpc1JlZ0V4cCA9IHJlcXVpcmUoJy4vX2lzLXJlZ2V4cCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHRoYXQsIHNlYXJjaFN0cmluZywgTkFNRSkge1xuICBpZiAoaXNSZWdFeHAoc2VhcmNoU3RyaW5nKSkgdGhyb3cgVHlwZUVycm9yKCdTdHJpbmcjJyArIE5BTUUgKyBcIiBkb2Vzbid0IGFjY2VwdCByZWdleCFcIik7XG4gIHJldHVybiBTdHJpbmcoZGVmaW5lZCh0aGF0KSk7XG59O1xuIiwidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG4iLCIvLyA3LjEuNCBUb0ludGVnZXJcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpc05hTihpdCA9ICtpdCkgPyAwIDogKGl0ID4gMCA/IGZsb29yIDogY2VpbCkoaXQpO1xufTtcbiIsIi8vIHRvIGluZGV4ZWQgb2JqZWN0LCB0b09iamVjdCB3aXRoIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgc3RyaW5nc1xudmFyIElPYmplY3QgPSByZXF1aXJlKCcuL19pb2JqZWN0Jyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBJT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4iLCIvLyA3LjEuMTUgVG9MZW5ndGhcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPiAwID8gbWluKHRvSW50ZWdlcihpdCksIDB4MWZmZmZmZmZmZmZmZmYpIDogMDsgLy8gcG93KDIsIDUzKSAtIDEgPT0gOTAwNzE5OTI1NDc0MDk5MVxufTtcbiIsIi8vIDcuMS4xMyBUb09iamVjdChhcmd1bWVudClcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIE9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuIiwiLy8gNy4xLjEgVG9QcmltaXRpdmUoaW5wdXQgWywgUHJlZmVycmVkVHlwZV0pXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuIiwidmFyIGlkID0gMDtcbnZhciBweCA9IE1hdGgucmFuZG9tKCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuICdTeW1ib2woJy5jb25jYXQoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSwgJylfJywgKCsraWQgKyBweCkudG9TdHJpbmcoMzYpKTtcbn07XG4iLCJ2YXIgc3RvcmUgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnd2tzJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG52YXIgU3ltYm9sID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuU3ltYm9sO1xudmFyIFVTRV9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09ICdmdW5jdGlvbic7XG5cbnZhciAkZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIHN0b3JlW25hbWVdIHx8IChzdG9yZVtuYW1lXSA9XG4gICAgVVNFX1NZTUJPTCAmJiBTeW1ib2xbbmFtZV0gfHwgKFVTRV9TWU1CT0wgPyBTeW1ib2wgOiB1aWQpKCdTeW1ib2wuJyArIG5hbWUpKTtcbn07XG5cbiRleHBvcnRzLnN0b3JlID0gc3RvcmU7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRmb3JFYWNoID0gcmVxdWlyZSgnLi9fYXJyYXktbWV0aG9kcycpKDApO1xudmFyIFNUUklDVCA9IHJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5mb3JFYWNoLCB0cnVlKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAhU1RSSUNULCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMy4xMCAvIDE1LjQuNC4xOCBBcnJheS5wcm90b3R5cGUuZm9yRWFjaChjYWxsYmFja2ZuIFssIHRoaXNBcmddKVxuICBmb3JFYWNoOiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgcmV0dXJuICRmb3JFYWNoKHRoaXMsIGNhbGxiYWNrZm4sIGFyZ3VtZW50c1sxXSk7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMS4yLjMgTnVtYmVyLmlzSW50ZWdlcihudW1iZXIpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHsgaXNJbnRlZ2VyOiByZXF1aXJlKCcuL19pcy1pbnRlZ2VyJykgfSk7XG4iLCIvLyAyMS4xLjMuMTggU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoKHNlYXJjaFN0cmluZyBbLCBwb3NpdGlvbiBdKVxuJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGNvbnRleHQgPSByZXF1aXJlKCcuL19zdHJpbmctY29udGV4dCcpO1xudmFyIFNUQVJUU19XSVRIID0gJ3N0YXJ0c1dpdGgnO1xudmFyICRzdGFydHNXaXRoID0gJydbU1RBUlRTX1dJVEhdO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIHJlcXVpcmUoJy4vX2ZhaWxzLWlzLXJlZ2V4cCcpKFNUQVJUU19XSVRIKSwgJ1N0cmluZycsIHtcbiAgc3RhcnRzV2l0aDogZnVuY3Rpb24gc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcgLyogLCBwb3NpdGlvbiA9IDAgKi8pIHtcbiAgICB2YXIgdGhhdCA9IGNvbnRleHQodGhpcywgc2VhcmNoU3RyaW5nLCBTVEFSVFNfV0lUSCk7XG4gICAgdmFyIGluZGV4ID0gdG9MZW5ndGgoTWF0aC5taW4oYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQsIHRoYXQubGVuZ3RoKSk7XG4gICAgdmFyIHNlYXJjaCA9IFN0cmluZyhzZWFyY2hTdHJpbmcpO1xuICAgIHJldHVybiAkc3RhcnRzV2l0aFxuICAgICAgPyAkc3RhcnRzV2l0aC5jYWxsKHRoYXQsIHNlYXJjaCwgaW5kZXgpXG4gICAgICA6IHRoYXQuc2xpY2UoaW5kZXgsIGluZGV4ICsgc2VhcmNoLmxlbmd0aCkgPT09IHNlYXJjaDtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9BcnJheS5wcm90b3R5cGUuaW5jbHVkZXNcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGluY2x1ZGVzID0gcmVxdWlyZSgnLi9fYXJyYXktaW5jbHVkZXMnKSh0cnVlKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAsICdBcnJheScsIHtcbiAgaW5jbHVkZXM6IGZ1bmN0aW9uIGluY2x1ZGVzKGVsIC8qICwgZnJvbUluZGV4ID0gMCAqLykge1xuICAgIHJldHVybiAkaW5jbHVkZXModGhpcywgZWwsIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgfVxufSk7XG5cbnJlcXVpcmUoJy4vX2FkZC10by11bnNjb3BhYmxlcycpKCdpbmNsdWRlcycpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLyoqXG4gKiBbUmVjdXJzaXZlbHkgcGFyc2VzIGEgc3RyaW5naWZpZWQgSlNPTl1cbiAqIEBwYXJhbSAge1t0eXBlXX0ganNvblN0cmluZyBbc3RyaW5naWZpZWQganNvbiB0byBwYXJzZV1cbiAqIEByZXR1cm4ge1t0eXBlXX0gICAgICAgICAgICBbbm9ybWFsaXplZCBKYXZhc2NyaXB0IG9iamVjdF1cbiAqL1xuZnVuY3Rpb24gZGVlcFBhcnNlSnNvbihqc29uU3RyaW5nKSB7XG4gIC8vIGlmIG5vdCBzdHJpbmdpZmllZCBqc29uIHJhdGhlciBhIHNpbXBsZSBzdHJpbmcgdmFsdWUgdGhlbiBKU09OLnBhcnNlIHdpbGwgdGhyb3cgZXJyb3JcbiAgLy8gb3RoZXJ3aXNlIGNvbnRpbnVlIHJlY3Vyc2lvblxuICBpZiAodHlwZW9mIGpzb25TdHJpbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBkZWVwUGFyc2VKc29uKEpTT04ucGFyc2UoanNvblN0cmluZykpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIGpzb25TdHJpbmc7XG4gICAgfVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoanNvblN0cmluZykpIHtcbiAgICAvLyBpZiBhbiBhcnJheSBpcyByZWNlaXZlZCwgbWFwIG92ZXIgdGhlIGFycmF5IGFuZCBkZWVwUGFyc2UgZWFjaCB2YWx1ZVxuICAgIHJldHVybiBqc29uU3RyaW5nLm1hcCh2YWwgPT4gZGVlcFBhcnNlSnNvbih2YWwpKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YganNvblN0cmluZyA9PT0gJ29iamVjdCcgJiYganNvblN0cmluZyAhPT0gbnVsbCkge1xuICAgIC8vIGlmIGFuIG9iamVjdCBpcyByZWNlaXZlZCB0aGVuIGRlZXBQYXJzZSBlYWNoIGVsZW1lbnQgaW4gdGhlIG9iamVjdFxuICAgIC8vIHR5cGVvZiBudWxsIHJldHVybnMgJ29iamVjdCcgdG9vLCBzbyB3ZSBoYXZlIHRvIGVsaW1pbmF0ZSB0aGF0XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGpzb25TdHJpbmcpLnJlZHVjZSgob2JqLCBrZXkpID0+IHtcbiAgICAgIG9ialtrZXldID0gZGVlcFBhcnNlSnNvbihqc29uU3RyaW5nW2tleV0pO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gb3RoZXJ3aXNlIHJldHVybiB3aGF0ZXZlciB3YXMgcmVjZWl2ZWRcbiAgICByZXR1cm4ganNvblN0cmluZztcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHsgZGVlcFBhcnNlSnNvbiB9O1xuIiwiaWYoIWdsb2JhbFtcIkJhc2lzXCJdKSBnbG9iYWxbXCJCYXNpc1wiXSA9IHt9O1xubW9kdWxlLmV4cG9ydHMgPSBnbG9iYWxbXCJCYXNpc1wiXVtcIkFnR3JpZENvbXBvbmVudHNcIl0gPSByZXF1aXJlKFwiLSEuL2FnYy1iYXNpYy5idW5kbGUuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSBnbG9iYWxbXCJqc3NcIl0gPSByZXF1aXJlKFwiLSEuL2pzcy5qc1wiKTsiLCIvKlxuICogSlNTIHYwLjYgLSBKYXZhU2NyaXB0IFN0eWxlc2hlZXRzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vQm94OS9qc3NcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTEsIERhdmlkIFRhbmdcbiAqIE1JVCBMaWNlbnNlZCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHApXG4gKi9cbnZhciBqc3MgPSAoZnVuY3Rpb24oKSB7XG4gICAgdmFyIGFkalNlbEF0dHJSZWdleCA9IC8oKD86XFwufCMpW15cXC5cXHMjXSspKCg/OlxcLnwjKVteXFwuXFxzI10rKS9nO1xuICAgIHZhciBkb3VibGVDb2xvblBzZXVkb0VsUmVnZXggPSAvKDo6KShiZWZvcmV8YWZ0ZXJ8Zmlyc3QtbGluZXxmaXJzdC1sZXR0ZXJ8c2VsZWN0aW9uKS87XG4gICAgdmFyIHNpbmdsZUNvbG9uUHNldWRvRWxSZWdleCA9IC8oW146XSkoOikoYmVmb3JlfGFmdGVyfGZpcnN0LWxpbmV8Zmlyc3QtbGV0dGVyfHNlbGVjdGlvbikvO1xuICAgIHZhciBzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzOyAvLyBmbGFnIGZvciBvbGRlciBicm93c2Vyc1xuXG4gICAgZnVuY3Rpb24gZ2V0U2VsZWN0b3JzQW5kUnVsZXMoc2hlZXQpIHtcbiAgICAgICAgdmFyIHJ1bGVzID0gc2hlZXQuY3NzUnVsZXMgfHwgc2hlZXQucnVsZXMgfHwgW107XG4gICAgICAgIHZhciByZXN1bHRzID0ge307XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIC8vIE9sZGVyIGJyb3dzZXJzIGFuZCBGRiByZXBvcnQgcHNldWRvIGVsZW1lbnQgc2VsZWN0b3JzIGluIGFuIG91dGRhdGVkIGZvcm1hdFxuICAgICAgICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhydWxlc1tpXS5zZWxlY3RvclRleHQpO1xuICAgICAgICAgICAgaWYgKCFyZXN1bHRzW3NlbGVjdG9yVGV4dF0pIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzW3NlbGVjdG9yVGV4dF0gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdHNbc2VsZWN0b3JUZXh0XS5wdXNoKHtcbiAgICAgICAgICAgICAgICBzaGVldDogc2hlZXQsXG4gICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2ldLnN0eWxlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRSdWxlcyhzaGVldCwgc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHJ1bGVzID0gc2hlZXQuY3NzUnVsZXMgfHwgc2hlZXQucnVsZXMgfHwgW107XG4gICAgICAgIHZhciByZXN1bHRzID0gW107XG4gICAgICAgIC8vIEJyb3dzZXJzIHJlcG9ydCBzZWxlY3RvcnMgaW4gbG93ZXJjYXNlXG4gICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IHJ1bGVzW2ldLnNlbGVjdG9yVGV4dDtcbiAgICAgICAgICAgIC8vIE5vdGUgLSBjZXJ0YWluIHJ1bGVzIChlLmcuIEBydWxlcykgZG9uJ3QgaGF2ZSBzZWxlY3RvclRleHRcbiAgICAgICAgICAgIGlmIChzZWxlY3RvclRleHQgJiYgKHNlbGVjdG9yVGV4dCA9PSBzZWxlY3RvciB8fCBzZWxlY3RvclRleHQgPT0gc3dhcEFkalNlbEF0dHIoc2VsZWN0b3IpIHx8IHNlbGVjdG9yVGV4dCA9PSBzd2FwUHNldWRvRWxTeW50YXgoc2VsZWN0b3IpKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHNoZWV0OiBzaGVldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiBydWxlc1tpXS5zdHlsZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFkZFJ1bGUoc2hlZXQsIHNlbGVjdG9yKSB7XG4gICAgICAgIHZhciBydWxlcyA9IHNoZWV0LmNzc1J1bGVzIHx8IHNoZWV0LnJ1bGVzIHx8IFtdO1xuICAgICAgICB2YXIgaW5kZXggPSBydWxlcy5sZW5ndGg7XG4gICAgICAgIHZhciBwc2V1ZG9FbGVtZW50UnVsZSA9IGFkZFBzZXVkb0VsZW1lbnRSdWxlKHNoZWV0LCBzZWxlY3RvciwgcnVsZXMsIGluZGV4KTtcblxuICAgICAgICBpZiAoIXBzZXVkb0VsZW1lbnRSdWxlKSB7XG4gICAgICAgICAgICBhZGRSdWxlVG9TaGVldChzaGVldCwgc2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNoZWV0OiBzaGVldCxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgIHN0eWxlOiBydWxlc1tpbmRleF0uc3R5bGVcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gYWRkUnVsZVRvU2hlZXQoc2hlZXQsIHNlbGVjdG9yLCBpbmRleCkge1xuICAgICAgICBpZiAoc2hlZXQuaW5zZXJ0UnVsZSkge1xuICAgICAgICAgICAgc2hlZXQuaW5zZXJ0UnVsZShzZWxlY3RvciArICcgeyB9JywgaW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2hlZXQuYWRkUnVsZShzZWxlY3RvciwgbnVsbCwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcyBzaW5nbGUgY29sb24gc3ludGF4IGZvciBvbGRlciBicm93c2VycyBhbmQgYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTY1MVxuICAgIGZ1bmN0aW9uIGFkZFBzZXVkb0VsZW1lbnRSdWxlKHNoZWV0LCBzZWxlY3RvciwgcnVsZXMsIGluZGV4KSB7XG4gICAgICAgIHZhciBkb3VibGVDb2xvblNlbGVjdG9yO1xuICAgICAgICB2YXIgc2luZ2xlQ29sb25TZWxlY3RvcjtcblxuICAgICAgICBpZiAoZG91YmxlQ29sb25Qc2V1ZG9FbFJlZ2V4LmV4ZWMoc2VsZWN0b3IpKSB7XG4gICAgICAgICAgICBkb3VibGVDb2xvblNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgICAgICAgICBzaW5nbGVDb2xvblNlbGVjdG9yID0gdG9TaW5nbGVDb2xvblBzZXVkb0VsZW1lbnRzKHNlbGVjdG9yKTtcbiAgICAgICAgfSBlbHNlIGlmIChzaW5nbGVDb2xvblBzZXVkb0VsUmVnZXguZXhlYyhzZWxlY3RvcikpIHtcbiAgICAgICAgICAgIGRvdWJsZUNvbG9uU2VsZWN0b3IgPSB0b0RvdWJsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpO1xuICAgICAgICAgICAgc2luZ2xlQ29sb25TZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBOb3QgZGVhbGluZyB3aXRoIGEgcHNldWRvIGVsZW1lbnRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2luZ2xlQ29sb25Gb3JQc2V1ZG9FbGVtZW50cykge1xuICAgICAgICAgICAgLy8gQXNzdW1lIG1vZGVybiBicm93c2VyIGFuZCB0aGVuIGNoZWNrIGlmIHN1Y2Nlc3NmdWxcbiAgICAgICAgICAgIGFkZFJ1bGVUb1NoZWV0KHNoZWV0LCBkb3VibGVDb2xvblNlbGVjdG9yLCBpbmRleCk7XG4gICAgICAgICAgICBpZiAocnVsZXMubGVuZ3RoIDw9IGluZGV4KSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQ29sb25Gb3JQc2V1ZG9FbGVtZW50cyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbmdsZUNvbG9uRm9yUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgICAgIGFkZFJ1bGVUb1NoZWV0KHNoZWV0LCBzaW5nbGVDb2xvblNlbGVjdG9yLCBpbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0b0RvdWJsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yLnJlcGxhY2Uoc2luZ2xlQ29sb25Qc2V1ZG9FbFJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gsIHN1Ym1hdGNoMSwgc3VibWF0Y2gyLCBzdWJtYXRjaDMpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWJtYXRjaDEgKyAnOjonICsgc3VibWF0Y2gzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0b1NpbmdsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yLnJlcGxhY2UoZG91YmxlQ29sb25Qc2V1ZG9FbFJlZ2V4LCBmdW5jdGlvbihtYXRjaCwgc3VibWF0Y2gxLCBzdWJtYXRjaDIpIHtcbiAgICAgICAgICAgIHJldHVybiAnOicgKyBzdWJtYXRjaDI7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVtb3ZlUnVsZShydWxlKSB7XG4gICAgICAgIHZhciBzaGVldCA9IHJ1bGUuc2hlZXQ7XG4gICAgICAgIGlmIChzaGVldC5kZWxldGVSdWxlKSB7XG4gICAgICAgICAgICBzaGVldC5kZWxldGVSdWxlKHJ1bGUuaW5kZXgpO1xuICAgICAgICB9IGVsc2UgaWYgKHNoZWV0LnJlbW92ZVJ1bGUpIHtcbiAgICAgICAgICAgIHNoZWV0LnJlbW92ZVJ1bGUocnVsZS5pbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBleHRlbmQoZGVzdCwgc3JjKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBzcmMpIHtcbiAgICAgICAgICAgIGlmICghc3JjLmhhc093blByb3BlcnR5KGtleSkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBkZXN0W2tleV0gPSBzcmNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVzdDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhZ2dyZWdhdGVTdHlsZXMocnVsZXMpIHtcbiAgICAgICAgdmFyIGFnZ3JlZ2F0ZSA9IHt9O1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBleHRlbmQoYWdncmVnYXRlLCBkZWNsYXJlZFByb3BlcnRpZXMocnVsZXNbaV0uc3R5bGUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWdncmVnYXRlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRlY2xhcmVkUHJvcGVydGllcyhzdHlsZSkge1xuICAgICAgICB2YXIgZGVjbGFyZWQgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZGVjbGFyZWRbc3R5bGVbaV1dID0gc3R5bGVbdG9DYW1lbENhc2Uoc3R5bGVbaV0pXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVjbGFyZWQ7XG4gICAgfVxuXG4gICAgLy8gSUU5IHN0b3JlcyBydWxlcyB3aXRoIGF0dHJpYnV0ZXMgKGNsYXNzZXMgb3IgSUQncykgYWRqYWNlbnQgaW4gdGhlIG9wcG9zaXRlIG9yZGVyIGFzIGRlZmluZWRcbiAgICAvLyBjYXVzaW5nIHRoZW0gdG8gbm90IGJlIGZvdW5kLCBzbyB0aGlzIG1ldGhvZCBzd2FwcyBbI3wuXXNlbDFbI3wuXXNlbDIgdG8gYmVjb21lIFsjfC5dc2VsMlsjfC5dc2VsMVxuICAgIGZ1bmN0aW9uIHN3YXBBZGpTZWxBdHRyKHNlbGVjdG9yKSB7XG4gICAgICAgIHZhciBzd2FwID0gJyc7XG4gICAgICAgIHZhciBsYXN0SW5kZXggPSAwO1xuICAgICAgICAgICAgXG4gICAgICAgIHdoaWxlICgobWF0Y2ggPSBhZGpTZWxBdHRyUmVnZXguZXhlYyhzZWxlY3RvcikpICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChtYXRjaFswXSA9PT0gJycpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBzd2FwICs9IHNlbGVjdG9yLnN1YnN0cmluZyhsYXN0SW5kZXgsIG1hdGNoLmluZGV4KTtcbiAgICAgICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyKG1hdGNoLmluZGV4ICsgbWF0Y2hbMV0ubGVuZ3RoLCBtYXRjaFsyXS5sZW5ndGgpO1xuICAgICAgICAgICAgc3dhcCArPSBzZWxlY3Rvci5zdWJzdHIobWF0Y2guaW5kZXgsIG1hdGNoWzFdLmxlbmd0aCk7XG4gICAgICAgICAgICBsYXN0SW5kZXggPSBtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBzd2FwICs9IHNlbGVjdG9yLnN1YnN0cihsYXN0SW5kZXgpO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHN3YXA7XG4gICAgfTtcblxuICAgIC8vIEZGIGFuZCBvbGRlciBicm93c2VycyBzdG9yZSBydWxlcyB3aXRoIHBzZXVkbyBlbGVtZW50cyB1c2luZyBzaW5nbGUtY29sb24gc3ludGF4XG4gICAgZnVuY3Rpb24gc3dhcFBzZXVkb0VsU3ludGF4KHNlbGVjdG9yKSB7XG4gICAgICAgIGlmIChkb3VibGVDb2xvblBzZXVkb0VsUmVnZXguZXhlYyhzZWxlY3RvcikpIHtcbiAgICAgICAgICAgIHJldHVybiB0b1NpbmdsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZWxlY3RvcjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXRTdHlsZVByb3BlcnRpZXMocnVsZSwgcHJvcGVydGllcykge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gcHJvcGVydGllc1trZXldO1xuICAgICAgICAgICAgdmFyIGltcG9ydGFudEluZGV4ID0gdmFsdWUuaW5kZXhPZignICFpbXBvcnRhbnQnKTtcblxuICAgICAgICAgICAgLy8gTW9kZXJuIGJyb3dzZXJzIHNlZW0gdG8gaGFuZGxlIG92ZXJyaWRlcyBmaW5lLCBidXQgSUU5IGRvZXNuJ3RcbiAgICAgICAgICAgIHJ1bGUuc3R5bGUucmVtb3ZlUHJvcGVydHkoa2V5KTsgXG4gICAgICAgICAgICBpZiAoaW1wb3J0YW50SW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgcnVsZS5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIHZhbHVlLnN1YnN0cigwLCBpbXBvcnRhbnRJbmRleCksICdpbXBvcnRhbnQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcnVsZS5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvQ2FtZWxDYXNlKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLy0oW2Etel0pL2csIGZ1bmN0aW9uIChtYXRjaCwgc3VibWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWJtYXRjaC50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1DYW1lbENhc2VkUHJvcGVydHlOYW1lcyhvbGRQcm9wcykge1xuICAgICAgICB2YXIgbmV3UHJvcHMgPSB7fTtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIG9sZFByb3BzKSB7XG4gICAgICAgICAgICBuZXdQcm9wc1t1bkNhbWVsQ2FzZShrZXkpXSA9IG9sZFByb3BzW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ld1Byb3BzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHVuQ2FtZWxDYXNlKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbQS1aXSkvZywgZnVuY3Rpb24obWF0Y2gsIHN1Ym1hdGNoKSB7XG4gICAgICAgICAgICByZXR1cm4gJy0nICsgc3VibWF0Y2gudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIEpzcyA9IGZ1bmN0aW9uKGRvYykge1xuICAgICAgICB0aGlzLmRvYyA9IGRvYztcbiAgICAgICAgdGhpcy5oZWFkID0gdGhpcy5kb2MuaGVhZCB8fCB0aGlzLmRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICB0aGlzLnNoZWV0cyA9IHRoaXMuZG9jLnN0eWxlU2hlZXRzIHx8IFtdO1xuICAgIH07XG5cbiAgICBKc3MucHJvdG90eXBlID0ge1xuICAgICAgICAvLyBSZXR1cm5zIEpTUyBydWxlcyAoc2VsZWN0b3IgaXMgb3B0aW9uYWwpXG4gICAgICAgIGdldDogZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0U2hlZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWdncmVnYXRlU3R5bGVzKGdldFJ1bGVzKHRoaXMuZGVmYXVsdFNoZWV0LCBzZWxlY3RvcikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHJ1bGVzID0gZ2V0U2VsZWN0b3JzQW5kUnVsZXModGhpcy5kZWZhdWx0U2hlZXQpO1xuICAgICAgICAgICAgZm9yIChzZWxlY3RvciBpbiBydWxlcykge1xuICAgICAgICAgICAgICAgIHJ1bGVzW3NlbGVjdG9yXSA9IGFnZ3JlZ2F0ZVN0eWxlcyhydWxlc1tzZWxlY3Rvcl0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGVzO1xuICAgICAgICB9LFxuICAgICAgICAvLyBSZXR1cm5zIGFsbCBydWxlcyAoc2VsZWN0b3IgaXMgcmVxdWlyZWQpXG4gICAgICAgIGdldEFsbDogZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHZhciBwcm9wZXJ0aWVzID0ge307XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuc2hlZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZXh0ZW5kKHByb3BlcnRpZXMsIGFnZ3JlZ2F0ZVN0eWxlcyhnZXRSdWxlcyh0aGlzLnNoZWV0c1tpXSwgc2VsZWN0b3IpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcHJvcGVydGllcztcbiAgICAgICAgfSxcbiAgICAgICAgLy8gQWRkcyBKU1MgcnVsZXMgZm9yIHRoZSBzZWxlY3RvciBiYXNlZCBvbiB0aGUgZ2l2ZW4gcHJvcGVydGllc1xuICAgICAgICBzZXQ6IGZ1bmN0aW9uKHNlbGVjdG9yLCBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGVmYXVsdFNoZWV0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0U2hlZXQgPSB0aGlzLl9jcmVhdGVTaGVldCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJvcGVydGllcyA9IHRyYW5zZm9ybUNhbWVsQ2FzZWRQcm9wZXJ0eU5hbWVzKHByb3BlcnRpZXMpO1xuICAgICAgICAgICAgdmFyIHJ1bGVzID0gZ2V0UnVsZXModGhpcy5kZWZhdWx0U2hlZXQsIHNlbGVjdG9yKTtcbiAgICAgICAgICAgIGlmICghcnVsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcnVsZXMgPSBbYWRkUnVsZSh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBzZXRTdHlsZVByb3BlcnRpZXMocnVsZXNbaV0sIHByb3BlcnRpZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAvLyBSZW1vdmVzIEpTUyBydWxlcyAoc2VsZWN0b3IgaXMgb3B0aW9uYWwpXG4gICAgICAgIHJlbW92ZTogZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0U2hlZXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZVNoZWV0KHRoaXMuZGVmYXVsdFNoZWV0KTtcbiAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5kZWZhdWx0U2hlZXQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHJ1bGVzID0gZ2V0UnVsZXModGhpcy5kZWZhdWx0U2hlZXQsIHNlbGVjdG9yKTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICByZW1vdmVSdWxlKHJ1bGVzW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBydWxlcy5sZW5ndGg7XG4gICAgICAgIH0sXG4gICAgICAgIF9jcmVhdGVTaGVldDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGVOb2RlID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgIHN0eWxlTm9kZS50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgICAgICB0aGlzLmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVOb2RlKTtcbiAgICAgICAgICAgIHJldHVybiBzdHlsZU5vZGUuc2hlZXQ7XG4gICAgICAgIH0sXG4gICAgICAgIF9yZW1vdmVTaGVldDogZnVuY3Rpb24oc2hlZXQpIHtcbiAgICAgICAgICAgIHZhciBub2RlID0gc2hlZXQub3duZXJOb2RlO1xuICAgICAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHZhciBleHBvcnRzID0gbmV3IEpzcyhkb2N1bWVudCk7XG4gICAgZXhwb3J0cy5mb3JEb2N1bWVudCA9IGZ1bmN0aW9uKGRvYykge1xuICAgICAgICByZXR1cm4gbmV3IEpzcyhkb2MpO1xuICAgIH07XG4gICAgcmV0dXJuIGV4cG9ydHM7XG59KSgpO1xuXG50eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiBtb2R1bGUuZXhwb3J0cyAmJiAobW9kdWxlLmV4cG9ydHMgPSBqc3MpOyAvLyBDb21tb25KUyBzdXBwb3J0IiwidmFyIHJvb3QgPSByZXF1aXJlKCcuL19yb290Jyk7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIFN5bWJvbCA9IHJvb3QuU3ltYm9sO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFN5bWJvbDtcbiIsIi8qKlxuICogQSBmYXN0ZXIgYWx0ZXJuYXRpdmUgdG8gYEZ1bmN0aW9uI2FwcGx5YCwgdGhpcyBmdW5jdGlvbiBpbnZva2VzIGBmdW5jYFxuICogd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgYHRoaXNBcmdgIGFuZCB0aGUgYXJndW1lbnRzIG9mIGBhcmdzYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICogQHBhcmFtIHsqfSB0aGlzQXJnIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gKiBAcGFyYW0ge0FycmF5fSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuXG4gKi9cbmZ1bmN0aW9uIGFwcGx5KGZ1bmMsIHRoaXNBcmcsIGFyZ3MpIHtcbiAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgIGNhc2UgMDogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnKTtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jLmNhbGwodGhpc0FyZywgYXJnc1swXSk7XG4gICAgY2FzZSAyOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgfVxuICByZXR1cm4gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcHBseTtcbiIsInZhciBiYXNlVGltZXMgPSByZXF1aXJlKCcuL19iYXNlVGltZXMnKSxcbiAgICBpc0FyZ3VtZW50cyA9IHJlcXVpcmUoJy4vaXNBcmd1bWVudHMnKSxcbiAgICBpc0FycmF5ID0gcmVxdWlyZSgnLi9pc0FycmF5JyksXG4gICAgaXNCdWZmZXIgPSByZXF1aXJlKCcuL2lzQnVmZmVyJyksXG4gICAgaXNJbmRleCA9IHJlcXVpcmUoJy4vX2lzSW5kZXgnKSxcbiAgICBpc1R5cGVkQXJyYXkgPSByZXF1aXJlKCcuL2lzVHlwZWRBcnJheScpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgdGhlIGFycmF5LWxpa2UgYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGluaGVyaXRlZCBTcGVjaWZ5IHJldHVybmluZyBpbmhlcml0ZWQgcHJvcGVydHkgbmFtZXMuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBhcnJheUxpa2VLZXlzKHZhbHVlLCBpbmhlcml0ZWQpIHtcbiAgdmFyIGlzQXJyID0gaXNBcnJheSh2YWx1ZSksXG4gICAgICBpc0FyZyA9ICFpc0FyciAmJiBpc0FyZ3VtZW50cyh2YWx1ZSksXG4gICAgICBpc0J1ZmYgPSAhaXNBcnIgJiYgIWlzQXJnICYmIGlzQnVmZmVyKHZhbHVlKSxcbiAgICAgIGlzVHlwZSA9ICFpc0FyciAmJiAhaXNBcmcgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkodmFsdWUpLFxuICAgICAgc2tpcEluZGV4ZXMgPSBpc0FyciB8fCBpc0FyZyB8fCBpc0J1ZmYgfHwgaXNUeXBlLFxuICAgICAgcmVzdWx0ID0gc2tpcEluZGV4ZXMgPyBiYXNlVGltZXModmFsdWUubGVuZ3RoLCBTdHJpbmcpIDogW10sXG4gICAgICBsZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuXG4gIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgIGlmICgoaW5oZXJpdGVkIHx8IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIGtleSkpICYmXG4gICAgICAgICEoc2tpcEluZGV4ZXMgJiYgKFxuICAgICAgICAgICAvLyBTYWZhcmkgOSBoYXMgZW51bWVyYWJsZSBgYXJndW1lbnRzLmxlbmd0aGAgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgICAgIGtleSA9PSAnbGVuZ3RoJyB8fFxuICAgICAgICAgICAvLyBOb2RlLmpzIDAuMTAgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gYnVmZmVycy5cbiAgICAgICAgICAgKGlzQnVmZiAmJiAoa2V5ID09ICdvZmZzZXQnIHx8IGtleSA9PSAncGFyZW50JykpIHx8XG4gICAgICAgICAgIC8vIFBoYW50b21KUyAyIGhhcyBlbnVtZXJhYmxlIG5vbi1pbmRleCBwcm9wZXJ0aWVzIG9uIHR5cGVkIGFycmF5cy5cbiAgICAgICAgICAgKGlzVHlwZSAmJiAoa2V5ID09ICdidWZmZXInIHx8IGtleSA9PSAnYnl0ZUxlbmd0aCcgfHwga2V5ID09ICdieXRlT2Zmc2V0JykpIHx8XG4gICAgICAgICAgIC8vIFNraXAgaW5kZXggcHJvcGVydGllcy5cbiAgICAgICAgICAgaXNJbmRleChrZXksIGxlbmd0aClcbiAgICAgICAgKSkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXJyYXlMaWtlS2V5cztcbiIsIi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLm1hcGAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlXG4gKiBzaG9ydGhhbmRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgbWFwcGVkIGFycmF5LlxuICovXG5mdW5jdGlvbiBhcnJheU1hcChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXJyYXlNYXA7XG4iLCJ2YXIgYmFzZUFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYmFzZUFzc2lnblZhbHVlJyksXG4gICAgZXEgPSByZXF1aXJlKCcuL2VxJyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogQXNzaWducyBgdmFsdWVgIHRvIGBrZXlgIG9mIGBvYmplY3RgIGlmIHRoZSBleGlzdGluZyB2YWx1ZSBpcyBub3QgZXF1aXZhbGVudFxuICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgdmFyIG9ialZhbHVlID0gb2JqZWN0W2tleV07XG4gIGlmICghKGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpICYmIGVxKG9ialZhbHVlLCB2YWx1ZSkpIHx8XG4gICAgICAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSkge1xuICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXNzaWduVmFsdWU7XG4iLCJ2YXIgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKCcuL19kZWZpbmVQcm9wZXJ0eScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBhc3NpZ25WYWx1ZWAgYW5kIGBhc3NpZ25NZXJnZVZhbHVlYCB3aXRob3V0XG4gKiB2YWx1ZSBjaGVja3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGFzc2lnbi5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAqL1xuZnVuY3Rpb24gYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5ID09ICdfX3Byb3RvX18nICYmIGRlZmluZVByb3BlcnR5KSB7XG4gICAgZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXksIHtcbiAgICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICAgJ2VudW1lcmFibGUnOiB0cnVlLFxuICAgICAgJ3ZhbHVlJzogdmFsdWUsXG4gICAgICAnd3JpdGFibGUnOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VBc3NpZ25WYWx1ZTtcbiIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKSxcbiAgICBnZXRSYXdUYWcgPSByZXF1aXJlKCcuL19nZXRSYXdUYWcnKSxcbiAgICBvYmplY3RUb1N0cmluZyA9IHJlcXVpcmUoJy4vX29iamVjdFRvU3RyaW5nJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBudWxsVGFnID0gJ1tvYmplY3QgTnVsbF0nLFxuICAgIHVuZGVmaW5lZFRhZyA9ICdbb2JqZWN0IFVuZGVmaW5lZF0nO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBzeW1Ub1N0cmluZ1RhZyA9IFN5bWJvbCA/IFN5bWJvbC50b1N0cmluZ1RhZyA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0VGFnYCB3aXRob3V0IGZhbGxiYWNrcyBmb3IgYnVnZ3kgZW52aXJvbm1lbnRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gKi9cbmZ1bmN0aW9uIGJhc2VHZXRUYWcodmFsdWUpIHtcbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZFRhZyA6IG51bGxUYWc7XG4gIH1cbiAgcmV0dXJuIChzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QodmFsdWUpKVxuICAgID8gZ2V0UmF3VGFnKHZhbHVlKVxuICAgIDogb2JqZWN0VG9TdHJpbmcodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VHZXRUYWc7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgYXJnc1RhZyA9ICdbb2JqZWN0IEFyZ3VtZW50c10nO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzQXJndW1lbnRzYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBgYXJndW1lbnRzYCBvYmplY3QsXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc0FyZ3VtZW50cyh2YWx1ZSkge1xuICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBhcmdzVGFnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VJc0FyZ3VtZW50cztcbiIsInZhciBpc0Z1bmN0aW9uID0gcmVxdWlyZSgnLi9pc0Z1bmN0aW9uJyksXG4gICAgaXNNYXNrZWQgPSByZXF1aXJlKCcuL19pc01hc2tlZCcpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpLFxuICAgIHRvU291cmNlID0gcmVxdWlyZSgnLi9fdG9Tb3VyY2UnKTtcblxuLyoqXG4gKiBVc2VkIHRvIG1hdGNoIGBSZWdFeHBgXG4gKiBbc3ludGF4IGNoYXJhY3RlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXBhdHRlcm5zKS5cbiAqL1xudmFyIHJlUmVnRXhwQ2hhciA9IC9bXFxcXF4kLiorPygpW1xcXXt9fF0vZztcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGhvc3QgY29uc3RydWN0b3JzIChTYWZhcmkpLiAqL1xudmFyIHJlSXNIb3N0Q3RvciA9IC9eXFxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXFxdJC87XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byByZXNvbHZlIHRoZSBkZWNvbXBpbGVkIHNvdXJjZSBvZiBmdW5jdGlvbnMuICovXG52YXIgZnVuY1RvU3RyaW5nID0gZnVuY1Byb3RvLnRvU3RyaW5nO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaWYgYSBtZXRob2QgaXMgbmF0aXZlLiAqL1xudmFyIHJlSXNOYXRpdmUgPSBSZWdFeHAoJ14nICtcbiAgZnVuY1RvU3RyaW5nLmNhbGwoaGFzT3duUHJvcGVydHkpLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFxcXFwoKXwgZm9yIC4rPyg/PVxcXFxcXF0pL2csICckMS4qPycpICsgJyQnXG4pO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTmF0aXZlYCB3aXRob3V0IGJhZCBzaGltIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAqICBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc05hdGl2ZSh2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0KHZhbHVlKSB8fCBpc01hc2tlZCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHBhdHRlcm4gPSBpc0Z1bmN0aW9uKHZhbHVlKSA/IHJlSXNOYXRpdmUgOiByZUlzSG9zdEN0b3I7XG4gIHJldHVybiBwYXR0ZXJuLnRlc3QodG9Tb3VyY2UodmFsdWUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNOYXRpdmU7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc0xlbmd0aCA9IHJlcXVpcmUoJy4vaXNMZW5ndGgnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgYXJnc1RhZyA9ICdbb2JqZWN0IEFyZ3VtZW50c10nLFxuICAgIGFycmF5VGFnID0gJ1tvYmplY3QgQXJyYXldJyxcbiAgICBib29sVGFnID0gJ1tvYmplY3QgQm9vbGVhbl0nLFxuICAgIGRhdGVUYWcgPSAnW29iamVjdCBEYXRlXScsXG4gICAgZXJyb3JUYWcgPSAnW29iamVjdCBFcnJvcl0nLFxuICAgIGZ1bmNUYWcgPSAnW29iamVjdCBGdW5jdGlvbl0nLFxuICAgIG1hcFRhZyA9ICdbb2JqZWN0IE1hcF0nLFxuICAgIG51bWJlclRhZyA9ICdbb2JqZWN0IE51bWJlcl0nLFxuICAgIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nLFxuICAgIHJlZ2V4cFRhZyA9ICdbb2JqZWN0IFJlZ0V4cF0nLFxuICAgIHNldFRhZyA9ICdbb2JqZWN0IFNldF0nLFxuICAgIHN0cmluZ1RhZyA9ICdbb2JqZWN0IFN0cmluZ10nLFxuICAgIHdlYWtNYXBUYWcgPSAnW29iamVjdCBXZWFrTWFwXSc7XG5cbnZhciBhcnJheUJ1ZmZlclRhZyA9ICdbb2JqZWN0IEFycmF5QnVmZmVyXScsXG4gICAgZGF0YVZpZXdUYWcgPSAnW29iamVjdCBEYXRhVmlld10nLFxuICAgIGZsb2F0MzJUYWcgPSAnW29iamVjdCBGbG9hdDMyQXJyYXldJyxcbiAgICBmbG9hdDY0VGFnID0gJ1tvYmplY3QgRmxvYXQ2NEFycmF5XScsXG4gICAgaW50OFRhZyA9ICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgIGludDE2VGFnID0gJ1tvYmplY3QgSW50MTZBcnJheV0nLFxuICAgIGludDMyVGFnID0gJ1tvYmplY3QgSW50MzJBcnJheV0nLFxuICAgIHVpbnQ4VGFnID0gJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgIHVpbnQ4Q2xhbXBlZFRhZyA9ICdbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XScsXG4gICAgdWludDE2VGFnID0gJ1tvYmplY3QgVWludDE2QXJyYXldJyxcbiAgICB1aW50MzJUYWcgPSAnW29iamVjdCBVaW50MzJBcnJheV0nO1xuXG4vKiogVXNlZCB0byBpZGVudGlmeSBgdG9TdHJpbmdUYWdgIHZhbHVlcyBvZiB0eXBlZCBhcnJheXMuICovXG52YXIgdHlwZWRBcnJheVRhZ3MgPSB7fTtcbnR5cGVkQXJyYXlUYWdzW2Zsb2F0MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbZmxvYXQ2NFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbaW50OFRhZ10gPSB0eXBlZEFycmF5VGFnc1tpbnQxNlRhZ10gPVxudHlwZWRBcnJheVRhZ3NbaW50MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbdWludDhUYWddID1cbnR5cGVkQXJyYXlUYWdzW3VpbnQ4Q2xhbXBlZFRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50MTZUYWddID1cbnR5cGVkQXJyYXlUYWdzW3VpbnQzMlRhZ10gPSB0cnVlO1xudHlwZWRBcnJheVRhZ3NbYXJnc1RhZ10gPSB0eXBlZEFycmF5VGFnc1thcnJheVRhZ10gPVxudHlwZWRBcnJheVRhZ3NbYXJyYXlCdWZmZXJUYWddID0gdHlwZWRBcnJheVRhZ3NbYm9vbFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbZGF0YVZpZXdUYWddID0gdHlwZWRBcnJheVRhZ3NbZGF0ZVRhZ10gPVxudHlwZWRBcnJheVRhZ3NbZXJyb3JUYWddID0gdHlwZWRBcnJheVRhZ3NbZnVuY1RhZ10gPVxudHlwZWRBcnJheVRhZ3NbbWFwVGFnXSA9IHR5cGVkQXJyYXlUYWdzW251bWJlclRhZ10gPVxudHlwZWRBcnJheVRhZ3Nbb2JqZWN0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3JlZ2V4cFRhZ10gPVxudHlwZWRBcnJheVRhZ3Nbc2V0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3N0cmluZ1RhZ10gPVxudHlwZWRBcnJheVRhZ3Nbd2Vha01hcFRhZ10gPSBmYWxzZTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1R5cGVkQXJyYXlgIHdpdGhvdXQgTm9kZS5qcyBvcHRpbWl6YXRpb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdHlwZWQgYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUlzVHlwZWRBcnJheSh2YWx1ZSkge1xuICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJlxuICAgIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgISF0eXBlZEFycmF5VGFnc1tiYXNlR2V0VGFnKHZhbHVlKV07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUlzVHlwZWRBcnJheTtcbiIsInZhciBpc1Byb3RvdHlwZSA9IHJlcXVpcmUoJy4vX2lzUHJvdG90eXBlJyksXG4gICAgbmF0aXZlS2V5cyA9IHJlcXVpcmUoJy4vX25hdGl2ZUtleXMnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5rZXlzYCB3aGljaCBkb2Vzbid0IHRyZWF0IHNwYXJzZSBhcnJheXMgYXMgZGVuc2UuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGJhc2VLZXlzKG9iamVjdCkge1xuICBpZiAoIWlzUHJvdG90eXBlKG9iamVjdCkpIHtcbiAgICByZXR1cm4gbmF0aXZlS2V5cyhvYmplY3QpO1xuICB9XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpICYmIGtleSAhPSAnY29uc3RydWN0b3InKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VLZXlzO1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpLFxuICAgIGlzUHJvdG90eXBlID0gcmVxdWlyZSgnLi9faXNQcm90b3R5cGUnKSxcbiAgICBuYXRpdmVLZXlzSW4gPSByZXF1aXJlKCcuL19uYXRpdmVLZXlzSW4nKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5rZXlzSW5gIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gYmFzZUtleXNJbihvYmplY3QpIHtcbiAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgcmV0dXJuIG5hdGl2ZUtleXNJbihvYmplY3QpO1xuICB9XG4gIHZhciBpc1Byb3RvID0gaXNQcm90b3R5cGUob2JqZWN0KSxcbiAgICAgIHJlc3VsdCA9IFtdO1xuXG4gIGZvciAodmFyIGtleSBpbiBvYmplY3QpIHtcbiAgICBpZiAoIShrZXkgPT0gJ2NvbnN0cnVjdG9yJyAmJiAoaXNQcm90byB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlS2V5c0luO1xuIiwiLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5wcm9wZXJ0eU9mYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBiYXNlUHJvcGVydHlPZihvYmplY3QpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGtleSkge1xuICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VQcm9wZXJ0eU9mO1xuIiwidmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9pZGVudGl0eScpLFxuICAgIG92ZXJSZXN0ID0gcmVxdWlyZSgnLi9fb3ZlclJlc3QnKSxcbiAgICBzZXRUb1N0cmluZyA9IHJlcXVpcmUoJy4vX3NldFRvU3RyaW5nJyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucmVzdGAgd2hpY2ggZG9lc24ndCB2YWxpZGF0ZSBvciBjb2VyY2UgYXJndW1lbnRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VSZXN0KGZ1bmMsIHN0YXJ0KSB7XG4gIHJldHVybiBzZXRUb1N0cmluZyhvdmVyUmVzdChmdW5jLCBzdGFydCwgaWRlbnRpdHkpLCBmdW5jICsgJycpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VSZXN0O1xuIiwidmFyIGNvbnN0YW50ID0gcmVxdWlyZSgnLi9jb25zdGFudCcpLFxuICAgIGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fZGVmaW5lUHJvcGVydHknKSxcbiAgICBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHknKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgc2V0VG9TdHJpbmdgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaG90IGxvb3Agc2hvcnRpbmcuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICovXG52YXIgYmFzZVNldFRvU3RyaW5nID0gIWRlZmluZVByb3BlcnR5ID8gaWRlbnRpdHkgOiBmdW5jdGlvbihmdW5jLCBzdHJpbmcpIHtcbiAgcmV0dXJuIGRlZmluZVByb3BlcnR5KGZ1bmMsICd0b1N0cmluZycsIHtcbiAgICAnY29uZmlndXJhYmxlJzogdHJ1ZSxcbiAgICAnZW51bWVyYWJsZSc6IGZhbHNlLFxuICAgICd2YWx1ZSc6IGNvbnN0YW50KHN0cmluZyksXG4gICAgJ3dyaXRhYmxlJzogdHJ1ZVxuICB9KTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVNldFRvU3RyaW5nO1xuIiwiLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50aW1lc2Agd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzXG4gKiBvciBtYXggYXJyYXkgbGVuZ3RoIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiB0aW1lcyB0byBpbnZva2UgYGl0ZXJhdGVlYC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gKi9cbmZ1bmN0aW9uIGJhc2VUaW1lcyhuLCBpdGVyYXRlZSkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIHJlc3VsdCA9IEFycmF5KG4pO1xuXG4gIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShpbmRleCk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVGltZXM7XG4iLCJ2YXIgU3ltYm9sID0gcmVxdWlyZSgnLi9fU3ltYm9sJyksXG4gICAgYXJyYXlNYXAgPSByZXF1aXJlKCcuL19hcnJheU1hcCcpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc1N5bWJvbCA9IHJlcXVpcmUoJy4vaXNTeW1ib2wnKTtcblxuLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgSU5GSU5JVFkgPSAxIC8gMDtcblxuLyoqIFVzZWQgdG8gY29udmVydCBzeW1ib2xzIHRvIHByaW1pdGl2ZXMgYW5kIHN0cmluZ3MuICovXG52YXIgc3ltYm9sUHJvdG8gPSBTeW1ib2wgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuICAgIHN5bWJvbFRvU3RyaW5nID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by50b1N0cmluZyA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b1N0cmluZ2Agd2hpY2ggZG9lc24ndCBjb252ZXJ0IG51bGxpc2hcbiAqIHZhbHVlcyB0byBlbXB0eSBzdHJpbmdzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gRXhpdCBlYXJseSBmb3Igc3RyaW5ncyB0byBhdm9pZCBhIHBlcmZvcm1hbmNlIGhpdCBpbiBzb21lIGVudmlyb25tZW50cy5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAvLyBSZWN1cnNpdmVseSBjb252ZXJ0IHZhbHVlcyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgIHJldHVybiBhcnJheU1hcCh2YWx1ZSwgYmFzZVRvU3RyaW5nKSArICcnO1xuICB9XG4gIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gc3ltYm9sVG9TdHJpbmcgPyBzeW1ib2xUb1N0cmluZy5jYWxsKHZhbHVlKSA6ICcnO1xuICB9XG4gIHZhciByZXN1bHQgPSAodmFsdWUgKyAnJyk7XG4gIHJldHVybiAocmVzdWx0ID09ICcwJyAmJiAoMSAvIHZhbHVlKSA9PSAtSU5GSU5JVFkpID8gJy0wJyA6IHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVG9TdHJpbmc7XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVuYXJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIHN0b3JpbmcgbWV0YWRhdGEuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBiYXNlVW5hcnkoZnVuYykge1xuICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gZnVuYyh2YWx1ZSk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVVuYXJ5O1xuIiwidmFyIGFycmF5TWFwID0gcmVxdWlyZSgnLi9fYXJyYXlNYXAnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy52YWx1ZXNgIGFuZCBgXy52YWx1ZXNJbmAgd2hpY2ggY3JlYXRlcyBhblxuICogYXJyYXkgb2YgYG9iamVjdGAgcHJvcGVydHkgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb3BlcnR5IG5hbWVzXG4gKiBvZiBgcHJvcHNgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgbmFtZXMgdG8gZ2V0IHZhbHVlcyBmb3IuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGJhc2VWYWx1ZXMob2JqZWN0LCBwcm9wcykge1xuICByZXR1cm4gYXJyYXlNYXAocHJvcHMsIGZ1bmN0aW9uKGtleSkge1xuICAgIHJldHVybiBvYmplY3Rba2V5XTtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVZhbHVlcztcbiIsInZhciBhc3NpZ25WYWx1ZSA9IHJlcXVpcmUoJy4vX2Fzc2lnblZhbHVlJyksXG4gICAgYmFzZUFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYmFzZUFzc2lnblZhbHVlJyk7XG5cbi8qKlxuICogQ29waWVzIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbS5cbiAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBpZGVudGlmaWVycyB0byBjb3B5LlxuICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3Q9e31dIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29waWVkIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gKi9cbmZ1bmN0aW9uIGNvcHlPYmplY3Qoc291cmNlLCBwcm9wcywgb2JqZWN0LCBjdXN0b21pemVyKSB7XG4gIHZhciBpc05ldyA9ICFvYmplY3Q7XG4gIG9iamVjdCB8fCAob2JqZWN0ID0ge30pO1xuXG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGtleSA9IHByb3BzW2luZGV4XTtcblxuICAgIHZhciBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXJcbiAgICAgID8gY3VzdG9taXplcihvYmplY3Rba2V5XSwgc291cmNlW2tleV0sIGtleSwgb2JqZWN0LCBzb3VyY2UpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXdWYWx1ZSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgICBpZiAoaXNOZXcpIHtcbiAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb2JqZWN0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvcHlPYmplY3Q7XG4iLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG92ZXJyZWFjaGluZyBjb3JlLWpzIHNoaW1zLiAqL1xudmFyIGNvcmVKc0RhdGEgPSByb290WydfX2NvcmUtanNfc2hhcmVkX18nXTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb3JlSnNEYXRhO1xuIiwidmFyIGJhc2VSZXN0ID0gcmVxdWlyZSgnLi9fYmFzZVJlc3QnKSxcbiAgICBpc0l0ZXJhdGVlQ2FsbCA9IHJlcXVpcmUoJy4vX2lzSXRlcmF0ZWVDYWxsJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uYXNzaWduYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gYXNzaWduZXIgVGhlIGZ1bmN0aW9uIHRvIGFzc2lnbiB2YWx1ZXMuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhc3NpZ25lciBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQXNzaWduZXIoYXNzaWduZXIpIHtcbiAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCwgc291cmNlcykge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBzb3VyY2VzLmxlbmd0aCxcbiAgICAgICAgY3VzdG9taXplciA9IGxlbmd0aCA+IDEgPyBzb3VyY2VzW2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkLFxuICAgICAgICBndWFyZCA9IGxlbmd0aCA+IDIgPyBzb3VyY2VzWzJdIDogdW5kZWZpbmVkO1xuXG4gICAgY3VzdG9taXplciA9IChhc3NpZ25lci5sZW5ndGggPiAzICYmIHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicpXG4gICAgICA/IChsZW5ndGgtLSwgY3VzdG9taXplcilcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHNvdXJjZXNbMF0sIHNvdXJjZXNbMV0sIGd1YXJkKSkge1xuICAgICAgY3VzdG9taXplciA9IGxlbmd0aCA8IDMgPyB1bmRlZmluZWQgOiBjdXN0b21pemVyO1xuICAgICAgbGVuZ3RoID0gMTtcbiAgICB9XG4gICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciBzb3VyY2UgPSBzb3VyY2VzW2luZGV4XTtcbiAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgYXNzaWduZXIob2JqZWN0LCBzb3VyY2UsIGluZGV4LCBjdXN0b21pemVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQXNzaWduZXI7XG4iLCJ2YXIgZXEgPSByZXF1aXJlKCcuL2VxJyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogVXNlZCBieSBgXy5kZWZhdWx0c2AgdG8gY3VzdG9taXplIGl0cyBgXy5hc3NpZ25JbmAgdXNlIHRvIGFzc2lnbiBwcm9wZXJ0aWVzXG4gKiBvZiBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgZGVzdGluYXRpb24gb2JqZWN0IGZvciBhbGwgZGVzdGluYXRpb24gcHJvcGVydGllc1xuICogdGhhdCByZXNvbHZlIHRvIGB1bmRlZmluZWRgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IG9ialZhbHVlIFRoZSBkZXN0aW5hdGlvbiB2YWx1ZS5cbiAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHNvdXJjZSB2YWx1ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgcGFyZW50IG9iamVjdCBvZiBgb2JqVmFsdWVgLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAqL1xuZnVuY3Rpb24gY3VzdG9tRGVmYXVsdHNBc3NpZ25JbihvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0KSB7XG4gIGlmIChvYmpWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAoZXEob2JqVmFsdWUsIG9iamVjdFByb3RvW2tleV0pICYmICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpIHtcbiAgICByZXR1cm4gc3JjVmFsdWU7XG4gIH1cbiAgcmV0dXJuIG9ialZhbHVlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGN1c3RvbURlZmF1bHRzQXNzaWduSW47XG4iLCJ2YXIgZ2V0TmF0aXZlID0gcmVxdWlyZSgnLi9fZ2V0TmF0aXZlJyk7XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IChmdW5jdGlvbigpIHtcbiAgdHJ5IHtcbiAgICB2YXIgZnVuYyA9IGdldE5hdGl2ZShPYmplY3QsICdkZWZpbmVQcm9wZXJ0eScpO1xuICAgIGZ1bmMoe30sICcnLCB7fSk7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH0gY2F0Y2ggKGUpIHt9XG59KCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlZmluZVByb3BlcnR5O1xuIiwidmFyIGJhc2VQcm9wZXJ0eU9mID0gcmVxdWlyZSgnLi9fYmFzZVByb3BlcnR5T2YnKTtcblxuLyoqIFVzZWQgdG8gbWFwIGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcy4gKi9cbnZhciBodG1sRXNjYXBlcyA9IHtcbiAgJyYnOiAnJmFtcDsnLFxuICAnPCc6ICcmbHQ7JyxcbiAgJz4nOiAnJmd0OycsXG4gICdcIic6ICcmcXVvdDsnLFxuICBcIidcIjogJyYjMzk7J1xufTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLmVzY2FwZWAgdG8gY29udmVydCBjaGFyYWN0ZXJzIHRvIEhUTUwgZW50aXRpZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIGVzY2FwZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVzY2FwZWQgY2hhcmFjdGVyLlxuICovXG52YXIgZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sRXNjYXBlcyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZXNjYXBlSHRtbENoYXI7XG4iLCIvKiogVXNlZCB0byBlc2NhcGUgY2hhcmFjdGVycyBmb3IgaW5jbHVzaW9uIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy4gKi9cbnZhciBzdHJpbmdFc2NhcGVzID0ge1xuICAnXFxcXCc6ICdcXFxcJyxcbiAgXCInXCI6IFwiJ1wiLFxuICAnXFxuJzogJ24nLFxuICAnXFxyJzogJ3InLFxuICAnXFx1MjAyOCc6ICd1MjAyOCcsXG4gICdcXHUyMDI5JzogJ3UyMDI5J1xufTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLnRlbXBsYXRlYCB0byBlc2NhcGUgY2hhcmFjdGVycyBmb3IgaW5jbHVzaW9uIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IGNociBUaGUgbWF0Y2hlZCBjaGFyYWN0ZXIgdG8gZXNjYXBlLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVN0cmluZ0NoYXIoY2hyKSB7XG4gIHJldHVybiAnXFxcXCcgKyBzdHJpbmdFc2NhcGVzW2Nocl07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXNjYXBlU3RyaW5nQ2hhcjtcbiIsIi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZ2xvYmFsYCBmcm9tIE5vZGUuanMuICovXG52YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbm1vZHVsZS5leHBvcnRzID0gZnJlZUdsb2JhbDtcbiIsInZhciBiYXNlSXNOYXRpdmUgPSByZXF1aXJlKCcuL19iYXNlSXNOYXRpdmUnKSxcbiAgICBnZXRWYWx1ZSA9IHJlcXVpcmUoJy4vX2dldFZhbHVlJyk7XG5cbi8qKlxuICogR2V0cyB0aGUgbmF0aXZlIGZ1bmN0aW9uIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIG1ldGhvZCB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZnVuY3Rpb24gaWYgaXQncyBuYXRpdmUsIGVsc2UgYHVuZGVmaW5lZGAuXG4gKi9cbmZ1bmN0aW9uIGdldE5hdGl2ZShvYmplY3QsIGtleSkge1xuICB2YXIgdmFsdWUgPSBnZXRWYWx1ZShvYmplY3QsIGtleSk7XG4gIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0TmF0aXZlO1xuIiwidmFyIG92ZXJBcmcgPSByZXF1aXJlKCcuL19vdmVyQXJnJyk7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIGdldFByb3RvdHlwZSA9IG92ZXJBcmcoT2JqZWN0LmdldFByb3RvdHlwZU9mLCBPYmplY3QpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFByb3RvdHlwZTtcbiIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHN5bVRvU3RyaW5nVGFnID0gU3ltYm9sID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUdldFRhZ2Agd2hpY2ggaWdub3JlcyBgU3ltYm9sLnRvU3RyaW5nVGFnYCB2YWx1ZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmF3IGB0b1N0cmluZ1RhZ2AuXG4gKi9cbmZ1bmN0aW9uIGdldFJhd1RhZyh2YWx1ZSkge1xuICB2YXIgaXNPd24gPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBzeW1Ub1N0cmluZ1RhZyksXG4gICAgICB0YWcgPSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG5cbiAgdHJ5IHtcbiAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB1bmRlZmluZWQ7XG4gICAgdmFyIHVubWFza2VkID0gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge31cblxuICB2YXIgcmVzdWx0ID0gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gIGlmICh1bm1hc2tlZCkge1xuICAgIGlmIChpc093bikge1xuICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdGFnO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdmFsdWVbc3ltVG9TdHJpbmdUYWddO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFJhd1RhZztcbiIsIi8qKlxuICogR2V0cyB0aGUgdmFsdWUgYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcHJvcGVydHkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFZhbHVlO1xuIiwiLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgTUFYX1NBRkVfSU5URUdFUiA9IDkwMDcxOTkyNTQ3NDA5OTE7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4gKi9cbnZhciByZUlzVWludCA9IC9eKD86MHxbMS05XVxcZCopJC87XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBhcnJheS1saWtlIGluZGV4LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPU1BWF9TQUZFX0lOVEVHRVJdIFRoZSB1cHBlciBib3VuZHMgb2YgYSB2YWxpZCBpbmRleC5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgaW5kZXgsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNJbmRleCh2YWx1ZSwgbGVuZ3RoKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICBsZW5ndGggPSBsZW5ndGggPT0gbnVsbCA/IE1BWF9TQUZFX0lOVEVHRVIgOiBsZW5ndGg7XG5cbiAgcmV0dXJuICEhbGVuZ3RoICYmXG4gICAgKHR5cGUgPT0gJ251bWJlcicgfHxcbiAgICAgICh0eXBlICE9ICdzeW1ib2wnICYmIHJlSXNVaW50LnRlc3QodmFsdWUpKSkgJiZcbiAgICAgICAgKHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPCBsZW5ndGgpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzSW5kZXg7XG4iLCJ2YXIgZXEgPSByZXF1aXJlKCcuL2VxJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyksXG4gICAgaXNJbmRleCA9IHJlcXVpcmUoJy4vX2lzSW5kZXgnKSxcbiAgICBpc09iamVjdCA9IHJlcXVpcmUoJy4vaXNPYmplY3QnKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGFyZ3VtZW50cyBhcmUgZnJvbSBhbiBpdGVyYXRlZSBjYWxsLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgdmFsdWUgYXJndW1lbnQuXG4gKiBAcGFyYW0geyp9IGluZGV4IFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgaW5kZXggb3Iga2V5IGFyZ3VtZW50LlxuICogQHBhcmFtIHsqfSBvYmplY3QgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBvYmplY3QgYXJndW1lbnQuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFyZ3VtZW50cyBhcmUgZnJvbSBhbiBpdGVyYXRlZSBjYWxsLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNJdGVyYXRlZUNhbGwodmFsdWUsIGluZGV4LCBvYmplY3QpIHtcbiAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB0eXBlID0gdHlwZW9mIGluZGV4O1xuICBpZiAodHlwZSA9PSAnbnVtYmVyJ1xuICAgICAgICA/IChpc0FycmF5TGlrZShvYmplY3QpICYmIGlzSW5kZXgoaW5kZXgsIG9iamVjdC5sZW5ndGgpKVxuICAgICAgICA6ICh0eXBlID09ICdzdHJpbmcnICYmIGluZGV4IGluIG9iamVjdClcbiAgICAgICkge1xuICAgIHJldHVybiBlcShvYmplY3RbaW5kZXhdLCB2YWx1ZSk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzSXRlcmF0ZWVDYWxsO1xuIiwidmFyIGNvcmVKc0RhdGEgPSByZXF1aXJlKCcuL19jb3JlSnNEYXRhJyk7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBtZXRob2RzIG1hc3F1ZXJhZGluZyBhcyBuYXRpdmUuICovXG52YXIgbWFza1NyY0tleSA9IChmdW5jdGlvbigpIHtcbiAgdmFyIHVpZCA9IC9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSAmJiBjb3JlSnNEYXRhLmtleXMgJiYgY29yZUpzRGF0YS5rZXlzLklFX1BST1RPIHx8ICcnKTtcbiAgcmV0dXJuIHVpZCA/ICgnU3ltYm9sKHNyYylfMS4nICsgdWlkKSA6ICcnO1xufSgpKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYGZ1bmNgIGhhcyBpdHMgc291cmNlIG1hc2tlZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGlzIG1hc2tlZCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc01hc2tlZChmdW5jKSB7XG4gIHJldHVybiAhIW1hc2tTcmNLZXkgJiYgKG1hc2tTcmNLZXkgaW4gZnVuYyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNNYXNrZWQ7XG4iLCIvKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhIHByb3RvdHlwZSBvYmplY3QuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwcm90b3R5cGUsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNQcm90b3R5cGUodmFsdWUpIHtcbiAgdmFyIEN0b3IgPSB2YWx1ZSAmJiB2YWx1ZS5jb25zdHJ1Y3RvcixcbiAgICAgIHByb3RvID0gKHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3Rvci5wcm90b3R5cGUpIHx8IG9iamVjdFByb3RvO1xuXG4gIHJldHVybiB2YWx1ZSA9PT0gcHJvdG87XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNQcm90b3R5cGU7XG4iLCJ2YXIgb3ZlckFyZyA9IHJlcXVpcmUoJy4vX292ZXJBcmcnKTtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZUtleXMgPSBvdmVyQXJnKE9iamVjdC5rZXlzLCBPYmplY3QpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG5hdGl2ZUtleXM7XG4iLCIvKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZVxuICogW2BPYmplY3Qua2V5c2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5rZXlzKVxuICogZXhjZXB0IHRoYXQgaXQgaW5jbHVkZXMgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gbmF0aXZlS2V5c0luKG9iamVjdCkge1xuICB2YXIgcmVzdWx0ID0gW107XG4gIGlmIChvYmplY3QgIT0gbnVsbCkge1xuICAgIGZvciAodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBuYXRpdmVLZXlzSW47XG4iLCJ2YXIgZnJlZUdsb2JhbCA9IHJlcXVpcmUoJy4vX2ZyZWVHbG9iYWwnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBleHBvcnRzYC4gKi9cbnZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBtb2R1bGVgLiAqL1xudmFyIGZyZWVNb2R1bGUgPSBmcmVlRXhwb3J0cyAmJiB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZSAmJiAhbW9kdWxlLm5vZGVUeXBlICYmIG1vZHVsZTtcblxuLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbnZhciBtb2R1bGVFeHBvcnRzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLmV4cG9ydHMgPT09IGZyZWVFeHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYHByb2Nlc3NgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlUHJvY2VzcyA9IG1vZHVsZUV4cG9ydHMgJiYgZnJlZUdsb2JhbC5wcm9jZXNzO1xuXG4vKiogVXNlZCB0byBhY2Nlc3MgZmFzdGVyIE5vZGUuanMgaGVscGVycy4gKi9cbnZhciBub2RlVXRpbCA9IChmdW5jdGlvbigpIHtcbiAgdHJ5IHtcbiAgICAvLyBVc2UgYHV0aWwudHlwZXNgIGZvciBOb2RlLmpzIDEwKy5cbiAgICB2YXIgdHlwZXMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUucmVxdWlyZSAmJiBmcmVlTW9kdWxlLnJlcXVpcmUoJ3V0aWwnKS50eXBlcztcblxuICAgIGlmICh0eXBlcykge1xuICAgICAgcmV0dXJuIHR5cGVzO1xuICAgIH1cblxuICAgIC8vIExlZ2FjeSBgcHJvY2Vzcy5iaW5kaW5nKCd1dGlsJylgIGZvciBOb2RlLmpzIDwgMTAuXG4gICAgcmV0dXJuIGZyZWVQcm9jZXNzICYmIGZyZWVQcm9jZXNzLmJpbmRpbmcgJiYgZnJlZVByb2Nlc3MuYmluZGluZygndXRpbCcpO1xuICB9IGNhdGNoIChlKSB7fVxufSgpKTtcblxubW9kdWxlLmV4cG9ydHMgPSBub2RlVXRpbDtcbiIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogVXNlZCB0byByZXNvbHZlIHRoZVxuICogW2B0b1N0cmluZ1RhZ2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmcpXG4gKiBvZiB2YWx1ZXMuXG4gKi9cbnZhciBuYXRpdmVPYmplY3RUb1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuXG4vKipcbiAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcgdXNpbmcgYE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG9iamVjdFRvU3RyaW5nO1xuIiwiLyoqXG4gKiBDcmVhdGVzIGEgdW5hcnkgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGl0cyBhcmd1bWVudCB0cmFuc2Zvcm1lZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgYXJndW1lbnQgdHJhbnNmb3JtLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIG92ZXJBcmcoZnVuYywgdHJhbnNmb3JtKSB7XG4gIHJldHVybiBmdW5jdGlvbihhcmcpIHtcbiAgICByZXR1cm4gZnVuYyh0cmFuc2Zvcm0oYXJnKSk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gb3ZlckFyZztcbiIsInZhciBhcHBseSA9IHJlcXVpcmUoJy4vX2FwcGx5Jyk7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVNYXggPSBNYXRoLm1heDtcblxuLyoqXG4gKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VSZXN0YCB3aGljaCB0cmFuc2Zvcm1zIHRoZSByZXN0IGFycmF5LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSByZXN0IGFycmF5IHRyYW5zZm9ybS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBvdmVyUmVzdChmdW5jLCBzdGFydCwgdHJhbnNmb3JtKSB7XG4gIHN0YXJ0ID0gbmF0aXZlTWF4KHN0YXJ0ID09PSB1bmRlZmluZWQgPyAoZnVuYy5sZW5ndGggLSAxKSA6IHN0YXJ0LCAwKTtcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIHZhciBhcmdzID0gYXJndW1lbnRzLFxuICAgICAgICBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBuYXRpdmVNYXgoYXJncy5sZW5ndGggLSBzdGFydCwgMCksXG4gICAgICAgIGFycmF5ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBhcnJheVtpbmRleF0gPSBhcmdzW3N0YXJ0ICsgaW5kZXhdO1xuICAgIH1cbiAgICBpbmRleCA9IC0xO1xuICAgIHZhciBvdGhlckFyZ3MgPSBBcnJheShzdGFydCArIDEpO1xuICAgIHdoaWxlICgrK2luZGV4IDwgc3RhcnQpIHtcbiAgICAgIG90aGVyQXJnc1tpbmRleF0gPSBhcmdzW2luZGV4XTtcbiAgICB9XG4gICAgb3RoZXJBcmdzW3N0YXJ0XSA9IHRyYW5zZm9ybShhcnJheSk7XG4gICAgcmV0dXJuIGFwcGx5KGZ1bmMsIHRoaXMsIG90aGVyQXJncyk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gb3ZlclJlc3Q7XG4iLCIvKiogVXNlZCB0byBtYXRjaCB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlRXNjYXBlID0gLzwlLShbXFxzXFxTXSs/KSU+L2c7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVFc2NhcGU7XG4iLCIvKiogVXNlZCB0byBtYXRjaCB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlRXZhbHVhdGUgPSAvPCUoW1xcc1xcU10rPyklPi9nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlRXZhbHVhdGU7XG4iLCIvKiogVXNlZCB0byBtYXRjaCB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlSW50ZXJwb2xhdGUgPSAvPCU9KFtcXHNcXFNdKz8pJT4vZztcblxubW9kdWxlLmV4cG9ydHMgPSByZUludGVycG9sYXRlO1xuIiwidmFyIGZyZWVHbG9iYWwgPSByZXF1aXJlKCcuL19mcmVlR2xvYmFsJyk7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgc2VsZmAuICovXG52YXIgZnJlZVNlbGYgPSB0eXBlb2Ygc2VsZiA9PSAnb2JqZWN0JyAmJiBzZWxmICYmIHNlbGYuT2JqZWN0ID09PSBPYmplY3QgJiYgc2VsZjtcblxuLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG52YXIgcm9vdCA9IGZyZWVHbG9iYWwgfHwgZnJlZVNlbGYgfHwgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblxubW9kdWxlLmV4cG9ydHMgPSByb290O1xuIiwidmFyIGJhc2VTZXRUb1N0cmluZyA9IHJlcXVpcmUoJy4vX2Jhc2VTZXRUb1N0cmluZycpLFxuICAgIHNob3J0T3V0ID0gcmVxdWlyZSgnLi9fc2hvcnRPdXQnKTtcblxuLyoqXG4gKiBTZXRzIHRoZSBgdG9TdHJpbmdgIG1ldGhvZCBvZiBgZnVuY2AgdG8gcmV0dXJuIGBzdHJpbmdgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBzdHJpbmcgVGhlIGB0b1N0cmluZ2AgcmVzdWx0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAqL1xudmFyIHNldFRvU3RyaW5nID0gc2hvcnRPdXQoYmFzZVNldFRvU3RyaW5nKTtcblxubW9kdWxlLmV4cG9ydHMgPSBzZXRUb1N0cmluZztcbiIsIi8qKiBVc2VkIHRvIGRldGVjdCBob3QgZnVuY3Rpb25zIGJ5IG51bWJlciBvZiBjYWxscyB3aXRoaW4gYSBzcGFuIG9mIG1pbGxpc2Vjb25kcy4gKi9cbnZhciBIT1RfQ09VTlQgPSA4MDAsXG4gICAgSE9UX1NQQU4gPSAxNjtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZU5vdyA9IERhdGUubm93O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0J2xsIHNob3J0IG91dCBhbmQgaW52b2tlIGBpZGVudGl0eWAgaW5zdGVhZFxuICogb2YgYGZ1bmNgIHdoZW4gaXQncyBjYWxsZWQgYEhPVF9DT1VOVGAgb3IgbW9yZSB0aW1lcyBpbiBgSE9UX1NQQU5gXG4gKiBtaWxsaXNlY29uZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlc3RyaWN0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc2hvcnRhYmxlIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBzaG9ydE91dChmdW5jKSB7XG4gIHZhciBjb3VudCA9IDAsXG4gICAgICBsYXN0Q2FsbGVkID0gMDtcblxuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHN0YW1wID0gbmF0aXZlTm93KCksXG4gICAgICAgIHJlbWFpbmluZyA9IEhPVF9TUEFOIC0gKHN0YW1wIC0gbGFzdENhbGxlZCk7XG5cbiAgICBsYXN0Q2FsbGVkID0gc3RhbXA7XG4gICAgaWYgKHJlbWFpbmluZyA+IDApIHtcbiAgICAgIGlmICgrK2NvdW50ID49IEhPVF9DT1VOVCkge1xuICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb3VudCA9IDA7XG4gICAgfVxuICAgIHJldHVybiBmdW5jLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzaG9ydE91dDtcbiIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKlxuICogQ29udmVydHMgYGZ1bmNgIHRvIGl0cyBzb3VyY2UgY29kZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5mdW5jdGlvbiB0b1NvdXJjZShmdW5jKSB7XG4gIGlmIChmdW5jICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoZnVuYyArICcnKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG4gIHJldHVybiAnJztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0b1NvdXJjZTtcbiIsInZhciBjb3B5T2JqZWN0ID0gcmVxdWlyZSgnLi9fY29weU9iamVjdCcpLFxuICAgIGNyZWF0ZUFzc2lnbmVyID0gcmVxdWlyZSgnLi9fY3JlYXRlQXNzaWduZXInKSxcbiAgICBrZXlzSW4gPSByZXF1aXJlKCcuL2tleXNJbicpO1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uYXNzaWduSW5gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgXG4gKiB3aGljaCBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIGFzc2lnbmVkIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnNcbiAqIGB1bmRlZmluZWRgLCBhc3NpZ25tZW50IGlzIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgXG4gKiBpcyBpbnZva2VkIHdpdGggZml2ZSBhcmd1bWVudHM6IChvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UpLlxuICpcbiAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBhbGlhcyBleHRlbmRXaXRoXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gKiBAcGFyYW0gey4uLk9iamVjdH0gc291cmNlcyBUaGUgc291cmNlIG9iamVjdHMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICogQHNlZSBfLmFzc2lnbldpdGhcbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAqICAgcmV0dXJuIF8uaXNVbmRlZmluZWQob2JqVmFsdWUpID8gc3JjVmFsdWUgOiBvYmpWYWx1ZTtcbiAqIH1cbiAqXG4gKiB2YXIgZGVmYXVsdHMgPSBfLnBhcnRpYWxSaWdodChfLmFzc2lnbkluV2l0aCwgY3VzdG9taXplcik7XG4gKlxuICogZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAqL1xudmFyIGFzc2lnbkluV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICBjb3B5T2JqZWN0KHNvdXJjZSwga2V5c0luKHNvdXJjZSksIG9iamVjdCwgY3VzdG9taXplcik7XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ25JbldpdGg7XG4iLCJ2YXIgYXBwbHkgPSByZXF1aXJlKCcuL19hcHBseScpLFxuICAgIGJhc2VSZXN0ID0gcmVxdWlyZSgnLi9fYmFzZVJlc3QnKSxcbiAgICBpc0Vycm9yID0gcmVxdWlyZSgnLi9pc0Vycm9yJyk7XG5cbi8qKlxuICogQXR0ZW1wdHMgdG8gaW52b2tlIGBmdW5jYCwgcmV0dXJuaW5nIGVpdGhlciB0aGUgcmVzdWx0IG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAqIG9iamVjdC4gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwcm92aWRlZCB0byBgZnVuY2Agd2hlbiBpdCdzIGludm9rZWQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IFV0aWxcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGF0dGVtcHQuXG4gKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSBgZnVuY2Agd2l0aC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBgZnVuY2AgcmVzdWx0IG9yIGVycm9yIG9iamVjdC5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gQXZvaWQgdGhyb3dpbmcgZXJyb3JzIGZvciBpbnZhbGlkIHNlbGVjdG9ycy5cbiAqIHZhciBlbGVtZW50cyA9IF8uYXR0ZW1wdChmdW5jdGlvbihzZWxlY3Rvcikge1xuICogICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gKiB9LCAnPl8+Jyk7XG4gKlxuICogaWYgKF8uaXNFcnJvcihlbGVtZW50cykpIHtcbiAqICAgZWxlbWVudHMgPSBbXTtcbiAqIH1cbiAqL1xudmFyIGF0dGVtcHQgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBhcmdzKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGFwcGx5KGZ1bmMsIHVuZGVmaW5lZCwgYXJncyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gaXNFcnJvcihlKSA/IGUgOiBuZXcgRXJyb3IoZSk7XG4gIH1cbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGF0dGVtcHQ7XG4iLCIvKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYHZhbHVlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDIuNC4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmV0dXJuIGZyb20gdGhlIG5ldyBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbnN0YW50IGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiB2YXIgb2JqZWN0cyA9IF8udGltZXMoMiwgXy5jb25zdGFudCh7ICdhJzogMSB9KSk7XG4gKlxuICogY29uc29sZS5sb2cob2JqZWN0cyk7XG4gKiAvLyA9PiBbeyAnYSc6IDEgfSwgeyAnYSc6IDEgfV1cbiAqXG4gKiBjb25zb2xlLmxvZyhvYmplY3RzWzBdID09PSBvYmplY3RzWzFdKTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gY29uc3RhbnQodmFsdWUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb25zdGFudDtcbiIsIi8qKlxuICogUGVyZm9ybXMgYVxuICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAqIGNvbXBhcmlzb24gYmV0d2VlbiB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBlcXVpdmFsZW50LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3QgPSB7ICdhJzogMSB9O1xuICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAqXG4gKiBfLmVxKG9iamVjdCwgb2JqZWN0KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmVxKG9iamVjdCwgb3RoZXIpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmVxKCdhJywgJ2EnKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmVxKCdhJywgT2JqZWN0KCdhJykpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmVxKE5hTiwgTmFOKTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gZXEodmFsdWUsIG90aGVyKSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgKHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXIpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVxO1xuIiwidmFyIGVzY2FwZUh0bWxDaGFyID0gcmVxdWlyZSgnLi9fZXNjYXBlSHRtbENoYXInKSxcbiAgICB0b1N0cmluZyA9IHJlcXVpcmUoJy4vdG9TdHJpbmcnKTtcblxuLyoqIFVzZWQgdG8gbWF0Y2ggSFRNTCBlbnRpdGllcyBhbmQgSFRNTCBjaGFyYWN0ZXJzLiAqL1xudmFyIHJlVW5lc2NhcGVkSHRtbCA9IC9bJjw+XCInXS9nLFxuICAgIHJlSGFzVW5lc2NhcGVkSHRtbCA9IFJlZ0V4cChyZVVuZXNjYXBlZEh0bWwuc291cmNlKTtcblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgY2hhcmFjdGVycyBcIiZcIiwgXCI8XCIsIFwiPlwiLCAnXCInLCBhbmQgXCInXCIgaW4gYHN0cmluZ2AgdG8gdGhlaXJcbiAqIGNvcnJlc3BvbmRpbmcgSFRNTCBlbnRpdGllcy5cbiAqXG4gKiAqKk5vdGU6KiogTm8gb3RoZXIgY2hhcmFjdGVycyBhcmUgZXNjYXBlZC4gVG8gZXNjYXBlIGFkZGl0aW9uYWxcbiAqIGNoYXJhY3RlcnMgdXNlIGEgdGhpcmQtcGFydHkgbGlicmFyeSBsaWtlIFtfaGVfXShodHRwczovL210aHMuYmUvaGUpLlxuICpcbiAqIFRob3VnaCB0aGUgXCI+XCIgY2hhcmFjdGVyIGlzIGVzY2FwZWQgZm9yIHN5bW1ldHJ5LCBjaGFyYWN0ZXJzIGxpa2VcbiAqIFwiPlwiIGFuZCBcIi9cIiBkb24ndCBuZWVkIGVzY2FwaW5nIGluIEhUTUwgYW5kIGhhdmUgbm8gc3BlY2lhbCBtZWFuaW5nXG4gKiB1bmxlc3MgdGhleSdyZSBwYXJ0IG9mIGEgdGFnIG9yIHVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZS4gU2VlXG4gKiBbTWF0aGlhcyBCeW5lbnMncyBhcnRpY2xlXShodHRwczovL21hdGhpYXNieW5lbnMuYmUvbm90ZXMvYW1iaWd1b3VzLWFtcGVyc2FuZHMpXG4gKiAodW5kZXIgXCJzZW1pLXJlbGF0ZWQgZnVuIGZhY3RcIikgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBXaGVuIHdvcmtpbmcgd2l0aCBIVE1MIHlvdSBzaG91bGQgYWx3YXlzXG4gKiBbcXVvdGUgYXR0cmlidXRlIHZhbHVlc10oaHR0cDovL3dvbmtvLmNvbS9wb3N0L2h0bWwtZXNjYXBpbmcpIHRvIHJlZHVjZVxuICogWFNTIHZlY3RvcnMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gZXNjYXBlLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBzdHJpbmcuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uZXNjYXBlKCdmcmVkLCBiYXJuZXksICYgcGViYmxlcycpO1xuICogLy8gPT4gJ2ZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlcydcbiAqL1xuZnVuY3Rpb24gZXNjYXBlKHN0cmluZykge1xuICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICByZXR1cm4gKHN0cmluZyAmJiByZUhhc1VuZXNjYXBlZEh0bWwudGVzdChzdHJpbmcpKVxuICAgID8gc3RyaW5nLnJlcGxhY2UocmVVbmVzY2FwZWRIdG1sLCBlc2NhcGVIdG1sQ2hhcilcbiAgICA6IHN0cmluZztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGU7XG4iLCIvKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IGl0IHJlY2VpdmVzLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBzaW5jZSAwLjEuMFxuICogQG1lbWJlck9mIF9cbiAqIEBjYXRlZ29yeSBVdGlsXG4gKiBAcGFyYW0geyp9IHZhbHVlIEFueSB2YWx1ZS5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIGB2YWx1ZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3QgPSB7ICdhJzogMSB9O1xuICpcbiAqIGNvbnNvbGUubG9nKF8uaWRlbnRpdHkob2JqZWN0KSA9PT0gb2JqZWN0KTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gaWRlbnRpdHkodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlkZW50aXR5O1xuIiwidmFyIGJhc2VJc0FyZ3VtZW50cyA9IHJlcXVpcmUoJy4vX2Jhc2VJc0FyZ3VtZW50cycpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHByb3BlcnR5SXNFbnVtZXJhYmxlID0gb2JqZWN0UHJvdG8ucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGFuIGBhcmd1bWVudHNgIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBgYXJndW1lbnRzYCBvYmplY3QsXG4gKiAgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcmd1bWVudHMoWzEsIDIsIDNdKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FyZ3VtZW50cyA9IGJhc2VJc0FyZ3VtZW50cyhmdW5jdGlvbigpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA/IGJhc2VJc0FyZ3VtZW50cyA6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdjYWxsZWUnKSAmJlxuICAgICFwcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHZhbHVlLCAnY2FsbGVlJyk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzQXJndW1lbnRzO1xuIiwiLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGFuIGBBcnJheWAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcnJheShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheShkb2N1bWVudC5ib2R5LmNoaWxkcmVuKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0FycmF5KCdhYmMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0FycmF5KF8ubm9vcCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcnJheTtcbiIsInZhciBpc0Z1bmN0aW9uID0gcmVxdWlyZSgnLi9pc0Z1bmN0aW9uJyksXG4gICAgaXNMZW5ndGggPSByZXF1aXJlKCcuL2lzTGVuZ3RoJyk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYXJyYXktbGlrZS4gQSB2YWx1ZSBpcyBjb25zaWRlcmVkIGFycmF5LWxpa2UgaWYgaXQnc1xuICogbm90IGEgZnVuY3Rpb24gYW5kIGhhcyBhIGB2YWx1ZS5sZW5ndGhgIHRoYXQncyBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBvclxuICogZXF1YWwgdG8gYDBgIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gYE51bWJlci5NQVhfU0FGRV9JTlRFR0VSYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzQXJyYXlMaWtlKGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoJ2FiYycpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzQXJyYXlMaWtlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgIWlzRnVuY3Rpb24odmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzQXJyYXlMaWtlO1xuIiwidmFyIHJvb3QgPSByZXF1aXJlKCcuL19yb290JyksXG4gICAgc3R1YkZhbHNlID0gcmVxdWlyZSgnLi9zdHViRmFsc2UnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBleHBvcnRzYC4gKi9cbnZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBtb2R1bGVgLiAqL1xudmFyIGZyZWVNb2R1bGUgPSBmcmVlRXhwb3J0cyAmJiB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZSAmJiAhbW9kdWxlLm5vZGVUeXBlICYmIG1vZHVsZTtcblxuLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbnZhciBtb2R1bGVFeHBvcnRzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLmV4cG9ydHMgPT09IGZyZWVFeHBvcnRzO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBCdWZmZXIgPSBtb2R1bGVFeHBvcnRzID8gcm9vdC5CdWZmZXIgOiB1bmRlZmluZWQ7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVJc0J1ZmZlciA9IEJ1ZmZlciA/IEJ1ZmZlci5pc0J1ZmZlciA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIGJ1ZmZlci5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMy4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIGJ1ZmZlciwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzQnVmZmVyKG5ldyBCdWZmZXIoMikpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNCdWZmZXIobmV3IFVpbnQ4QXJyYXkoMikpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzQnVmZmVyID0gbmF0aXZlSXNCdWZmZXIgfHwgc3R1YkZhbHNlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzQnVmZmVyO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKSxcbiAgICBpc1BsYWluT2JqZWN0ID0gcmVxdWlyZSgnLi9pc1BsYWluT2JqZWN0Jyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBkb21FeGNUYWcgPSAnW29iamVjdCBET01FeGNlcHRpb25dJyxcbiAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYW4gYEVycm9yYCwgYEV2YWxFcnJvcmAsIGBSYW5nZUVycm9yYCwgYFJlZmVyZW5jZUVycm9yYCxcbiAqIGBTeW50YXhFcnJvcmAsIGBUeXBlRXJyb3JgLCBvciBgVVJJRXJyb3JgIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBlcnJvciBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0Vycm9yKG5ldyBFcnJvcik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0Vycm9yKEVycm9yKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRXJyb3IodmFsdWUpIHtcbiAgaWYgKCFpc09iamVjdExpa2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB0YWcgPSBiYXNlR2V0VGFnKHZhbHVlKTtcbiAgcmV0dXJuIHRhZyA9PSBlcnJvclRhZyB8fCB0YWcgPT0gZG9tRXhjVGFnIHx8XG4gICAgKHR5cGVvZiB2YWx1ZS5tZXNzYWdlID09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZS5uYW1lID09ICdzdHJpbmcnICYmICFpc1BsYWluT2JqZWN0KHZhbHVlKSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNFcnJvcjtcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgYXN5bmNUYWcgPSAnW29iamVjdCBBc3luY0Z1bmN0aW9uXScsXG4gICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgZ2VuVGFnID0gJ1tvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dJyxcbiAgICBwcm94eVRhZyA9ICdbb2JqZWN0IFByb3h5XSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBGdW5jdGlvbmAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZnVuY3Rpb24sIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0Z1bmN0aW9uKF8pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNGdW5jdGlvbigvYWJjLyk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8vIFRoZSB1c2Ugb2YgYE9iamVjdCN0b1N0cmluZ2AgYXZvaWRzIGlzc3VlcyB3aXRoIHRoZSBgdHlwZW9mYCBvcGVyYXRvclxuICAvLyBpbiBTYWZhcmkgOSB3aGljaCByZXR1cm5zICdvYmplY3QnIGZvciB0eXBlZCBhcnJheXMgYW5kIG90aGVyIGNvbnN0cnVjdG9ycy5cbiAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICByZXR1cm4gdGFnID09IGZ1bmNUYWcgfHwgdGFnID09IGdlblRhZyB8fCB0YWcgPT0gYXN5bmNUYWcgfHwgdGFnID09IHByb3h5VGFnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzRnVuY3Rpb247XG4iLCIvKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBNQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgbGVuZ3RoLlxuICpcbiAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gKiBbYFRvTGVuZ3RoYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtdG9sZW5ndGgpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgbGVuZ3RoLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNMZW5ndGgoMyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0xlbmd0aChOdW1iZXIuTUlOX1ZBTFVFKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0xlbmd0aChJbmZpbml0eSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNMZW5ndGgoJzMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzTGVuZ3RoKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicgJiZcbiAgICB2YWx1ZSA+IC0xICYmIHZhbHVlICUgMSA9PSAwICYmIHZhbHVlIDw9IE1BWF9TQUZFX0lOVEVHRVI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNMZW5ndGg7XG4iLCIvKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICogW2xhbmd1YWdlIHR5cGVdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXR5cGVzKVxuICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0KHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChfLm5vb3ApO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc09iamVjdDtcbiIsIi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UuIEEgdmFsdWUgaXMgb2JqZWN0LWxpa2UgaWYgaXQncyBub3QgYG51bGxgXG4gKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdExpa2Uoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc09iamVjdExpa2UobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlID09ICdvYmplY3QnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzT2JqZWN0TGlrZTtcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGdldFByb3RvdHlwZSA9IHJlcXVpcmUoJy4vX2dldFByb3RvdHlwZScpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RUYWcgPSAnW29iamVjdCBPYmplY3RdJztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZSxcbiAgICBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBVc2VkIHRvIGluZmVyIHRoZSBgT2JqZWN0YCBjb25zdHJ1Y3Rvci4gKi9cbnZhciBvYmplY3RDdG9yU3RyaW5nID0gZnVuY1RvU3RyaW5nLmNhbGwoT2JqZWN0KTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHBsYWluIG9iamVjdCwgdGhhdCBpcywgYW4gb2JqZWN0IGNyZWF0ZWQgYnkgdGhlXG4gKiBgT2JqZWN0YCBjb25zdHJ1Y3RvciBvciBvbmUgd2l0aCBhIGBbW1Byb3RvdHlwZV1dYCBvZiBgbnVsbGAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjguMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwbGFpbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gRm9vKCkge1xuICogICB0aGlzLmEgPSAxO1xuICogfVxuICpcbiAqIF8uaXNQbGFpbk9iamVjdChuZXcgRm9vKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNQbGFpbk9iamVjdCh7ICd4JzogMCwgJ3knOiAwIH0pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNQbGFpbk9iamVjdChPYmplY3QuY3JlYXRlKG51bGwpKTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkgfHwgYmFzZUdldFRhZyh2YWx1ZSkgIT0gb2JqZWN0VGFnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBwcm90byA9IGdldFByb3RvdHlwZSh2YWx1ZSk7XG4gIGlmIChwcm90byA9PT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHZhciBDdG9yID0gaGFzT3duUHJvcGVydHkuY2FsbChwcm90bywgJ2NvbnN0cnVjdG9yJykgJiYgcHJvdG8uY29uc3RydWN0b3I7XG4gIHJldHVybiB0eXBlb2YgQ3RvciA9PSAnZnVuY3Rpb24nICYmIEN0b3IgaW5zdGFuY2VvZiBDdG9yICYmXG4gICAgZnVuY1RvU3RyaW5nLmNhbGwoQ3RvcikgPT0gb2JqZWN0Q3RvclN0cmluZztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc1BsYWluT2JqZWN0O1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU3ltYm9sYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc3ltYm9sLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNTeW1ib2woU3ltYm9sLml0ZXJhdG9yKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzU3ltYm9sKCdhYmMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzU3ltYm9sKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ3N5bWJvbCcgfHxcbiAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzeW1ib2xUYWcpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzU3ltYm9sO1xuIiwidmFyIGJhc2VJc1R5cGVkQXJyYXkgPSByZXF1aXJlKCcuL19iYXNlSXNUeXBlZEFycmF5JyksXG4gICAgYmFzZVVuYXJ5ID0gcmVxdWlyZSgnLi9fYmFzZVVuYXJ5JyksXG4gICAgbm9kZVV0aWwgPSByZXF1aXJlKCcuL19ub2RlVXRpbCcpO1xuXG4vKiBOb2RlLmpzIGhlbHBlciByZWZlcmVuY2VzLiAqL1xudmFyIG5vZGVJc1R5cGVkQXJyYXkgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1R5cGVkQXJyYXk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIHR5cGVkIGFycmF5LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdHlwZWQgYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1R5cGVkQXJyYXkobmV3IFVpbnQ4QXJyYXkpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNUeXBlZEFycmF5KFtdKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc1R5cGVkQXJyYXkgPSBub2RlSXNUeXBlZEFycmF5ID8gYmFzZVVuYXJ5KG5vZGVJc1R5cGVkQXJyYXkpIDogYmFzZUlzVHlwZWRBcnJheTtcblxubW9kdWxlLmV4cG9ydHMgPSBpc1R5cGVkQXJyYXk7XG4iLCJ2YXIgYXJyYXlMaWtlS2V5cyA9IHJlcXVpcmUoJy4vX2FycmF5TGlrZUtleXMnKSxcbiAgICBiYXNlS2V5cyA9IHJlcXVpcmUoJy4vX2Jhc2VLZXlzJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgYG9iamVjdGAuXG4gKlxuICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuIFNlZSB0aGVcbiAqIFtFUyBzcGVjXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3Qua2V5cylcbiAqIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IE9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gRm9vKCkge1xuICogICB0aGlzLmEgPSAxO1xuICogICB0aGlzLmIgPSAyO1xuICogfVxuICpcbiAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gKlxuICogXy5rZXlzKG5ldyBGb28pO1xuICogLy8gPT4gWydhJywgJ2InXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICpcbiAqIF8ua2V5cygnaGknKTtcbiAqIC8vID0+IFsnMCcsICcxJ11cbiAqL1xuZnVuY3Rpb24ga2V5cyhvYmplY3QpIHtcbiAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iamVjdCkgPyBhcnJheUxpa2VLZXlzKG9iamVjdCkgOiBiYXNlS2V5cyhvYmplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleXM7XG4iLCJ2YXIgYXJyYXlMaWtlS2V5cyA9IHJlcXVpcmUoJy4vX2FycmF5TGlrZUtleXMnKSxcbiAgICBiYXNlS2V5c0luID0gcmVxdWlyZSgnLi9fYmFzZUtleXNJbicpLFxuICAgIGlzQXJyYXlMaWtlID0gcmVxdWlyZSgnLi9pc0FycmF5TGlrZScpO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgYG9iamVjdGAuXG4gKlxuICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IE9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gRm9vKCkge1xuICogICB0aGlzLmEgPSAxO1xuICogICB0aGlzLmIgPSAyO1xuICogfVxuICpcbiAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gKlxuICogXy5rZXlzSW4obmV3IEZvbyk7XG4gKiAvLyA9PiBbJ2EnLCAnYicsICdjJ10gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAqL1xuZnVuY3Rpb24ga2V5c0luKG9iamVjdCkge1xuICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0LCB0cnVlKSA6IGJhc2VLZXlzSW4ob2JqZWN0KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBrZXlzSW47XG4iLCIvKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYGZhbHNlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMTMuMFxuICogQGNhdGVnb3J5IFV0aWxcbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8udGltZXMoMiwgXy5zdHViRmFsc2UpO1xuICogLy8gPT4gW2ZhbHNlLCBmYWxzZV1cbiAqL1xuZnVuY3Rpb24gc3R1YkZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc3R1YkZhbHNlO1xuIiwidmFyIGFzc2lnbkluV2l0aCA9IHJlcXVpcmUoJy4vYXNzaWduSW5XaXRoJyksXG4gICAgYXR0ZW1wdCA9IHJlcXVpcmUoJy4vYXR0ZW1wdCcpLFxuICAgIGJhc2VWYWx1ZXMgPSByZXF1aXJlKCcuL19iYXNlVmFsdWVzJyksXG4gICAgY3VzdG9tRGVmYXVsdHNBc3NpZ25JbiA9IHJlcXVpcmUoJy4vX2N1c3RvbURlZmF1bHRzQXNzaWduSW4nKSxcbiAgICBlc2NhcGVTdHJpbmdDaGFyID0gcmVxdWlyZSgnLi9fZXNjYXBlU3RyaW5nQ2hhcicpLFxuICAgIGlzRXJyb3IgPSByZXF1aXJlKCcuL2lzRXJyb3InKSxcbiAgICBpc0l0ZXJhdGVlQ2FsbCA9IHJlcXVpcmUoJy4vX2lzSXRlcmF0ZWVDYWxsJyksXG4gICAga2V5cyA9IHJlcXVpcmUoJy4va2V5cycpLFxuICAgIHJlSW50ZXJwb2xhdGUgPSByZXF1aXJlKCcuL19yZUludGVycG9sYXRlJyksXG4gICAgdGVtcGxhdGVTZXR0aW5ncyA9IHJlcXVpcmUoJy4vdGVtcGxhdGVTZXR0aW5ncycpLFxuICAgIHRvU3RyaW5nID0gcmVxdWlyZSgnLi90b1N0cmluZycpO1xuXG4vKiogVXNlZCB0byBtYXRjaCBlbXB0eSBzdHJpbmcgbGl0ZXJhbHMgaW4gY29tcGlsZWQgdGVtcGxhdGUgc291cmNlLiAqL1xudmFyIHJlRW1wdHlTdHJpbmdMZWFkaW5nID0gL1xcYl9fcCBcXCs9ICcnOy9nLFxuICAgIHJlRW1wdHlTdHJpbmdNaWRkbGUgPSAvXFxiKF9fcCBcXCs9KSAnJyBcXCsvZyxcbiAgICByZUVtcHR5U3RyaW5nVHJhaWxpbmcgPSAvKF9fZVxcKC4qP1xcKXxcXGJfX3RcXCkpIFxcK1xcbicnOy9nO1xuXG4vKipcbiAqIFVzZWQgdG8gbWF0Y2hcbiAqIFtFUyB0ZW1wbGF0ZSBkZWxpbWl0ZXJzXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10ZW1wbGF0ZS1saXRlcmFsLWxleGljYWwtY29tcG9uZW50cykuXG4gKi9cbnZhciByZUVzVGVtcGxhdGUgPSAvXFwkXFx7KFteXFxcXH1dKig/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG5cbi8qKiBVc2VkIHRvIGVuc3VyZSBjYXB0dXJpbmcgb3JkZXIgb2YgdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbnZhciByZU5vTWF0Y2ggPSAvKCReKS87XG5cbi8qKiBVc2VkIHRvIG1hdGNoIHVuZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy4gKi9cbnZhciByZVVuZXNjYXBlZFN0cmluZyA9IC9bJ1xcblxcclxcdTIwMjhcXHUyMDI5XFxcXF0vZztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24gdGhhdCBjYW4gaW50ZXJwb2xhdGUgZGF0YSBwcm9wZXJ0aWVzXG4gKiBpbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVycywgSFRNTC1lc2NhcGUgaW50ZXJwb2xhdGVkIGRhdGEgcHJvcGVydGllcyBpblxuICogXCJlc2NhcGVcIiBkZWxpbWl0ZXJzLCBhbmQgZXhlY3V0ZSBKYXZhU2NyaXB0IGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLiBEYXRhXG4gKiBwcm9wZXJ0aWVzIG1heSBiZSBhY2Nlc3NlZCBhcyBmcmVlIHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuIElmIGEgc2V0dGluZ1xuICogb2JqZWN0IGlzIGdpdmVuLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYF8udGVtcGxhdGVTZXR0aW5nc2AgdmFsdWVzLlxuICpcbiAqICoqTm90ZToqKiBJbiB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYF8udGVtcGxhdGVgIHV0aWxpemVzXG4gKiBbc291cmNlVVJMc10oaHR0cDovL3d3dy5odG1sNXJvY2tzLmNvbS9lbi90dXRvcmlhbHMvZGV2ZWxvcGVydG9vbHMvc291cmNlbWFwcy8jdG9jLXNvdXJjZXVybClcbiAqIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHByZWNvbXBpbGluZyB0ZW1wbGF0ZXMgc2VlXG4gKiBbbG9kYXNoJ3MgY3VzdG9tIGJ1aWxkcyBkb2N1bWVudGF0aW9uXShodHRwczovL2xvZGFzaC5jb20vY3VzdG9tLWJ1aWxkcykuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQ2hyb21lIGV4dGVuc2lvbiBzYW5kYm94ZXMgc2VlXG4gKiBbQ2hyb21lJ3MgZXh0ZW5zaW9ucyBkb2N1bWVudGF0aW9uXShodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2V4dGVuc2lvbnMvc2FuZGJveGluZ0V2YWwpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBzaW5jZSAwLjEuMFxuICogQG1lbWJlck9mIF9cbiAqIEBjYXRlZ29yeSBTdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgdGVtcGxhdGUgc3RyaW5nLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXNjYXBlPV8udGVtcGxhdGVTZXR0aW5ncy5lc2NhcGVdXG4gKiAgVGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXZhbHVhdGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmV2YWx1YXRlXVxuICogIFRoZSBcImV2YWx1YXRlXCIgZGVsaW1pdGVyLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zLmltcG9ydHM9Xy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNdXG4gKiAgQW4gb2JqZWN0IHRvIGltcG9ydCBpbnRvIHRoZSB0ZW1wbGF0ZSBhcyBmcmVlIHZhcmlhYmxlcy5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5pbnRlcnBvbGF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGVdXG4gKiAgVGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuc291cmNlVVJMPSd0ZW1wbGF0ZVNvdXJjZXNbbl0nXVxuICogIFRoZSBzb3VyY2VVUkwgb2YgdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnZhcmlhYmxlPSdvYmonXVxuICogIFRoZSBkYXRhIG9iamVjdCB2YXJpYWJsZSBuYW1lLlxuICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzZSB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlciB0byBjcmVhdGUgYSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScpO1xuICogY29tcGlsZWQoeyAndXNlcic6ICdmcmVkJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBmcmVkISdcbiAqXG4gKiAvLyBVc2UgdGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIgdG8gZXNjYXBlIGRhdGEgcHJvcGVydHkgdmFsdWVzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPGI+PCUtIHZhbHVlICU+PC9iPicpO1xuICogY29tcGlsZWQoeyAndmFsdWUnOiAnPHNjcmlwdD4nIH0pO1xuICogLy8gPT4gJzxiPiZsdDtzY3JpcHQmZ3Q7PC9iPidcbiAqXG4gKiAvLyBVc2UgdGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGFuZCBnZW5lcmF0ZSBIVE1MLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgXy5mb3JFYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gKlxuICogLy8gVXNlIHRoZSBpbnRlcm5hbCBgcHJpbnRgIGZ1bmN0aW9uIGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgcHJpbnQoXCJoZWxsbyBcIiArIHVzZXIpOyAlPiEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnYmFybmV5JyB9KTtcbiAqIC8vID0+ICdoZWxsbyBiYXJuZXkhJ1xuICpcbiAqIC8vIFVzZSB0aGUgRVMgdGVtcGxhdGUgbGl0ZXJhbCBkZWxpbWl0ZXIgYXMgYW4gXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIC8vIERpc2FibGUgc3VwcG9ydCBieSByZXBsYWNpbmcgdGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyAkeyB1c2VyIH0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ3BlYmJsZXMnIH0pO1xuICogLy8gPT4gJ2hlbGxvIHBlYmJsZXMhJ1xuICpcbiAqIC8vIFVzZSBiYWNrc2xhc2hlcyB0byB0cmVhdCBkZWxpbWl0ZXJzIGFzIHBsYWluIHRleHQuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JT0gXCJcXFxcPCUtIHZhbHVlICVcXFxcPlwiICU+Jyk7XG4gKiBjb21waWxlZCh7ICd2YWx1ZSc6ICdpZ25vcmVkJyB9KTtcbiAqIC8vID0+ICc8JS0gdmFsdWUgJT4nXG4gKlxuICogLy8gVXNlIHRoZSBgaW1wb3J0c2Agb3B0aW9uIHRvIGltcG9ydCBgalF1ZXJ5YCBhcyBganFgLlxuICogdmFyIHRleHQgPSAnPCUganEuZWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+JztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUodGV4dCwgeyAnaW1wb3J0cyc6IHsgJ2pxJzogalF1ZXJ5IH0gfSk7XG4gKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAqIC8vID0+ICc8bGk+ZnJlZDwvbGk+PGxpPmJhcm5leTwvbGk+J1xuICpcbiAqIC8vIFVzZSB0aGUgYHNvdXJjZVVSTGAgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gc291cmNlVVJMIGZvciB0aGUgdGVtcGxhdGUuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyA8JT0gdXNlciAlPiEnLCB7ICdzb3VyY2VVUkwnOiAnL2Jhc2ljL2dyZWV0aW5nLmpzdCcgfSk7XG4gKiBjb21waWxlZChkYXRhKTtcbiAqIC8vID0+IEZpbmQgdGhlIHNvdXJjZSBvZiBcImdyZWV0aW5nLmpzdFwiIHVuZGVyIHRoZSBTb3VyY2VzIHRhYiBvciBSZXNvdXJjZXMgcGFuZWwgb2YgdGhlIHdlYiBpbnNwZWN0b3IuXG4gKlxuICogLy8gVXNlIHRoZSBgdmFyaWFibGVgIG9wdGlvbiB0byBlbnN1cmUgYSB3aXRoLXN0YXRlbWVudCBpc24ndCB1c2VkIGluIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hpIDwlPSBkYXRhLnVzZXIgJT4hJywgeyAndmFyaWFibGUnOiAnZGF0YScgfSk7XG4gKiBjb21waWxlZC5zb3VyY2U7XG4gKiAvLyA9PiBmdW5jdGlvbihkYXRhKSB7XG4gKiAvLyAgIHZhciBfX3QsIF9fcCA9ICcnO1xuICogLy8gICBfX3AgKz0gJ2hpICcgKyAoKF9fdCA9ICggZGF0YS51c2VyICkpID09IG51bGwgPyAnJyA6IF9fdCkgKyAnISc7XG4gKiAvLyAgIHJldHVybiBfX3A7XG4gKiAvLyB9XG4gKlxuICogLy8gVXNlIGN1c3RvbSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLlxuICogXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIHt7IHVzZXIgfX0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ211c3RhY2hlJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBtdXN0YWNoZSEnXG4gKlxuICogLy8gVXNlIHRoZSBgc291cmNlYCBwcm9wZXJ0eSB0byBpbmxpbmUgY29tcGlsZWQgdGVtcGxhdGVzIGZvciBtZWFuaW5nZnVsXG4gKiAvLyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgbWVzc2FnZXMgYW5kIHN0YWNrIHRyYWNlcy5cbiAqIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdqc3QuanMnKSwgJ1xcXG4gKiAgIHZhciBKU1QgPSB7XFxcbiAqICAgICBcIm1haW5cIjogJyArIF8udGVtcGxhdGUobWFpblRleHQpLnNvdXJjZSArICdcXFxuICogICB9O1xcXG4gKiAnKTtcbiAqL1xuZnVuY3Rpb24gdGVtcGxhdGUoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkge1xuICAvLyBCYXNlZCBvbiBKb2huIFJlc2lnJ3MgYHRtcGxgIGltcGxlbWVudGF0aW9uXG4gIC8vIChodHRwOi8vZWpvaG4ub3JnL2Jsb2cvamF2YXNjcmlwdC1taWNyby10ZW1wbGF0aW5nLylcbiAgLy8gYW5kIExhdXJhIERva3Rvcm92YSdzIGRvVC5qcyAoaHR0cHM6Ly9naXRodWIuY29tL29sYWRvL2RvVCkuXG4gIHZhciBzZXR0aW5ncyA9IHRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0cy5fLnRlbXBsYXRlU2V0dGluZ3MgfHwgdGVtcGxhdGVTZXR0aW5ncztcblxuICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkpIHtcbiAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICB9XG4gIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gIG9wdGlvbnMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMsIHNldHRpbmdzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKTtcblxuICB2YXIgaW1wb3J0cyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucy5pbXBvcnRzLCBzZXR0aW5ncy5pbXBvcnRzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKSxcbiAgICAgIGltcG9ydHNLZXlzID0ga2V5cyhpbXBvcnRzKSxcbiAgICAgIGltcG9ydHNWYWx1ZXMgPSBiYXNlVmFsdWVzKGltcG9ydHMsIGltcG9ydHNLZXlzKTtcblxuICB2YXIgaXNFc2NhcGluZyxcbiAgICAgIGlzRXZhbHVhdGluZyxcbiAgICAgIGluZGV4ID0gMCxcbiAgICAgIGludGVycG9sYXRlID0gb3B0aW9ucy5pbnRlcnBvbGF0ZSB8fCByZU5vTWF0Y2gsXG4gICAgICBzb3VyY2UgPSBcIl9fcCArPSAnXCI7XG5cbiAgLy8gQ29tcGlsZSB0aGUgcmVnZXhwIHRvIG1hdGNoIGVhY2ggZGVsaW1pdGVyLlxuICB2YXIgcmVEZWxpbWl0ZXJzID0gUmVnRXhwKFxuICAgIChvcHRpb25zLmVzY2FwZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgaW50ZXJwb2xhdGUuc291cmNlICsgJ3wnICtcbiAgICAoaW50ZXJwb2xhdGUgPT09IHJlSW50ZXJwb2xhdGUgPyByZUVzVGVtcGxhdGUgOiByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgKG9wdGlvbnMuZXZhbHVhdGUgfHwgcmVOb01hdGNoKS5zb3VyY2UgKyAnfCQnXG4gICwgJ2cnKTtcblxuICAvLyBVc2UgYSBzb3VyY2VVUkwgZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gIC8vIFRoZSBzb3VyY2VVUkwgZ2V0cyBpbmplY3RlZCBpbnRvIHRoZSBzb3VyY2UgdGhhdCdzIGV2YWwtZWQsIHNvIGJlIGNhcmVmdWxcbiAgLy8gd2l0aCBsb29rdXAgKGluIGNhc2Ugb2YgZS5nLiBwcm90b3R5cGUgcG9sbHV0aW9uKSwgYW5kIHN0cmlwIG5ld2xpbmVzIGlmIGFueS5cbiAgLy8gQSBuZXdsaW5lIHdvdWxkbid0IGJlIGEgdmFsaWQgc291cmNlVVJMIGFueXdheSwgYW5kIGl0J2QgZW5hYmxlIGNvZGUgaW5qZWN0aW9uLlxuICB2YXIgc291cmNlVVJMID0gaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCAnc291cmNlVVJMJylcbiAgICA/ICgnLy8jIHNvdXJjZVVSTD0nICtcbiAgICAgICAob3B0aW9ucy5zb3VyY2VVUkwgKyAnJykucmVwbGFjZSgvW1xcclxcbl0vZywgJyAnKSArXG4gICAgICAgJ1xcbicpXG4gICAgOiAnJztcblxuICBzdHJpbmcucmVwbGFjZShyZURlbGltaXRlcnMsIGZ1bmN0aW9uKG1hdGNoLCBlc2NhcGVWYWx1ZSwgaW50ZXJwb2xhdGVWYWx1ZSwgZXNUZW1wbGF0ZVZhbHVlLCBldmFsdWF0ZVZhbHVlLCBvZmZzZXQpIHtcbiAgICBpbnRlcnBvbGF0ZVZhbHVlIHx8IChpbnRlcnBvbGF0ZVZhbHVlID0gZXNUZW1wbGF0ZVZhbHVlKTtcblxuICAgIC8vIEVzY2FwZSBjaGFyYWN0ZXJzIHRoYXQgY2FuJ3QgYmUgaW5jbHVkZWQgaW4gc3RyaW5nIGxpdGVyYWxzLlxuICAgIHNvdXJjZSArPSBzdHJpbmcuc2xpY2UoaW5kZXgsIG9mZnNldCkucmVwbGFjZShyZVVuZXNjYXBlZFN0cmluZywgZXNjYXBlU3RyaW5nQ2hhcik7XG5cbiAgICAvLyBSZXBsYWNlIGRlbGltaXRlcnMgd2l0aCBzbmlwcGV0cy5cbiAgICBpZiAoZXNjYXBlVmFsdWUpIHtcbiAgICAgIGlzRXNjYXBpbmcgPSB0cnVlO1xuICAgICAgc291cmNlICs9IFwiJyArXFxuX19lKFwiICsgZXNjYXBlVmFsdWUgKyBcIikgK1xcbidcIjtcbiAgICB9XG4gICAgaWYgKGV2YWx1YXRlVmFsdWUpIHtcbiAgICAgIGlzRXZhbHVhdGluZyA9IHRydWU7XG4gICAgICBzb3VyY2UgKz0gXCInO1xcblwiICsgZXZhbHVhdGVWYWx1ZSArIFwiO1xcbl9fcCArPSAnXCI7XG4gICAgfVxuICAgIGlmIChpbnRlcnBvbGF0ZVZhbHVlKSB7XG4gICAgICBzb3VyY2UgKz0gXCInICtcXG4oKF9fdCA9IChcIiArIGludGVycG9sYXRlVmFsdWUgKyBcIikpID09IG51bGwgPyAnJyA6IF9fdCkgK1xcbidcIjtcbiAgICB9XG4gICAgaW5kZXggPSBvZmZzZXQgKyBtYXRjaC5sZW5ndGg7XG5cbiAgICAvLyBUaGUgSlMgZW5naW5lIGVtYmVkZGVkIGluIEFkb2JlIHByb2R1Y3RzIG5lZWRzIGBtYXRjaGAgcmV0dXJuZWQgaW5cbiAgICAvLyBvcmRlciB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IGBvZmZzZXRgIHZhbHVlLlxuICAgIHJldHVybiBtYXRjaDtcbiAgfSk7XG5cbiAgc291cmNlICs9IFwiJztcXG5cIjtcblxuICAvLyBJZiBgdmFyaWFibGVgIGlzIG5vdCBzcGVjaWZpZWQgd3JhcCBhIHdpdGgtc3RhdGVtZW50IGFyb3VuZCB0aGUgZ2VuZXJhdGVkXG4gIC8vIGNvZGUgdG8gYWRkIHRoZSBkYXRhIG9iamVjdCB0byB0aGUgdG9wIG9mIHRoZSBzY29wZSBjaGFpbi5cbiAgLy8gTGlrZSB3aXRoIHNvdXJjZVVSTCwgd2UgdGFrZSBjYXJlIHRvIG5vdCBjaGVjayB0aGUgb3B0aW9uJ3MgcHJvdG90eXBlLFxuICAvLyBhcyB0aGlzIGNvbmZpZ3VyYXRpb24gaXMgYSBjb2RlIGluamVjdGlvbiB2ZWN0b3IuXG4gIHZhciB2YXJpYWJsZSA9IGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgJ3ZhcmlhYmxlJykgJiYgb3B0aW9ucy52YXJpYWJsZTtcbiAgaWYgKCF2YXJpYWJsZSkge1xuICAgIHNvdXJjZSA9ICd3aXRoIChvYmopIHtcXG4nICsgc291cmNlICsgJ1xcbn1cXG4nO1xuICB9XG4gIC8vIENsZWFudXAgY29kZSBieSBzdHJpcHBpbmcgZW1wdHkgc3RyaW5ncy5cbiAgc291cmNlID0gKGlzRXZhbHVhdGluZyA/IHNvdXJjZS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdMZWFkaW5nLCAnJykgOiBzb3VyY2UpXG4gICAgLnJlcGxhY2UocmVFbXB0eVN0cmluZ01pZGRsZSwgJyQxJylcbiAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsICckMTsnKTtcblxuICAvLyBGcmFtZSBjb2RlIGFzIHRoZSBmdW5jdGlvbiBib2R5LlxuICBzb3VyY2UgPSAnZnVuY3Rpb24oJyArICh2YXJpYWJsZSB8fCAnb2JqJykgKyAnKSB7XFxuJyArXG4gICAgKHZhcmlhYmxlXG4gICAgICA/ICcnXG4gICAgICA6ICdvYmogfHwgKG9iaiA9IHt9KTtcXG4nXG4gICAgKSArXG4gICAgXCJ2YXIgX190LCBfX3AgPSAnJ1wiICtcbiAgICAoaXNFc2NhcGluZ1xuICAgICAgID8gJywgX19lID0gXy5lc2NhcGUnXG4gICAgICAgOiAnJ1xuICAgICkgK1xuICAgIChpc0V2YWx1YXRpbmdcbiAgICAgID8gJywgX19qID0gQXJyYXkucHJvdG90eXBlLmpvaW47XFxuJyArXG4gICAgICAgIFwiZnVuY3Rpb24gcHJpbnQoKSB7IF9fcCArPSBfX2ouY2FsbChhcmd1bWVudHMsICcnKSB9XFxuXCJcbiAgICAgIDogJztcXG4nXG4gICAgKSArXG4gICAgc291cmNlICtcbiAgICAncmV0dXJuIF9fcFxcbn0nO1xuXG4gIHZhciByZXN1bHQgPSBhdHRlbXB0KGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBGdW5jdGlvbihpbXBvcnRzS2V5cywgc291cmNlVVJMICsgJ3JldHVybiAnICsgc291cmNlKVxuICAgICAgLmFwcGx5KHVuZGVmaW5lZCwgaW1wb3J0c1ZhbHVlcyk7XG4gIH0pO1xuXG4gIC8vIFByb3ZpZGUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uJ3Mgc291cmNlIGJ5IGl0cyBgdG9TdHJpbmdgIG1ldGhvZCBvclxuICAvLyB0aGUgYHNvdXJjZWAgcHJvcGVydHkgYXMgYSBjb252ZW5pZW5jZSBmb3IgaW5saW5pbmcgY29tcGlsZWQgdGVtcGxhdGVzLlxuICByZXN1bHQuc291cmNlID0gc291cmNlO1xuICBpZiAoaXNFcnJvcihyZXN1bHQpKSB7XG4gICAgdGhyb3cgcmVzdWx0O1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGU7XG4iLCJ2YXIgZXNjYXBlID0gcmVxdWlyZSgnLi9lc2NhcGUnKSxcbiAgICByZUVzY2FwZSA9IHJlcXVpcmUoJy4vX3JlRXNjYXBlJyksXG4gICAgcmVFdmFsdWF0ZSA9IHJlcXVpcmUoJy4vX3JlRXZhbHVhdGUnKSxcbiAgICByZUludGVycG9sYXRlID0gcmVxdWlyZSgnLi9fcmVJbnRlcnBvbGF0ZScpO1xuXG4vKipcbiAqIEJ5IGRlZmF1bHQsIHRoZSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzIHVzZWQgYnkgbG9kYXNoIGFyZSBsaWtlIHRob3NlIGluXG4gKiBlbWJlZGRlZCBSdWJ5IChFUkIpIGFzIHdlbGwgYXMgRVMyMDE1IHRlbXBsYXRlIHN0cmluZ3MuIENoYW5nZSB0aGVcbiAqIGZvbGxvd2luZyB0ZW1wbGF0ZSBzZXR0aW5ncyB0byB1c2UgYWx0ZXJuYXRpdmUgZGVsaW1pdGVycy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHR5cGUge09iamVjdH1cbiAqL1xudmFyIHRlbXBsYXRlU2V0dGluZ3MgPSB7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXNjYXBlJzogcmVFc2NhcGUsXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGNvZGUgdG8gYmUgZXZhbHVhdGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXZhbHVhdGUnOiByZUV2YWx1YXRlLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRldGVjdCBgZGF0YWAgcHJvcGVydHkgdmFsdWVzIHRvIGluamVjdC5cbiAgICpcbiAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgKi9cbiAgJ2ludGVycG9sYXRlJzogcmVJbnRlcnBvbGF0ZSxcblxuICAvKipcbiAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICAndmFyaWFibGUnOiAnJyxcblxuICAvKipcbiAgICogVXNlZCB0byBpbXBvcnQgdmFyaWFibGVzIGludG8gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICAnaW1wb3J0cyc6IHtcblxuICAgIC8qKlxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0c1xuICAgICAqIEB0eXBlIHtGdW5jdGlvbn1cbiAgICAgKi9cbiAgICAnXyc6IHsgJ2VzY2FwZSc6IGVzY2FwZSB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGVTZXR0aW5ncztcbiIsInZhciBiYXNlVG9TdHJpbmcgPSByZXF1aXJlKCcuL19iYXNlVG9TdHJpbmcnKTtcblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nLiBBbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgZm9yIGBudWxsYFxuICogYW5kIGB1bmRlZmluZWRgIHZhbHVlcy4gVGhlIHNpZ24gb2YgYC0wYCBpcyBwcmVzZXJ2ZWQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvU3RyaW5nKG51bGwpO1xuICogLy8gPT4gJydcbiAqXG4gKiBfLnRvU3RyaW5nKC0wKTtcbiAqIC8vID0+ICctMCdcbiAqXG4gKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiAnMSwyLDMnXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBiYXNlVG9TdHJpbmcodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvU3RyaW5nO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBcIi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogR2VuZXJpYyBTdHlsZXNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuYWctZ3JpZCwgYWctZ3JpZC1hbmd1bGFyLCBhZy1ncmlkLW5nMiwgYWctZ3JpZC1wb2x5bWVyLCBhZy1ncmlkLWF1cmVsaWEge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctaGlkZGVuIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcblxcbi5hZy1pbnZpc2libGUge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctZmFkZWQge1xcbiAgb3BhY2l0eTogMC4zOyB9XFxuXFxuLmFnLXdpZHRoLWhhbGYge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XFxuXFxuLmFnLXVuc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1pbnB1dC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctc2hha2UtbGVmdC10by1yaWdodCB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYWctc2hha2UtbGVmdC10by1yaWdodDtcXG4gIGFuaW1hdGlvbi1uYW1lOiBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0OyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQge1xcbiAgZnJvbSB7XFxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIHRvIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XFxuXFxuQGtleWZyYW1lcyBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0IHtcXG4gIGZyb20ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICB0byB7XFxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxcblxcbi5hZy1yb290LXdyYXBwZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctcm9vdC13cmFwcGVyLmFnLWxheW91dC1ub3JtYWwge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1yb290LXdyYXBwZXIgLmFnLXdhdGVybWFyayB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgYm90dG9tOiAxMHB4O1xcbiAgICByaWdodDogMjVweDtcXG4gICAgb3BhY2l0eTogMC41O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgM3M7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgM3M7IH1cXG4gICAgLmFnLXJvb3Qtd3JhcHBlciAuYWctd2F0ZXJtYXJrOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogJyc7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0S1BITjJaeUIzYVdSMGFEMGlORGswY0hnaUlHaGxhV2RvZEQwaU1qTTVjSGdpSUhacFpYZENiM2c5SWpBZ01DQTBPVFFnTWpNNUlpQjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lQZ29nSUNBZ1BDRXRMU0JIWlc1bGNtRjBiM0k2SUZOclpYUmphQ0EwTnk0eElDZzBOVFF5TWlrZ0xTQm9kSFJ3T2k4dmQzZDNMbUp2YUdWdGFXRnVZMjlrYVc1bkxtTnZiUzl6YTJWMFkyZ2dMUzArQ2lBZ0lDQThkR2wwYkdVK1RHOW5iend2ZEdsMGJHVStDaUFnSUNBOFpHVnpZejVEY21WaGRHVmtJSGRwZEdnZ1UydGxkR05vTGp3dlpHVnpZejRLSUNBZ0lEeGtaV1p6UGdvZ0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWswd0xqWXhNamcwT1Rrek1Td3hNRGdnVERBdU5qRXlPRFE1T1RNeExEWTNMalExT1RZek56UWdUREF1TmpFeU9EUTVPVE14TERZM0xqUTFPVFl6TnpRZ1F6QXVOakV5T0RRNU9UTXhMRFl5TGpFd01EWTFNellnTXk0ME56RTRNek0zT0N3MU55NHhORGczTkRneklEZ3VNVEV5T0RRNU9UTXNOVFF1TkRZNU1qVTJOQ0JNT1RndU16QTJOREkxTERJdU16azFPVGN4TlRjZ1REazRMak13TmpReU5Td3lMak01TlRrM01UVTNJRU14TURJdU9UUTNORFF4TEMwd0xqSTRNelV5TURNMU9DQXhNRGd1TmpZMU5EQTVMQzB3TGpJNE16VXlNRE0xT0NBeE1UTXVNekEyTkRJMUxESXVNemsxT1RjeE5UY2dUREV4TXk0ek1EWTBNalVzTWk0ek9UVTVOekUxTnlCTU1qQXpMalVzTlRRdU5EWTVNalUyTkNCTU1qQXpMalVzTlRRdU5EWTVNalUyTkNCRE1qQTRMakUwTVRBeE5pdzFOeTR4TkRnM05EZ3pJREl4TVN3Mk1pNHhNREEyTlRNMklESXhNU3cyTnk0ME5UazJNemMwSUV3eU1URXNNVE00SUV3eE9ERXNNVE00SUV3eE9EQXVPVGszTURReExEa3pMams1T1RrNU9UZ2dUREU0TUM0NU9UWXdNeklzT1RNdU9UazVPVGs1T1NCRE1UZ3dMams1TlRRM05TdzROUzQzTVRZeE1qSTJJREUzTkM0eU56azVNRGtzTnprdU1EQXhNREE0TnlBeE5qVXVPVGsyTURNeUxEYzVMakF3TVRBd09EY2dUREV5TWl3M09DNDVPVGs1T1RrNUlFTXhNVE11TnpFMU56STVMRGM0TGprNU9UazVPVGtnTVRBM0xEZzFMamN4TlRjeU9EWWdNVEEzTERrekxqazVPVGs1T1RrZ1RERXdOeXd4TXpZdU1ERTFOakl6SUV3eE1EY3NNVE0yTGpBeE5UWXlNeUJETVRBM0xERTBOQzR5T1RrNE9UVWdNVEV6TGpjeE5UY3lPU3d4TlRFdU1ERTFOakl6SURFeU1pd3hOVEV1TURFMU5qSXpJRXd4Tmpnc01UVXhMakF4TlRZeU15Qk1NVFk0TERFMk15QkRNVFk0TERFMk5DNDJOVFk0TlRRZ01UWTJMalkxTmpnMU5Dd3hOallnTVRZMUxERTJOaUJNTVRJd0xERTJOaUJNTVRJd0xERTNPU0JNTVRZMUxqazVOakF6TWl3eE56a2dUREUyTlM0NU9UWXdNeklzTVRjNExqazVOemczTnlCRE1UYzBMakkzT1RRM05Dd3hOemd1T1RrM09EYzNJREU0TUM0NU9UUTROaXd4TnpJdU1qZ3pORFF5SURFNE1DNDVPVFl3TXpJc01UWTBJRXd4T0RFc01UVXdMamsyTURVMU5DQk1NakV4TERFMU1DNDVOakExTlRRZ1RESXhNU3d4TnpFdU5qQTJNakEzSUV3eU1URXNNVGN4TGpZd05qSXdOeUJETWpFeExERTNOaTQ1TmpVeE9URWdNakE0TGpFME1UQXhOaXd4T0RFdU9URTNNRGsySURJd015NDFMREU0TkM0MU9UWTFPRGdnVERFeE15NHpNRFkwTWpVc01qTTJMalkyT1RnM015Qk1NVEV6TGpNd05qUXlOU3d5TXpZdU5qWTVPRGN6SUVNeE1EZ3VOalkxTkRBNUxESXpPUzR6TkRrek5qVWdNVEF5TGprME56UTBNU3d5TXprdU16UTVNelkxSURrNExqTXdOalF5TlN3eU16WXVOalk1T0RjeklFdzRMakV4TWpnME9Ua3pMREU0TkM0MU9UWTFPRGdnVERndU1URXlPRFE1T1RNc01UZzBMalU1TmpVNE9DQkRNeTQwTnpFNE16TTNPQ3d4T0RFdU9URTNNRGsySURBdU5qRXlPRFE1T1RNeExERTNOaTQ1TmpVeE9URWdNQzQyTVRJNE5EazVNekVzTVRjeExqWXdOakl3TnlCTU1DNDJNVEk0TkRrNU16RXNNVEl4SUV3eU55d3hNakVnVERJM0xERXpOaUJETWpjc01UUTBMakk0TkRJM01TQXpNeTQzTVRVM01qZzNMREUxTVNBME1pd3hOVEVnVERReUxERTFNU0JNTVRBd0xERTFNU0JNTVRBd0xEazBJRU14TURBc09EVXVOekUxTnpJNE9DQTVNeTR5T0RReU56RXlMRGM1SURnMUxEYzVJRXd5Tnl3M09TQk1NamNzT1RJZ1REZzBMRGt5SUVNNE5TNDJOVFk0TlRReUxEa3lJRGczTERrekxqTTBNekUwTlRnZ09EY3NPVFVnVERnM0xEazFJRXc0Tnl3eE1EZ2dUREF1TmpFeU9EUTVPVE14TERFd09DQmFJaUJwWkQwaWNHRjBhQzB4SWo0OEwzQmhkR2crQ2lBZ0lDQThMMlJsWm5NK0NpQWdJQ0E4WnlCcFpEMGlVM2x0WW05c2N5SWdjM1J5YjJ0bFBTSnViMjVsSWlCemRISnZhMlV0ZDJsa2RHZzlJakVpSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStDaUFnSUNBZ0lDQWdQR2NnYVdROUlreHZaMjhpUGdvZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5ORGMzTERVMUlFdzBPVFFzTlRVZ1REUTVOQ3d4TlRFZ1REUXpOU3d4TlRFZ1F6UXlOaTQzTVRVM01qa3NNVFV4SURReU1Dd3hORFF1TWpnME1qY3hJRFF5TUN3eE16WWdURFF5TUN3NU5pQkROREl3TERnM0xqY3hOVGN5T0RnZ05ESTJMamN4TlRjeU9TdzRNU0EwTXpVc09ERWdURFF6TlN3NE1TQk1ORGMzTERneElFdzBOemNzTlRVZ1dpQk5ORFF3TERrNElFTTBNemd1TXpRek1UUTJMRGs0SURRek55dzVPUzR6TkRNeE5EVTRJRFF6Tnl3eE1ERWdURFF6Tnl3eE16RWdRelF6Tnl3eE16SXVOalUyT0RVMElEUXpPQzR6TkRNeE5EWXNNVE0wSURRME1Dd3hNelFnVERRM055d3hNelFnVERRM055dzVPQ0JNTkRRd0xEazRJRm9pSUdsa1BTSmtJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ0lDQWdJRHhuSUdsa1BTSnBJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNnek9UWXVNREF3TURBd0xDQTFOUzR3TURBd01EQXBJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh3YjJ4NVoyOXVJR2xrUFNKUVlYUm9MVFlpSUdacGJHdzlJaU5HUmtaR1JrWWlJSEJ2YVc1MGN6MGlNQ0F5TmlBeE55QXlOaUF4TnlBNU5pQXdJRGsySWo0OEwzQnZiSGxuYjI0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNHOXNlV2R2YmlCcFpEMGlVR0YwYUMwM0lpQm1hV3hzUFNJalJURXhSakl5SWlCd2IybHVkSE05SWpBZ01TNHhNelk0Tmpnek9HVXRNVE1nTVRjZ01TNHhNelk0Tmpnek9HVXRNVE1nTVRjZ01UY2dNQ0F4TnlJK1BDOXdiMng1WjI5dVBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJRHh3WVhSb0lHUTlJazB6TXpFc01UVXhJRXd6TkRnc01UVXhJRXd6TkRnc01UQXhJRXd6TkRnc01UQXhJRU16TkRnc09Ua3VNelF6TVRRMU9DQXpORGt1TXpRek1UUTJMRGs0SURNMU1TdzVPQ0JNTXpnNUxEazRJRXd6T0Rrc09ERWdURE0wTml3NE1TQk1NelEyTERneElFTXpNemN1TnpFMU56STVMRGd4SURNek1TdzROeTQzTVRVM01qZzRJRE16TVN3NU5pQk1Nek14TERFMU1TQmFJaUJwWkQwaWNpSWdabWxzYkQwaUkwWkdSa1pHUmlJK1BDOXdZWFJvUGdvZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NekkwTERnMklFd3pNalFzTnpZZ1RETXlOQ3czTmlCRE16STBMRFkzTGpjeE5UY3lPRGdnTXpFM0xqSTROREkzTVN3Mk1TQXpNRGtzTmpFZ1RESTBPU3cyTVNCTU1qUTVMRFl4SUVNeU5EQXVOekUxTnpJNUxEWXhJREl6TkN3Mk55NDNNVFUzTWpnNElESXpOQ3czTmlCTU1qTTBMREV6TmlCTU1qTTBMREV6TmlCRE1qTTBMREUwTkM0eU9EUXlOekVnTWpRd0xqY3hOVGN5T1N3eE5URWdNalE1TERFMU1TQk1NekE1TERFMU1TQk1NekE1TERFMU1TQkRNekUzTGpJNE5ESTNNU3d4TlRFZ016STBMREUwTkM0eU9EUXlOekVnTXpJMExERXpOaUJNTXpJMExERXdNQ0JNTWpnM0xERXdNQ0JNTWpnM0xERXhOeUJNTXpBM0xERXhOeUJNTXpBM0xERXpNU0JNTXpBM0xERXpNU0JETXpBM0xERXpNaTQyTlRZNE5UUWdNekExTGpZMU5qZzFOQ3d4TXpRZ016QTBMREV6TkNCTU1qVTBMREV6TkNCTU1qVTBMREV6TkNCRE1qVXlMak0wTXpFME5pd3hNelFnTWpVeExERXpNaTQyTlRZNE5UUWdNalV4TERFek1TQk1NalV4TERneElFd3lOVEVzT0RFZ1F6STFNU3czT1M0ek5ETXhORFU0SURJMU1pNHpORE14TkRZc056Z2dNalUwTERjNElFd3pNRFFzTnpnZ1RETXdOQ3czT0NCRE16QTFMalkxTmpnMU5DdzNPQ0F6TURjc056a3VNelF6TVRRMU9DQXpNRGNzT0RFZ1RETXdOeXc0TmlCTU16STBMRGcySUZvaUlHbGtQU0pISWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0poWnlJK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFp5QnBaRDBpUTI5dFltbHVaV1F0VTJoaGNHVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4dFlYTnJJR2xrUFNKdFlYTnJMVElpSUdacGJHdzlJbmRvYVhSbElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJamNHRjBhQzB4SWo0OEwzVnpaVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwyMWhjMnMrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIVnpaU0JtYVd4c1BTSWpSVEV4UmpJeUlpQjRiR2x1YXpwb2NtVm1QU0lqY0dGMGFDMHhJajQ4TDNWelpUNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZaejRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh5WldOMElHbGtQU0puSWlCbWFXeHNQU0lqUlRFeFJqSXlJaUI0UFNJeE1qQWlJSGs5SWpreUlpQjNhV1IwYUQwaU5EZ2lJR2hsYVdkb2REMGlORFlpSUhKNFBTSXpJajQ4TDNKbFkzUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5OREFzTVRJeElFdzROeXd4TWpFZ1REZzNMREV6T0NCTU5ETXNNVE00SUV3ME15d3hNemdnUXpReExqTTBNekUwTlRnc01UTTRJRFF3TERFek5pNDJOVFk0TlRRZ05EQXNNVE0xSUV3ME1Dd3hNakVnV2lJZ2FXUTlJa052YldKcGJtVmtMVk5vWVhCbElpQm1hV3hzUFNJalJURXhSakl5SWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEd3ZaejRLSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0E4TDJjK0Nqd3ZjM1puUGc9PSk7XFxuICAgICAgLXdlYmtpdC1maWx0ZXI6IGludmVydCg1MCUpO1xcbiAgICAgIGZpbHRlcjogaW52ZXJ0KDUwJSk7XFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExMHB4IDYwcHg7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgaGVpZ2h0OiA2MHB4O1xcbiAgICAgIHdpZHRoOiAxMTBweDsgfVxcbiAgICAuYWctcm9vdC13cmFwcGVyIC5hZy13YXRlcm1hcmsgLmFnLXdhdGVybWFyay10ZXh0IHtcXG4gICAgICBvcGFjaXR5OiAwLjU7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgZm9udC1mYW1pbHk6IEltcGFjdDtcXG4gICAgICBmb250LXNpemU6IDE5cHg7IH1cXG5cXG4uYWctcm9vdC13cmFwcGVyLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbiAgLmFnLXJvb3Qtd3JhcHBlci1ib2R5LmFnLWxheW91dC1ub3JtYWwge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBoZWlnaHQ6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDA7IH1cXG5cXG4uYWctcm9vdCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbiAgLmFnLXJvb3QuYWctbGF5b3V0LW5vcm1hbCwgLmFnLXJvb3QuYWctbGF5b3V0LWF1dG8taGVpZ2h0IHtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgd2lkdGg6IDA7IH1cXG4gIC5hZy1yb290LmFnLWxheW91dC1ub3JtYWwge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFZpZXdwb3J0c1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctaGVhZGVyLXZpZXdwb3J0LFxcbi5hZy1mbG9hdGluZy10b3Atdmlld3BvcnQsXFxuLmFnLWJvZHktdmlld3BvcnQsXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsXFxuLmFnLWNlbnRlci1jb2xzLXZpZXdwb3J0LFxcbi5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCxcXG4uYWctZmxvYXRpbmctYm90dG9tLXZpZXdwb3J0LFxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXZpZXdwb3J0LFxcbi5hZy12aXJ0dWFsLWxpc3Qtdmlld3BvcnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1ub3JtYWwge1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cXG4gIC5hZy1ib2R5LXZpZXdwb3J0Om5vdCguYWctbGF5b3V0LXByaW50KS5hZy1mb3JjZS12ZXJ0aWNhbC1zY3JvbGwge1xcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtY29scy12aWV3cG9ydCwgLmFnLXBpbm5lZC1yaWdodC1jb2xzLXZpZXdwb3J0IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1jZW50ZXItY29scy12aWV3cG9ydCB7XFxuICB3aWR0aDogMTAwJTtcXG4gIG92ZXJmbG93LXg6IGF1dG87IH1cXG5cXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC12aWV3cG9ydCB7XFxuICBvdmVyZmxvdy14OiBzY3JvbGw7IH1cXG5cXG4uYWctdmlydHVhbC1saXN0LXZpZXdwb3J0IHtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENvbnRhaW5lcnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWhlYWRlci1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLXRvcC1jb250YWluZXIsXFxuLmFnLWJvZHktY29udGFpbmVyLFxcbi5hZy1waW5uZWQtcmlnaHQtY29scy1jb250YWluZXIsXFxuLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lcixcXG4uYWctcGlubmVkLWxlZnQtY29scy1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1jb250YWluZXIsXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtY29udGFpbmVyLFxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctYm90dG9tLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy12aXJ0dWFsLWxpc3QtY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcblxcbi5hZy1oZWFkZXItY29udGFpbmVyLCAuYWctZmxvYXRpbmctdG9wLWNvbnRhaW5lciwgLmFnLWZsb2F0aW5nLWJvdHRvbS1jb250YWluZXIge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0IC5hZy1jZW50ZXItY29scy1jbGlwcGVyIHtcXG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtYXV0by1oZWlnaHQgLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIsIC5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1hdXRvLWhlaWdodCAuYWctY2VudGVyLWNvbHMtY29udGFpbmVyIHtcXG4gIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydCAuYWctY2VudGVyLWNvbHMtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LXByaW50IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG4gIC5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1wcmludCAuYWctY2VudGVyLWNvbHMtY2xpcHBlciB7XFxuICAgIG1pbi13aWR0aDogMTAwJTsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtY29scy1jb250YWluZXIge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC1jb250YWluZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy10b3AtZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1mdWxsLXdpZHRoLWNvbnRhaW5lciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDBweDtcXG4gIGxlZnQ6IDBweDtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtY29udGFpbmVyIHtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1mdWxsLXdpZHRoLWNvbnRhaW5lciwgLmFnLWZsb2F0aW5nLXRvcC1mdWxsLXdpZHRoLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctdmlydHVhbC1saXN0LWNvbnRhaW5lciB7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBTY3JvbGxlcnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxO1xcbiAgZmxleDogMTtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICBtaW4taGVpZ2h0OiAwO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcblxcbi5hZy1sYXlvdXQtcHJpbnQgLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcblxcbi5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwO1xcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XFxuICAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEhlYWRlcnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWhlYWRlciwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciwgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtc29ydGFibGUsIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlLCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtc29ydGFibGUge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG4uYWctaGVhZGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgd2lkdGg6IDEwMCU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWhlYWRlci1pY29uIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctaGVhZGVyLXJvdyB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLWhlYWRlci1vdmVybGF5IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLWhlYWRlci1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG5cXG4uYWctaGVhZGVyLWdyb3VwLWNlbGwtbGFiZWwsIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWNlbGwtdGV4dCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC10ZXh0IHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHotaW5kZXg6IDE7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogNHB4OyB9XFxuXFxuLmFnLWhlYWRlci1leHBhbmQtaWNvbiB7XFxuICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcblxcbi5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDb2x1bW5zXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1jZWxsIHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjJzO1xcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjJzOyB9XFxuXFxuLmFnLWNvbHVtbi1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsIHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjJzO1xcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjJzOyB9XFxuXFxuLmFnLWNvbHVtbi1tb3ZpbmcgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjJzLCB3aWR0aCAwLjJzO1xcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjJzLCB3aWR0aCAwLjJzOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDb2x1bW4gUGFuZWxcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNvbHVtbi1wYW5lbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4uYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiA0O1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDQ7XFxuICBmbGV4LWdyb3c6IDQ7XFxuICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcXG4gIGZsZXgtc2hyaW5rOiAxO1xcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICBmbGV4LWJhc2lzOiAwOyB9XFxuICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIGlucHV0IHtcXG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxcblxcbi5hZy1jb2x1bW4tZHJvcCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3QgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgICAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3QgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIDBweDtcXG4gIGZsZXg6IDEgMSAwO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XFxuICAuYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiBkaXYge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xcbiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgICBmbGV4LWdyb3c6IDE7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogUm93c1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcm93LWFuaW1hdGlvbiAuYWctcm93IHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC40cztcXG4gIHRyYW5zaXRpb246IHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycztcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjRzOyB9XFxuXFxuLmFnLXJvdy1uby1hbmltYXRpb24gLmFnLXJvdyB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcblxcbi5hZy1yb3cge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLXJvdy1wb3NpdGlvbi1hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctcm93LXBvc2l0aW9uLXJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLXJvdyB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxcblxcbi5hZy1yb3ctaW5saW5lLWVkaXRpbmcge1xcbiAgei1pbmRleDogMTsgfVxcblxcbi5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgei1pbmRleDogMjsgfVxcblxcbi5hZy1zdHViLWNlbGwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENlbGxzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jZWxsIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctY2VsbC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1jZWxsLXdyYXBwZXIuYWctcm93LWdyb3VwIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctY2VsbC13cmFwcGVyIC5hZy1jZWxsLXZhbHVlLCAuYWctY2VsbC13cmFwcGVyIC5hZy1ncm91cC12YWx1ZSB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtcm93LmFnLXJvdy1ncm91cCAuYWctY2VsbC13cmFwcGVyIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcblxcbi5hZy1jZWxsLXdpdGgtaGVpZ2h0IHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1ncm91cC1jZWxsLWVudGlyZS1yb3cge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWZvb3Rlci1jZWxsLWVudGlyZS1yb3cge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgei1pbmRleDogMTsgfVxcbiAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcgLmFnLWNlbGwtZWRpdC1pbnB1dCwgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcgLmFnLWlucHV0LXdyYXBwZXIge1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBGaWx0ZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1jaGVja2JveCB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgRmlsdGVyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IC5hZy1yZWFjdC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSAuYWctcmVhY3QtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItYm9keSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIGhlaWdodDogMTAwJTsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0IHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSBpbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItaW5wdXQge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0Oi1tb3otcmVhZC1vbmx5IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0OnJlYWQtb25seSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERyYWcgJiBEcm9wXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1kbmQtZ2hvc3Qge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICBjdXJzb3I6IG1vdmU7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogM3B4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgei1pbmRleDogMTA7IH1cXG5cXG4uYWctZG5kLWdob3N0LWljb24ge1xcbiAgcGFkZGluZzogMnB4OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBPdmVybGF5XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1vdmVybGF5IHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctb3ZlcmxheS13cmFwcGVyLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxcblxcbi5hZy1vdmVybGF5LW5vLXJvd3Mtd3JhcHBlci5hZy1sYXlvdXQtYXV0by1oZWlnaHQge1xcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFBvcHVwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1wb3B1cCA+IGRpdiB7XFxuICB6LWluZGV4OiA1OyB9XFxuXFxuLmFnLXBvcHVwLWJhY2tkcm9wIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFZpcnR1YWwgTGlzdHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctdmlydHVhbC1saXN0LWl0ZW0gc3BhbjplbXB0eTpub3QoLmFnLWljb24pIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgVG9wIGFuZCBCb3R0b21cXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWZsb2F0aW5nLXRvcCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERpYWxvZ1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZGlhbG9nLCAuYWctcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctZGlhbG9nIC5hZy10aXRsZS1iYXIsIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgZmxleDogbm9uZTtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLXRpdGxlLCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLXRpdGxlIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zLCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgICAuYWctZGlhbG9nIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24sIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLWRpYWxvZyAuYWctcGFuZWwtY29udGVudC13cmFwcGVyLCAuYWctcGFuZWwgLmFnLXBhbmVsLWNvbnRlbnQtd3JhcHBlciB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXBhbmVsLWNvbnRlbnQtd3JhcHBlciA+IGRpdiwgLmFnLXBhbmVsIC5hZy1wYW5lbC1jb250ZW50LXdyYXBwZXIgPiBkaXYge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1kaWFsb2cge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuICAuYWctZGlhbG9nIC5hZy1yZXNpemVyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gICAgei1pbmRleDogMTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItdG9wTGVmdCB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci10b3Age1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiA1cHg7XFxuICAgICAgcmlnaHQ6IDVweDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItdG9wUmlnaHQge1xcbiAgICAgIHRvcDogMDtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbmVzdy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXJpZ2h0IHtcXG4gICAgICB0b3A6IDVweDtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBib3R0b206IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogZXctcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1ib3R0b21SaWdodCB7XFxuICAgICAgYm90dG9tOiAwO1xcbiAgICAgIHJpZ2h0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItYm90dG9tIHtcXG4gICAgICBib3R0b206IDA7XFxuICAgICAgbGVmdDogNXB4O1xcbiAgICAgIHJpZ2h0OiA1cHg7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgY3Vyc29yOiBucy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWJvdHRvbUxlZnQge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBuZXN3LXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItbGVmdCB7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICB0b3A6IDVweDtcXG4gICAgICBib3R0b206IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogZXctcmVzaXplOyB9XFxuICAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1jb250ZW50IHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbHRpcFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHotaW5kZXg6IDk5OTk5OyB9XFxuXFxuLmFnLWNoYXJ0LXRvb2x0aXAge1xcbiAgZGlzcGxheTogdGFibGU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgei1pbmRleDogOTk5OTk7XFxuICBmb250OiAxMnB4IFZlcmRhbmEsIHNhbnMtc2VyaWY7XFxuICBjb2xvcjogYmxhY2s7XFxuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMywgMywgMywgMC43KSwgMC41dmggMC41dmggMXZoIHJnYmEoMywgMywgMywgMC4yNSk7XFxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMywgMywgMywgMC43KSwgMC41dmggMC41dmggMXZoIHJnYmEoMywgMywgMywgMC4yNSk7XFxuICBvcGFjaXR5OiAwO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XFxuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XFxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtOyB9XFxuICAuYWctY2hhcnQtdG9vbHRpcC52aXNpYmxlIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XFxuICAuYWctY2hhcnQtdG9vbHRpcCAudGl0bGUge1xcbiAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgcGFkZGluZzogN3B4O1xcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XFxuICAgIGNvbG9yOiB3aGl0ZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODsgfVxcbiAgLmFnLWNoYXJ0LXRvb2x0aXAgLmNvbnRlbnQge1xcbiAgICBwYWRkaW5nOiA3cHg7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEFuaW1hdGlvbnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXZhbHVlLXNsaWRlLW91dCB7XFxuICBtYXJnaW4tcmlnaHQ6IDVweDtcXG4gIG9wYWNpdHk6IDE7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgM3MsIG1hcmdpbi1yaWdodCAzcztcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgM3MsIG1hcmdpbi1yaWdodCAzcztcXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG4uYWctdmFsdWUtc2xpZGUtb3V0LWVuZCB7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxuICBvcGFjaXR5OiAwOyB9XFxuXFxuLmFnLW9wYWNpdHktemVybyB7XFxuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIE1lbnVcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLW1lbnUge1xcbiAgbWF4LWhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XFxuXFxuLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gIGhlaWdodDogMjY1cHg7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAyMDBweDsgfVxcblxcbi5hZy1tZW51LWxpc3Qge1xcbiAgZGlzcGxheTogdGFibGU7IH1cXG5cXG4uYWctbWVudS1vcHRpb24sIC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cXG4gIC5hZy1tZW51LW9wdGlvbiA+IHNwYW4sIC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuXFxuLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFJpY2ggU2VsZWN0XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1yaWNoLXNlbGVjdCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICBvdXRsaW5lOiBub25lOyB9XFxuICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUgPiBzcGFuIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUgPiBzcGFuLmFnLWljb24ge1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xcbiAgICAgICAgb3JkZXI6IDE7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICBmbGV4OiBub25lOyB9XFxuICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCAuYWctdmlydHVhbC1saXN0LWl0ZW0gLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBQYWdpbmF0aW9uXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1wYWdpbmctcGFuZWwge1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XFxuXFxuLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1kaXNhYmxlZCB7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbCBQYW5lbFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB3aWR0aDogMjAwcHg7IH1cXG4gIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4uYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cXG5cXG4uYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiA1cHg7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7IH1cXG5cXG4uYWctbHRyIC5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XFxuXFxuLmxvYWRpbmctZmlsdGVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwYWRkaW5nOiA1cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM0cHg7XFxuICB3aWR0aDogMTAwJTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctZGV0YWlscy1yb3cge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZGV0YWlscy1ncmlkIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctbnVtZXJpYy1oZWFkZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBTaWRlIEJhclxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctc2lkZS1iYXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XFxuICAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBkaXYgYnV0dG9uIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIG91dGxpbmU6IG5vbmU7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBkaXYgYnV0dG9uIHNwYW46bm90KC5hZy1pY29uKSB7XFxuICAgICAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHRiO1xcbiAgICAgIC1tcy13cml0aW5nLW1vZGU6IHRiO1xcbiAgICAgIHdyaXRpbmctbW9kZTogdGI7XFxuICAgICAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyO1xcbiAgICAgIC1tcy13cml0aW5nLW1vZGU6IHRiLWxyO1xcbiAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IH1cXG4gIC5hZy1zaWRlLWJhciAucGFuZWwtY29udGFpbmVyIHtcXG4gICAgd2lkdGg6IDE4MHB4OyB9XFxuICAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAucGFuZWwtY29udGFpbmVyIHtcXG4gICAgd2lkdGg6IDIwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBidXR0b24gc3Bhbjpub3QoLmFnLWljb24pIHtcXG4gIC13ZWJraXQtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIC1tcy13cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcXG4gIC1tcy13cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU3RhdHVzIEJhclxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctc3RhdHVzLWJhciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XFxuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLXN0YXR1cy1iYXIgLmFnLXN0YXR1cy1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi5hZy1zdGF0dXMtYmFyLWxlZnQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctc3RhdHVzLWJhci1yaWdodCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogV2lkZ2V0c1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIDEwMCU7XFxuICBmbGV4OiAxIDEgMTAwJTsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRvb2xiYXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbiAgICAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIC5hZy1ncm91cC1zdWJncm91cCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoO1xcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1jb2xsYXBzZWQgLmFnLWdyb3VwLWNvbXBvbmVudC10b29sYmFyLCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWNvbGxhcHNlZCAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG5cXG4uYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IHJpZ2h0IDAuM3M7XFxuICB0cmFuc2l0aW9uOiByaWdodCAwLjNzO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAtMXB4OyB9XFxuXFxuLmFnLWlucHV0LWZpZWxkIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gIC5hZy1pbnB1dC1maWVsZCBpbnB1dCwgLmFnLWlucHV0LWZpZWxkIHNlbGVjdCwgLmFnLWlucHV0LWZpZWxkIHRleHRhcmVhIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1pbi13aWR0aDogMDsgfVxcblxcbi5hZy1yYW5nZS1maWVsZCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcblxcbi5hZy1waWNrZXItZmllbGQgPiAuYWctd3JhcHBlciwgLmFnLXNsaWRlciA+IC5hZy13cmFwcGVyLCAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy1waWNrZXItZmllbGQgPiAuYWctd3JhcHBlciA+IGRpdiwgLmFnLXNsaWRlciA+IC5hZy13cmFwcGVyID4gZGl2LCAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWFuZ2xlLXNlbGVjdCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1wYXJlbnQtY2lyY2xlIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1jaGlsZC1jaXJjbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctcGlja2VyLWZpZWxkIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAuYWctcGlja2VyLWZpZWxkID4gLmFnLXdyYXBwZXIgPiBidXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgbWFyZ2luOiAwOyB9XFxuXFxuLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctY29sb3ItcGlja2VyIGJ1dHRvbiB7XFxuICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG4uYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi1yaWdodCBsYWJlbCB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xcbiAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICBvcmRlcjogMTsgfVxcblxcbi5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXJpZ2h0ID4gZGl2IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG5cXG4uYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi10b3Age1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCA+IGRpdiB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7XFxuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cXG5cXG4uYWctY29sb3ItcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgLmFnLWNvbG9yLXBhbmVsIC5hZy1maWxsIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIGxlZnQ6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdmFsIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0taHVlIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgzJSwgI2ZmMDAwMCksIGNvbG9yLXN0b3AoMTclLCAjZmZmZjAwKSwgY29sb3Itc3RvcCgzMyUsICMwMGZmMDApLCBjb2xvci1zdG9wKDUwJSwgIzAwZmZmZiksIGNvbG9yLXN0b3AoNjclLCAjMDAwMGZmKSwgY29sb3Itc3RvcCg4MyUsICNmZjAwZmYpLCB0bygjZmYwMDAwKSk7XFxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAjZmYwMDAwIDMlLCAjZmZmZjAwIDE3JSwgIzAwZmYwMCAzMyUsICMwMGZmZmYgNTAlLCAjMDAwMGZmIDY3JSwgI2ZmMDBmZiA4MyUsICNmZjAwMDAgMTAwJSk7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tYWxwaGEge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0taHVlLWJhY2tncm91bmQge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWFscGhhLWJhY2tncm91bmQge1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDApKSwgdG8oYmxhY2spKTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDApLCBibGFjayk7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWU6Zm9jdXMge1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBvdXRsaW5lLW9mZnNldDogMDsgfVxcbiAgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctbGVmdDogMTEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDExMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1sZWZ0OiAxMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1yaWdodDogMTUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctbGVmdDogMTUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctbGVmdDogMTcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDE3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1sZWZ0OiAxOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1yaWdodDogMTkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctbGVmdDogMjEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDIyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctbGVmdDogMjMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDIzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1sZWZ0OiAyNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1yaWdodDogMjUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1sZWZ0OiAyNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1yaWdodDogMjcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctbGVmdDogMjcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctbGVmdDogMjkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDMxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1sZWZ0OiAzMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1yaWdodDogMzEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1yaWdodDogMzMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctbGVmdDogMzMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctbGVmdDogMzUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDM1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDM3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1sZWZ0OiAzNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1yaWdodDogMzcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctbGVmdDogMzkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctbGVmdDogNDEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1sZWZ0OiA0MzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1yaWdodDogNDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1sZWZ0OiA0NTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1yaWdodDogNDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctbGVmdDogNDUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctbGVmdDogNDcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0OTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1sZWZ0OiA0OTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1yaWdodDogNDkwcHg7IH1cXG5cXG4uYWctbHRyIHtcXG4gIGRpcmVjdGlvbjogbHRyOyB9XFxuICAuYWctbHRyIC5hZy1ib2R5LCAuYWctbHRyIC5hZy1mbG9hdGluZy10b3AsIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWJvdHRvbSwgLmFnLWx0ciAuYWctaGVhZGVyLCAuYWctbHRyIC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctbHRyIC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHJpZ2h0OiAtNHB4OyB9XFxuICAuYWctbHRyIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBsZWZ0OiAtNHB4OyB9XFxuXFxuLmFnLXJ0bCB7XFxuICBkaXJlY3Rpb246IHJ0bDsgfVxcbiAgLmFnLXJ0bCAuYWctYm9keSwgLmFnLXJ0bCAuYWctZmxvYXRpbmctdG9wLCAuYWctcnRsIC5hZy1mbG9hdGluZy1ib3R0b20sIC5hZy1ydGwgLmFnLWhlYWRlciwgLmFnLXJ0bCAuYWctYm9keS12aWV3cG9ydCwgLmFnLXJ0bCAuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG4gIC5hZy1ydGwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGxlZnQ6IC00cHg7IH1cXG4gIC5hZy1ydGwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgcmlnaHQ6IC00cHg7IH1cXG5cXG5AbWVkaWEgcHJpbnQge1xcbiAgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBkaXNwbGF5OiBibG9jazsgfVxcbiAgLmFnLXJvdyB7XFxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XFxuXFxuLmFnLWJvZHkgLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsIC5hZy1ib2R5IC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctYm9keSAuYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQge1xcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XFxuXFxuLmFnLWNoYXJ0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNvbXBvbmVudHMtd3JhcHBlciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtY29tcG9uZW50cy13cmFwcGVyIC5hZy1jaGFydC1jYW52YXMtd3JhcHBlciB7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gICAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNvbXBvbmVudHMtd3JhcHBlciAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIgY2FudmFzIHtcXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtY29tcG9uZW50cy13cmFwcGVyIC5hZy1jaGFydC1tZW51IHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgdG9wOiAxMHB4O1xcbiAgICAgIHJpZ2h0OiAyMHB4O1xcbiAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1jaGFydDpub3QoLmFnLWhhcy1tZW51KTpob3ZlciAuYWctY2hhcnQtbWVudSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtZG9ja2VkLWNvbnRhaW5lciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG1pbi13aWR0aDogMDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBtaW4td2lkdGggMC40cztcXG4gICAgdHJhbnNpdGlvbjogbWluLXdpZHRoIDAuNHM7IH1cXG4gICAgLmFnLWNoYXJ0IC5hZy1jaGFydC1kb2NrZWQtY29udGFpbmVyIC5hZy1wYW5lbCB7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgPiBkaXYge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1oZWFkZXIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgZmxleDogbm9uZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy10YWItYm9keSA+IGRpdiB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XFxuXFxuLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyB7XFxuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgICAgICAgIG9wYWNpdHk6IDAuMjsgfVxcbiAgICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLXByZXYtYnRuLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biB7XFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1wcmV2LWJ0biBidXR0b24sIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5leHQtYnRuIGJ1dHRvbiB7XFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgICAgdG9wOiAwO1xcbiAgICAgICAgICBsZWZ0OiAwO1xcbiAgICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cXG4gICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIHtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cXG4gICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLWNoYXJ0cy1jb250YWluZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciB7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICB0b3A6IDA7XFxuICAgICAgICBsZWZ0OiAwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLWNoYXJ0cy1jb250YWluZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktY2hhcnRzLWNvbnRhaW5lciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cXG4gICAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktY2hhcnRzLWNvbnRhaW5lciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZywgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIuYWctYW5pbWF0aW5nIHtcXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XFxuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLWNoYXJ0cy1jb250YWluZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwge1xcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS1jaGFydHMtY29udGFpbmVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIGNhbnZhcyB7XFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWRhdGEtd3JhcHBlciwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZGF0YS13cmFwcGVyID4gZGl2LCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyID4gZGl2IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmctYm90dG9tOiAycHg7IH1cXG4gICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1kYXRhLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1jaGlsZCksIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyIHtcXG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQtd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1zdWJncm91cCB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxcblxcbi5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW4ge1xcbiAgICBvcGFjaXR5OiAwLjU7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xcbiAgICBmb250LXNpemU6IDI0cHg7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIG1hcmdpbjogMnB4IDA7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG5cXG4uYWctY2hhcnQgLmFnLWNoYXJ0LWRvY2tlZC1jb250YWluZXIge1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgd2lkdGg6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIHBhZGRpbmc6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIHtcXG4gIHBhZGRpbmc6IDAgMTBweDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIHtcXG4gICAgcGFkZGluZzogMCAxMHB4OyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbE1BQUFDOEFBQUFZR050WVhBWFZ0SzZBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVacU11eTNnQUFBRjRBQUFiREdobFlXUVZvbU9YQUFBY2hBQUFBRFpvYUdWaEI4SUQrUUFBSEx3QUFBQWthRzEwZU5ZQUluWUFBQnpnQUFBQTRHeHZZMkhFbUw0YUFBQWR3QUFBQUhKdFlYaHdBRVVBbFFBQUhqUUFBQUFnYm1GdFpaUVh4S1FBQUI1VUFBQUJrbkJ2YzNRQUF3QUFBQUFmNkFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTXdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUUC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBRzRBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRVZIZ0VYRmdZSERnRVZJVFV6RlNFME5qYytBU2N1QVNjMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTUUhnUVA4QUFYVVpFQW9ZSjFZQkFFRCtnQVliTFdRZ0xtSUNBWUFEZ0FKY1BrbEpTWkpKU1VrK1hBSUJBUUVCQWx3K1NVbEpra2xKU1Q1Y0FnRUJBVUU0SmtoSlNaSkpTVWtrTlFJREFRRUJBUU1DTlNSSlNVcVNTa2xKSkRVQ0F3RUJBZjhBUUFNZ1Fpc2NSQmNpUFJwQWdDWk1HQ2RISHlsSE5FVUFBUUJUQUJNRHJRTnRBQ2NBQUJNWEJ5YzNIZ0VYQnlFUkJ5YzNIZ0VYQnljUklTYzNIZ0VYQnljM0lSRTNIZ0VYQnljM0Z4SE5TaTZXbGd3V0RFb0JFMGt1bHlaTEppNUpBUk5LTGlWTUpaWXVTdjd0U1F3V0RKZVhMa2tCb0VrdWw1Y01GZ3hKQVJOS0xwWWxUQ1V1U3Y3dFNTNG1TeWFYTGtuKzdVb01GZ3lXbGk1S0FSTUFBQUVCS1FDWkF0Y0M1d0FLQUFBQkJ5YzNIZ0VYQnljUkl3SGdpUzdYTm1zMkxvbEFBbXlKTGRjMmF6WXRpZjR0QUFNQWdBQkFBNEFEUUFBYkFEY0FSZ0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZVE54NEJGd2NYQnljSEp6Y25OeGNDQUU5R1Jta2VIaDRlYVVaR1QwOUdSbWtlSGg0ZWFVWkdUMEk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN1Fxa01GZ3lxcWk2cHFTNnFxaTZwQTBBZUhtbEdSazlQUmtacEhoNGVIbWxHUms5UFJrWnBIaDVBR1JsWE9qdENRanM2VnhrWkdSbFhPanRDUWpzNlZ4a1ovdTJxREJZTXFha3VxcW91cWFrdXFnQURBTlVBbFFNckF1c0FCQUFKQUEwQUFCTXpFU01STnpNUkl4RVRNeEVqMVlDQTczaDQ3M2g0QWpmK1hnR2l0UDJxQWxiK3F2OEFBQU1BQVAvQUJBQUR3QUFQQUNBQUtBQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZakJ3RW5OeGNCSGdFRFNQMXdUR3hzVEFLUVRHeHNTdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBTUFBUC9BQkFBRHdBQVBBQ0FBSkFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hLL1cwdFFVRXRBcE10UVVBdUpmMjJBa3BBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgrSWtvQUFnQUEvOEFFQUFQQUFBOEFJQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWWpBMGhNYkd4TS9YQk1iR3hNQXBMOWJTMUJRUzBDa3kxQlFDNER3R3hNL1hCTWJHeE1BcEJNYkVkQkxmMXRMa0JBTGdLVExVRUFBQUFEQUhNQVNBT05BemdBQmdBS0FCWUFBQWtCQnhjSkFpRTNGeUVGTUFZVkZCWXpNalkxTkNZQy9mNVZQR2IrOXdGRkFVWDk3OHpNL21nQ1RGVXlJeU15VlFHTkFhczhadjczL3JzQlJjM05RR3NxSXpJeUl5cHJBQUFBQUFJQXdBQ2dBY0FDNEFBREFBY0FBQ1VoRVNFSEVUTVJBY0QvQUFFQXdJQ2dBa0JBL2tBQndBQUVBTUFBb0FOQUF1QUFBd0FIQUFzQUR3QUFKU01STXhNakVUTVRJeEV6QVNNUk13SEFRRURBUUVEQVFFRDl3RUJBb0FKQS9jQUNRUDNBQWtEOXdBSkFBQUFBQUFFQlhnQ3BBcUlDMXdBSEFBQUJCeGNIQ1FFZUFRS2k2ZWt0L3VrQkZ3c1hBcW5wNlM0QkZ3RVhEQllBQXdDZ0FFQURZQU5BQUJBQUlBQXpBQUFsSXlJbU5SRTBOanNCTWhZVkVSUUdJeE1oSWdZVkVSUVdNeUV5TmpVUk5DWUJJendCTlJFME5qTWhPZ0V6RlNFaUJoVVJBcjc3UTJCZ1EvdERYMTlEQmY3OUp6YzNKd0VESnpjMy9mZEJYME1CbWdFQ0FmNWRKalpBWDBRQk9rTmdZRVAreGtSZkFrQTRKdjY3SnpjM0p3RkZKamorQUFFRUFnSVhRMTlBTmliOTNBQUFBQUFCQVNrQTZRTFhBcGNBRGdBQUFUY2VBUmNIRndjbkJ5YzNKemNYQWdDcERCWU1xcW91cWFrdXFxb3VxUUh0cWd3V0RLbXBMcXFxTHFtcExxb0FBQUFBQlFCQUFBQUR3QU9BQUNVQU1nQS9BRXNBVVFBQUFUNEJOVFFtSXlJR0ZSUVdNekkyTnhjSExnRWpJZ1lWRkJZek1qWTFOQ1luTndFek5RRUhJaVkxTkRZek1oWVZGQVlqRVNJbU5UUTJNeklXRlJRR0l3RWlKalUwTmpNeUZoVVVCZ2tCRndFMUl3R1dDQWhwU2twcGFVb1VKUkZwYVJFbEZFcHBhVXBLYVFnSWFnRTZodjNXb3lVME5DVWxOVFVsSlRRMEpTVTFOU1VCRFFrTkRRa0pEUTBCTWY3eldRRTZoZ0tERVNVVVNtbHBTa3BwQ0FocWFnZ0lhVXBLYVdsS0ZDVVJhZjdITFFJcEVEVWxKVFEwSlNVMS9lYzBKU1UxTlNVbE5BRlFEUWtKRFEwSkNRMEJxZjd6V1FFNUxRQUFCd0NHQUZZRGVnTXFBQXNBRHdBYkFDZ0FMQUE0QUR3QUFEY2lCaFVVRmpNeU5qVTBKZ1UxSVJVRElnWVZGQll6TWpZMU5DWUhNaFlWRkFZaklpWTFORFl6QlNFMUlRRXlGaFVVQmlNaUpqVTBOZ1VoTlNIR0dpWW1HaHNsSlFLWi9lYWFHaVltR2hzbEpSc1NHUmtTRVJrWkVRSUovcEVCYi8zM0d5VWxHeG9tSmdMTy9lWUNHdFltR2hzbEpSc2FKbXRWVlFHVkpob2FKaVlhR2lZVkdSSVNHUmtTRWhsV1ZnRS9KUnNhSmlZYUd5VnFWUUFBQUFFQktRQ1pBdGNDNXdBS0FBQUJOeDRCRndjbk54Y1JNd0lnaVF3V0ROZlhMb2xBQVJTSkN4Y0wxOWN0aVFIVEFBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFVQVF3QnpBNzBERFFBc0FFb0FhQUJ6QUgwQUFBRStBVGM2QVRNV0Z4NEJGeFlYTUFZSERnRUhGd2NuQmdjR0ppY21KeTRCSnk0Qkp6QTJOejRCTnljM0Z3Y09BUThCRmhjZUFSY1dOejRCTnljT0FTTWlKeTRCSnlZMU5EWTNKd0UrQVQ4QkppY3VBU2NtQnc0QkJ4YytBVE15Rng0QkZ4WVZGQVlIRndFT0FSVVVGak15TmpjbkJUNEJOVFFtSXlJR0J3RXFMMmcyQndRSFNFTkNjaTB0R3prdUVDUVRQaTFMT1VCQWdENDlOU2xFR1FvUENpVWJGemNnUGkxS0NqRk9HQUVkTnplSlRFeElDeFlLSFJ4RUppOG9LVDBTRVJjVk1BSEJNVTBZQVJnbktHVTdPejRwVUNVa0hFUW1MaWtwUFJFU0dCVXEvcDBNRGw1Q0dDMFQzZ0VMRFE1ZVFoa3NFd0xFRnhzQ0FoZ1hVams0UkhZd0VSNE5QaTFMSEEwTUNCVVZKaDVLTEJFaUdGTWtIellXUGkxSlVTRlpOd0pGTlRVL0J3Y1hCQWdGSFJVWUVoSThLU2t1SmtRY01mNlpJVm8zQWpndUxrRVNFZ0VCRXhFakZSY1JFajBwS0M4bFJSd3FBUWdUTEJsQ1hnNE4zYkFUTFJoRFhRNE1BQVFBUXdDWkE3MEM5Z0FrQUVNQVlBQnZBQUFCRmhjZUFSY1dGekFHQndZSERnRW5KaWN1QVNjdUFTY3dOamMyTno0Qk56WTNPZ0V6QndZSERnRUhCZzhCRmhjZUFSY1dOelkzUGdFM05qOEJKaWN1QVNjbUl4Y3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpGelUwSmlNaUJoMEJGQll6TWpZMUFnbElRMEp5TFMwYk9TNDZUazZvVTFSRktVUVpDZzhLSlJzZ0tTcGdOVFUzQndRSEVUczROMkFuSmhnQkhUYzNpVXhNU0NvbEprQWFHaElCR0Njb1pUczdQZ2d0S0NjN0VSSVNFVHNuS0MwdEtDYzdFUklTRVRzbktDMmdYa0pDWGw1Q1FsNEM5Z0lZRjFJNU9FUjJNRDBqSkJBVkZESWVTaXdSSWhoVEpDc2pJeklPRGdKQUFoSVRRQzBzTmdKRk5UVS9Cd2NYRFJZV095TWpLQU00TGkxQ0VoRWZFUkU3SnlndExTZ25PeElSRVJJN0p5Z3RMU2duT3hFUjJBRkNYbDVDQWtKZVhrSUFBZ0RBQUtBRFFBTUFBQnNBTXdBQUFRWUhEZ0VIQmdjT0FSMEJCelEySnpRbUp5WW5MZ0VuSmljMUlRVVVGaGNXRng0QkZ4WVhGVGMxTmpjK0FUYzJOejRCTlFOQUFSWVZRU1VtSUFRRXdBSUNCUU1oSlNaQUZoVUJBb0Q5d0FRRUlTVW1RQllWQVVBQkZoVkJKU1lnQkFRQ3VpQWZIejhnSUNJRkN3WjFrRUtEUWdZS0JDSWhJa0FlSHgxR1FBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBTUFCd0FBQVNFMUlRVVZJVFVEZ1AwQUF3RDlRQUtBQVdEQVFFQkFBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBSUFRQUNnQThBQzRBQUtBQllBQUFFM0hnRVhCeWMzRnhFekFTTVJCeWMzSGdFWEJ5Y1JBVUdRREJjTTRPQXZrRUlCd0VLUUwrQTRjRGd2a0FFWWhnc1dDOUxTTElZQnlQM0FBY2lHTE5JMGFUVXNodjQ0QUFBR0FIWUFRQU9MQTBzQUhBQXlBRUVBVXdCaUFHNEFBQUVXRng0QkZ4WUhCZ2NPQVNjbUp5WW5MZ0UzTmpjMk56NEJOellYQndZSERnRUhCaGNXRng0Qk56WTNOaWN1QVNjbUJ4Y1dCdzRCQndZbkxnRXZBUUVlQVFFV056NEJOelkzTmlZbkJnY09BUWNHQnhNeUZoOEJBU1luSmpZM05qYzZBUWNHQnc0QkJ3WVhBUzRCQndJR1lsVlZhdzROTFNkT1RiZGRYa2N2SGg0WENBZ2NHU2NtWHpjM09RcFRSMGhhQ2dzbktGTlR1VlZWTFNVS0NWaEpTVnp6SXdnSVRVQkJUaHcwR0NnQmd3WUwvdGdvS1NwSkhCc01DQUVKSVNBaFFTRWdJVU1oUUIwcC9uMGxCUVl5T0RoWUJBb0dNQ29xTndvS0RnRUdFU0lTQTBzQ05UV2taV1JnVkRjM0pSVVVReXM1T241QVFEb3lLaWs2RUJBQlFBRXRMWXhWVkZGVExTMEVLaXRjVEZWVmp5OHVBYzFBU2tsN0pTWUlBaEVORmdHRENoVCtyUXdGQlNjZ0h5a2VQUjBnSVNGQklTQWhBZFlSRUJiK2ZFRkxUSUl1TFFaQUFoa1pUVEF2TGdFRkJRVUJBQUFBQUFNQWdBQXdBNEFEVUFBV0FDSUFOZ0FBQVRRbUl5SUdGU01pQmhVUkZCWXpJVEkyTlJFMEppTUZNaFlWRkFZaklpWTFORFlCSVNJbU5SRTBOanNCRlNFMU16SVdGUkVVQmdLQU9FaElPSUExUzBzMUFnQTFTMHMxL3dBU0dSa1NFaGtaQVJMK0FCb21KaHBBQVlCQUdpWW1BdkFZU0VnWVN6WCtRRFZMU3pVQndEVkxFUmdSRVJnWUVSRVkvWkVtR2dIQUdpYUFnQ1lhL2tBYUpnQUFBQUFDQUhBQU1BT1FBMUFBS0FCQUFBQUJKekEyTno0QkZ6Y21OejRCTnpZeEZoY2VBUmNXRnc0QkJ3NEJKd2NlQVJjV0JnOEJKd2NuTndFT0FSOEJCeVlHQndFK0FUYzJKaWMzTUJZM0p6QUdNUUZabFFZUElYRXdaUWtRRUN3VUZDVWtKVWtsSlNRRkN3VWFSU3BxQVFFQ0F5Z3ZHSnJwTGVrQkNCRWFDaENnTUdJVEFTRUNCQUllQndlYU9pVGFBUUZIbFNjVkxROEpZeHdkSFM0UER5VWxKRW9sSkNVSERnY2pMd2RuQ1FFYk0yQVlESnJxTHVrQnRnNG1EeGVmREFJZS90OENBd0lhVml5YUVTclpBUUFBQ2dBLy8vOER3UU9CQUNjQU93QkhBR0VBWndCdUFIc0FoZ0NNQUpJQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklUSVJFV014WTJOelkzUGdFM05qYytBU2MwSndFVUZoVWVBUmN5RmpNMUl3RUhKemNlQVJjSEp4VU9BUWNqRndjbk54NEJGd2NXTmpjMUJSUVdGVE0xSndZVUJ6TTFJemNxQVNNaUJnY1VCaFV6TlRNbEZUTTBKalV1QVNjaUppVUdJZ2NWTXpjbUlpTVZNd01rUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWs5WFFJQkFRRUJBbHcrU1VsSmtrbEpxUDI2UFQwOWVqMDlQU1ExQWdJQ0FRRUJBdno4QVFJMUpBZ1FDSHdDUVFrdVZ4WXJGaTRKQVZ3L2R3b3VWbFlNRmd3TFVZSUIvYndCZm4wQkFYOTl2eGd1RnlVNkFRRjhRZ0hIZlFFQ05TUUlFUDd6SVVFZ2dzTWdRU0dDQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUgvQVAyOEFnRUJBUUlDQWpVa1BUMDhlajA5UFA0OENSRUlKRFVDQVg0QkZnb3VWaFVzRlM0S2N6OWZBZ2t1VjFjTUZnd0tBUjFGYzFRaFFDQ0J3aUZBSVlML09DWVlNQmxCZjM4SkVRa2tOUUlCQWdFQmY0QUJnUUFBQWdDZ0FHQURZQU1nQUFzQUZ3QUFBU0VWSVJFakVTRTFJUkV6QnhFaEZTRVJNeEVoTlNFUkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQUlnd1A4QUFRREFBUUJBL3dCQS93QUJBRUFCQUFBQUFRRmVBS2tDb2dMWEFBY0FBQUVIRndjSkFSNEJBcUxwNlMzKzZRRVhDeGNDcWVucExnRVhBUmNNRmdBQ0FBRC93QVFBQThBQUd3QTNBQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtQnpJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmdJQWFsMWRpeWtvS0NtTFhWMXFhbDFkaXlrb0tDbUxYVjFxWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qSXlONlVsRUR3Q2dwaTExZGFtcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtFQWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VWMWRVVko2SXlNQUF3QUEvOEFFQUFQQUFCc0FOd0JUQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUJ6SVhIZ0VYRmhVVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05nRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQVowWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtEd0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLRUFqSTNwU1VWMWRVVko2SXlNakkzcFNVVjFkVVZKNkl5UCtRRUk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN0FBQUFBQUlBZVFDVEE0Y0M3UUFPQUJrQUFBa0JKemNoTlNFbk54WVhIZ0VYRmlVWElSVWhCeGMzSnc0QkE0ZiswbzFBL20wQmswQ05KaVlsVENVbS9zYUEvaElCN29BeTA5TU1HZ0hBL3RPTlFNQkFqU1VtSmtzbUpYcUFRSUF6MDlNTkdRQUFBQUFDQUlBQVFBT0FBMEFBRGdBWkFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUk1RTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBUURwQVI0REZ3SmlBQWNBQUFrQ054YzNIZ0VERi83cC91a3U2ZWtNRmdJMS91a0JGeTNwNlFzWEFBQUJBVjRBcVFLaUF0Y0FCd0FBQVFjWEJ3a0JIZ0VDb3VucExmN3BBUmNMRndLcDZla3VBUmNCRnd3V0FBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFFQTZRRWVBeGNDWWdBTEFBQUJCeWNISndFV0Z4NEJGeFlERnk3cDZTNEJGeU1qSWtZakl3RkxMZW5wTFFFWEl5TWpSU01qQUFBQUFRRHBBTzRERndLU0FBY0FBQWtCSnpjWEFSNEJBeGYraWJjdWlRRkpEQllDWmY2SnR5MkpBVWtMRndBQkFWNEFxUUtpQXRjQURBQUFDUUVuTnljM0ZoY2VBUmNXRndLaS91a3Q2ZWt0SXlNalJTTWpJd0hBL3VrdTZla3VJeU1qUmlJakl3QUFBQUFCQU1BQm9BTkFBZUFBQXdBQUV5RVZJY0FDZ1AyQUFlQkFBQUFBQVFEcEFSNERGd0ppQUFjQUFBa0NOeGMzSGdFREYvN3AvdWt1NmVrTUZnSTEvdWtCRnkzcDZRc1hBQUFCQUFBQUFRQUFFa3ZoZVY4UFBQVUFDd1FBQUFBQUFObEJqNDBBQUFBQTJVR1BqUUFBLzhBRUFBUEFBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBUEEvOEFBQUFRQUFBQUFBQVFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUE0QkFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQUQ4RUFBQlRCQUFCS1FRQUFJQUVBQURWQkFBQUFBUUFBQUFFQUFBQUJBQUFjd1FBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1JQkJnRWVBWXdCcUFIcUFpUUNXQUtHQXBvQ3ZBTFNBeDREUGdPMkJCSUVLZ1JJQlFnRnJnWUNCaUFHYWdjTUI3WUgyZ2dJQ0ZJSWNnaU1DSzRJd2dqZ0NRd0p4QW9VQ253TFZBdCtDNVFMNmd4cURKd015QXplRFBRTkVnMHVEVVFOWWcxd0RZWUFBQUFCQUFBQU9BQ1RBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBQ0FBQUFBRUFBQUFBQUFJQUJ3QnBBQUVBQUFBQUFBTUFDQUE1QUFFQUFBQUFBQVFBQ0FCK0FBRUFBQUFBQUFVQUN3QVlBQUVBQUFBQUFBWUFDQUJSQUFFQUFBQUFBQW9BR2dDV0FBTUFBUVFKQUFFQUVBQUlBQU1BQVFRSkFBSUFEZ0J3QUFNQUFRUUpBQU1BRUFCQkFBTUFBUVFKQUFRQUVBQ0dBQU1BQVFRSkFBVUFGZ0FqQUFNQUFRUUpBQVlBRUFCWkFBTUFBUVFKQUFvQU5BQ3dRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3UVdkQ1lXeG9ZVzBBUVFCbkFFSUFZUUJzQUdnQVlRQnRRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1iYWxoYW0tZGFyayB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICBjb2xvcjogI0Y1RjVGNTtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwQjBGRjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZDM0MzY7XFxuICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICogKjpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvZ2dsZS1idXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsOmVtcHR5IHtcXG4gICAgICAgIG1hcmdpbjogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAxNjAsIDEzMywgMC41KTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlY2YwZjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM2LCAyNDAsIDI0MSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM2LCAyNDAsIDI0MSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmMyZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NzQ5OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBCMEZGO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzNDI0MjQyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzFjMWYyMDtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogMnB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDAgNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyID4gZGl2IHtcXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgICBwYWRkaW5nOiA0cHggMDtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTZweDtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24gYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIGxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTg4MDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDUsIDE2NiwgMjU1LCAwLjUpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMTc3LCA3NCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgICB3aWR0aDogMjAwcHg7XFxuICAgICAgaGVpZ2h0OiAxODJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ODgwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXNtYWxsLWxlZnQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1zbWFsbC1yaWdodCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjY0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzMyMzkzYztcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMC42NDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICNGNUY1RjU7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgcGFkZGluZzogMHB4O1xcbiAgICBib3JkZXI6IDAgc29saWQgIzRmNGY0ZjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBoZWlnaHQ6IDI2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIgLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmYzMDtcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbjogMnB4IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgICBoZWlnaHQ6IDE4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWxhYmVsZWQuYWctbGFiZWwtYWxpZ24tdG9wIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNsaWRlciA+IC5hZy13cmFwcGVyID4gZGl2Om5vdCg6Zmlyc3Qtb2YtdHlwZSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLXBhcmVudC1jaXJjbGUge1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgaGVpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1jaGlsZC1jaXJjbGUge1xcbiAgICB0b3A6IDRweDtcXG4gICAgbGVmdDogMTJweDtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YzRjNGM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvZ2dsZS1idXR0b24gLmFnLWlucHV0LXdyYXBwZXIgLmFnLWljb24ge1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNmMGYxO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcXG4gICAgICByaWdodDogY2FsYygxMDAlIC0gMTZweCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgPiBkaXYge1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDc0OTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cuYWctY29sb3ItZGlhbG9nIHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBhbmVsIHtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWNvbG9yIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRvb2xzIHtcXG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNhdCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20od2hpdGUpLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSwgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdmFsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKGJsYWNrKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrLCByZ2JhKDIwNCwgMTU0LCAxMjksIDApKTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1kcmFnZ2VyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICB3aWR0aDogMTJweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcXG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWh1ZS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tYWxwaGEtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLWh1ZS1hbHBoYSB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG4gICAgICBoZWlnaHQ6IDExcHg7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XFxuICAgICAgd2lkdGg6IDEzcHg7XFxuICAgICAgaGVpZ2h0OiAxM3B4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWUge1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWU6Zm9jdXMge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZDc3ZTQ7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXYge1xcbiAgICAgIG1hcmdpbjogMCAzcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2OmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpsYXN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLXBvcHVwID4gZGl2Om5vdCguYWctdG9vbHRpcC1jdXN0b20pIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVjNWM1YztcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwNTA1OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFuZWwgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMzNDM5M2I7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE5MWE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIG1hcmdpbjogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24pIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjMDBCMEZGOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDQuOHB4IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG4gICAgY29sb3I6ICNlY2YwZjE7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29sb3ItcGlja2VyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JpcDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDBCMEZGOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRiAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDgwJTtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBjb250ZW50OiBcXFwiIFxcXCI7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgbWFyZ2luLXRvcDogOHB4O1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRleHQtaW5kZW50OiAtMjAwMHB4O1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzVjNWM1YzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBib3JkZXItY29sb3I6ICMwMDU4ODA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1pbi1oZWlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBoZWlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1pY29uLWV4cGFuZGVkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWljb24tY29udHJhY3RlZCB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiAjRjVGNUY1O1xcbiAgICBwYWRkaW5nOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgaW5wdXQsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmMyZTtcXG4gICAgY29sb3I6ICNGNUY1RjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyLXRvb2xwYW5lbC1ib2R5IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLWNoaWxkLWNpcmNsZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YzRjNGM7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbE1BQUFDOEFBQUFZR050WVhBWFZ0SzZBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVacU11eTNnQUFBRjRBQUFiREdobFlXUVZvbU9YQUFBY2hBQUFBRFpvYUdWaEI4SUQrUUFBSEx3QUFBQWthRzEwZU5ZQUluWUFBQnpnQUFBQTRHeHZZMkhFbUw0YUFBQWR3QUFBQUhKdFlYaHdBRVVBbFFBQUhqUUFBQUFnYm1GdFpaUVh4S1FBQUI1VUFBQUJrbkJ2YzNRQUF3QUFBQUFmNkFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTXdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUUC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBRzRBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRVZIZ0VYRmdZSERnRVZJVFV6RlNFME5qYytBU2N1QVNjMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTUUhnUVA4QUFYVVpFQW9ZSjFZQkFFRCtnQVliTFdRZ0xtSUNBWUFEZ0FKY1BrbEpTWkpKU1VrK1hBSUJBUUVCQWx3K1NVbEpra2xKU1Q1Y0FnRUJBVUU0SmtoSlNaSkpTVWtrTlFJREFRRUJBUU1DTlNSSlNVcVNTa2xKSkRVQ0F3RUJBZjhBUUFNZ1Fpc2NSQmNpUFJwQWdDWk1HQ2RISHlsSE5FVUFBUUJUQUJNRHJRTnRBQ2NBQUJNWEJ5YzNIZ0VYQnlFUkJ5YzNIZ0VYQnljUklTYzNIZ0VYQnljM0lSRTNIZ0VYQnljM0Z4SE5TaTZXbGd3V0RFb0JFMGt1bHlaTEppNUpBUk5LTGlWTUpaWXVTdjd0U1F3V0RKZVhMa2tCb0VrdWw1Y01GZ3hKQVJOS0xwWWxUQ1V1U3Y3dFNTNG1TeWFYTGtuKzdVb01GZ3lXbGk1S0FSTUFBQUVCS1FDWkF0Y0M1d0FLQUFBQkJ5YzNIZ0VYQnljUkl3SGdpUzdYTm1zMkxvbEFBbXlKTGRjMmF6WXRpZjR0QUFNQWdBQkFBNEFEUUFBYkFEY0FSZ0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZVE54NEJGd2NYQnljSEp6Y25OeGNDQUU5R1Jta2VIaDRlYVVaR1QwOUdSbWtlSGg0ZWFVWkdUMEk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN1Fxa01GZ3lxcWk2cHFTNnFxaTZwQTBBZUhtbEdSazlQUmtacEhoNGVIbWxHUms5UFJrWnBIaDVBR1JsWE9qdENRanM2VnhrWkdSbFhPanRDUWpzNlZ4a1ovdTJxREJZTXFha3VxcW91cWFrdXFnQURBTlVBbFFNckF1c0FCQUFKQUEwQUFCTXpFU01STnpNUkl4RVRNeEVqMVlDQTczaDQ3M2g0QWpmK1hnR2l0UDJxQWxiK3F2OEFBQU1BQVAvQUJBQUR3QUFQQUNBQUtBQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZakJ3RW5OeGNCSGdFRFNQMXdUR3hzVEFLUVRHeHNTdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBTUFBUC9BQkFBRHdBQVBBQ0FBSkFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hLL1cwdFFVRXRBcE10UVVBdUpmMjJBa3BBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgrSWtvQUFnQUEvOEFFQUFQQUFBOEFJQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWWpBMGhNYkd4TS9YQk1iR3hNQXBMOWJTMUJRUzBDa3kxQlFDNER3R3hNL1hCTWJHeE1BcEJNYkVkQkxmMXRMa0JBTGdLVExVRUFBQUFEQUhNQVNBT05BemdBQmdBS0FCWUFBQWtCQnhjSkFpRTNGeUVGTUFZVkZCWXpNalkxTkNZQy9mNVZQR2IrOXdGRkFVWDk3OHpNL21nQ1RGVXlJeU15VlFHTkFhczhadjczL3JzQlJjM05RR3NxSXpJeUl5cHJBQUFBQUFJQXdBQ2dBY0FDNEFBREFBY0FBQ1VoRVNFSEVUTVJBY0QvQUFFQXdJQ2dBa0JBL2tBQndBQUVBTUFBb0FOQUF1QUFBd0FIQUFzQUR3QUFKU01STXhNakVUTVRJeEV6QVNNUk13SEFRRURBUUVEQVFFRDl3RUJBb0FKQS9jQUNRUDNBQWtEOXdBSkFBQUFBQUFFQlhnQ3BBcUlDMXdBSEFBQUJCeGNIQ1FFZUFRS2k2ZWt0L3VrQkZ3c1hBcW5wNlM0QkZ3RVhEQllBQXdDZ0FFQURZQU5BQUJBQUlBQXpBQUFsSXlJbU5SRTBOanNCTWhZVkVSUUdJeE1oSWdZVkVSUVdNeUV5TmpVUk5DWUJJendCTlJFME5qTWhPZ0V6RlNFaUJoVVJBcjc3UTJCZ1EvdERYMTlEQmY3OUp6YzNKd0VESnpjMy9mZEJYME1CbWdFQ0FmNWRKalpBWDBRQk9rTmdZRVAreGtSZkFrQTRKdjY3SnpjM0p3RkZKamorQUFFRUFnSVhRMTlBTmliOTNBQUFBQUFCQVNrQTZRTFhBcGNBRGdBQUFUY2VBUmNIRndjbkJ5YzNKemNYQWdDcERCWU1xcW91cWFrdXFxb3VxUUh0cWd3V0RLbXBMcXFxTHFtcExxb0FBQUFBQlFCQUFBQUR3QU9BQUNVQU1nQS9BRXNBVVFBQUFUNEJOVFFtSXlJR0ZSUVdNekkyTnhjSExnRWpJZ1lWRkJZek1qWTFOQ1luTndFek5RRUhJaVkxTkRZek1oWVZGQVlqRVNJbU5UUTJNeklXRlJRR0l3RWlKalUwTmpNeUZoVVVCZ2tCRndFMUl3R1dDQWhwU2twcGFVb1VKUkZwYVJFbEZFcHBhVXBLYVFnSWFnRTZodjNXb3lVME5DVWxOVFVsSlRRMEpTVTFOU1VCRFFrTkRRa0pEUTBCTWY3eldRRTZoZ0tERVNVVVNtbHBTa3BwQ0FocWFnZ0lhVXBLYVdsS0ZDVVJhZjdITFFJcEVEVWxKVFEwSlNVMS9lYzBKU1UxTlNVbE5BRlFEUWtKRFEwSkNRMEJxZjd6V1FFNUxRQUFCd0NHQUZZRGVnTXFBQXNBRHdBYkFDZ0FMQUE0QUR3QUFEY2lCaFVVRmpNeU5qVTBKZ1UxSVJVRElnWVZGQll6TWpZMU5DWUhNaFlWRkFZaklpWTFORFl6QlNFMUlRRXlGaFVVQmlNaUpqVTBOZ1VoTlNIR0dpWW1HaHNsSlFLWi9lYWFHaVltR2hzbEpSc1NHUmtTRVJrWkVRSUovcEVCYi8zM0d5VWxHeG9tSmdMTy9lWUNHdFltR2hzbEpSc2FKbXRWVlFHVkpob2FKaVlhR2lZVkdSSVNHUmtTRWhsV1ZnRS9KUnNhSmlZYUd5VnFWUUFBQUFFQktRQ1pBdGNDNXdBS0FBQUJOeDRCRndjbk54Y1JNd0lnaVF3V0ROZlhMb2xBQVJTSkN4Y0wxOWN0aVFIVEFBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFVQVF3QnpBNzBERFFBc0FFb0FhQUJ6QUgwQUFBRStBVGM2QVRNV0Z4NEJGeFlYTUFZSERnRUhGd2NuQmdjR0ppY21KeTRCSnk0Qkp6QTJOejRCTnljM0Z3Y09BUThCRmhjZUFSY1dOejRCTnljT0FTTWlKeTRCSnlZMU5EWTNKd0UrQVQ4QkppY3VBU2NtQnc0QkJ4YytBVE15Rng0QkZ4WVZGQVlIRndFT0FSVVVGak15TmpjbkJUNEJOVFFtSXlJR0J3RXFMMmcyQndRSFNFTkNjaTB0R3prdUVDUVRQaTFMT1VCQWdENDlOU2xFR1FvUENpVWJGemNnUGkxS0NqRk9HQUVkTnplSlRFeElDeFlLSFJ4RUppOG9LVDBTRVJjVk1BSEJNVTBZQVJnbktHVTdPejRwVUNVa0hFUW1MaWtwUFJFU0dCVXEvcDBNRGw1Q0dDMFQzZ0VMRFE1ZVFoa3NFd0xFRnhzQ0FoZ1hVams0UkhZd0VSNE5QaTFMSEEwTUNCVVZKaDVLTEJFaUdGTWtIellXUGkxSlVTRlpOd0pGTlRVL0J3Y1hCQWdGSFJVWUVoSThLU2t1SmtRY01mNlpJVm8zQWpndUxrRVNFZ0VCRXhFakZSY1JFajBwS0M4bFJSd3FBUWdUTEJsQ1hnNE4zYkFUTFJoRFhRNE1BQVFBUXdDWkE3MEM5Z0FrQUVNQVlBQnZBQUFCRmhjZUFSY1dGekFHQndZSERnRW5KaWN1QVNjdUFTY3dOamMyTno0Qk56WTNPZ0V6QndZSERnRUhCZzhCRmhjZUFSY1dOelkzUGdFM05qOEJKaWN1QVNjbUl4Y3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpGelUwSmlNaUJoMEJGQll6TWpZMUFnbElRMEp5TFMwYk9TNDZUazZvVTFSRktVUVpDZzhLSlJzZ0tTcGdOVFUzQndRSEVUczROMkFuSmhnQkhUYzNpVXhNU0NvbEprQWFHaElCR0Njb1pUczdQZ2d0S0NjN0VSSVNFVHNuS0MwdEtDYzdFUklTRVRzbktDMmdYa0pDWGw1Q1FsNEM5Z0lZRjFJNU9FUjJNRDBqSkJBVkZESWVTaXdSSWhoVEpDc2pJeklPRGdKQUFoSVRRQzBzTmdKRk5UVS9Cd2NYRFJZV095TWpLQU00TGkxQ0VoRWZFUkU3SnlndExTZ25PeElSRVJJN0p5Z3RMU2duT3hFUjJBRkNYbDVDQWtKZVhrSUFBZ0RBQUtBRFFBTUFBQnNBTXdBQUFRWUhEZ0VIQmdjT0FSMEJCelEySnpRbUp5WW5MZ0VuSmljMUlRVVVGaGNXRng0QkZ4WVhGVGMxTmpjK0FUYzJOejRCTlFOQUFSWVZRU1VtSUFRRXdBSUNCUU1oSlNaQUZoVUJBb0Q5d0FRRUlTVW1RQllWQVVBQkZoVkJKU1lnQkFRQ3VpQWZIejhnSUNJRkN3WjFrRUtEUWdZS0JDSWhJa0FlSHgxR1FBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBTUFCd0FBQVNFMUlRVVZJVFVEZ1AwQUF3RDlRQUtBQVdEQVFFQkFBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBSUFRQUNnQThBQzRBQUtBQllBQUFFM0hnRVhCeWMzRnhFekFTTVJCeWMzSGdFWEJ5Y1JBVUdRREJjTTRPQXZrRUlCd0VLUUwrQTRjRGd2a0FFWWhnc1dDOUxTTElZQnlQM0FBY2lHTE5JMGFUVXNodjQ0QUFBR0FIWUFRQU9MQTBzQUhBQXlBRUVBVXdCaUFHNEFBQUVXRng0QkZ4WUhCZ2NPQVNjbUp5WW5MZ0UzTmpjMk56NEJOellYQndZSERnRUhCaGNXRng0Qk56WTNOaWN1QVNjbUJ4Y1dCdzRCQndZbkxnRXZBUUVlQVFFV056NEJOelkzTmlZbkJnY09BUWNHQnhNeUZoOEJBU1luSmpZM05qYzZBUWNHQnc0QkJ3WVhBUzRCQndJR1lsVlZhdzROTFNkT1RiZGRYa2N2SGg0WENBZ2NHU2NtWHpjM09RcFRSMGhhQ2dzbktGTlR1VlZWTFNVS0NWaEpTVnp6SXdnSVRVQkJUaHcwR0NnQmd3WUwvdGdvS1NwSkhCc01DQUVKSVNBaFFTRWdJVU1oUUIwcC9uMGxCUVl5T0RoWUJBb0dNQ29xTndvS0RnRUdFU0lTQTBzQ05UV2taV1JnVkRjM0pSVVVReXM1T241QVFEb3lLaWs2RUJBQlFBRXRMWXhWVkZGVExTMEVLaXRjVEZWVmp5OHVBYzFBU2tsN0pTWUlBaEVORmdHRENoVCtyUXdGQlNjZ0h5a2VQUjBnSVNGQklTQWhBZFlSRUJiK2ZFRkxUSUl1TFFaQUFoa1pUVEF2TGdFRkJRVUJBQUFBQUFNQWdBQXdBNEFEVUFBV0FDSUFOZ0FBQVRRbUl5SUdGU01pQmhVUkZCWXpJVEkyTlJFMEppTUZNaFlWRkFZaklpWTFORFlCSVNJbU5SRTBOanNCRlNFMU16SVdGUkVVQmdLQU9FaElPSUExUzBzMUFnQTFTMHMxL3dBU0dSa1NFaGtaQVJMK0FCb21KaHBBQVlCQUdpWW1BdkFZU0VnWVN6WCtRRFZMU3pVQndEVkxFUmdSRVJnWUVSRVkvWkVtR2dIQUdpYUFnQ1lhL2tBYUpnQUFBQUFDQUhBQU1BT1FBMUFBS0FCQUFBQUJKekEyTno0QkZ6Y21OejRCTnpZeEZoY2VBUmNXRnc0QkJ3NEJKd2NlQVJjV0JnOEJKd2NuTndFT0FSOEJCeVlHQndFK0FUYzJKaWMzTUJZM0p6QUdNUUZabFFZUElYRXdaUWtRRUN3VUZDVWtKVWtsSlNRRkN3VWFSU3BxQVFFQ0F5Z3ZHSnJwTGVrQkNCRWFDaENnTUdJVEFTRUNCQUllQndlYU9pVGFBUUZIbFNjVkxROEpZeHdkSFM0UER5VWxKRW9sSkNVSERnY2pMd2RuQ1FFYk0yQVlESnJxTHVrQnRnNG1EeGVmREFJZS90OENBd0lhVml5YUVTclpBUUFBQ2dBLy8vOER3UU9CQUNjQU93QkhBR0VBWndCdUFIc0FoZ0NNQUpJQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklUSVJFV014WTJOelkzUGdFM05qYytBU2MwSndFVUZoVWVBUmN5RmpNMUl3RUhKemNlQVJjSEp4VU9BUWNqRndjbk54NEJGd2NXTmpjMUJSUVdGVE0xSndZVUJ6TTFJemNxQVNNaUJnY1VCaFV6TlRNbEZUTTBKalV1QVNjaUppVUdJZ2NWTXpjbUlpTVZNd01rUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWs5WFFJQkFRRUJBbHcrU1VsSmtrbEpxUDI2UFQwOWVqMDlQU1ExQWdJQ0FRRUJBdno4QVFJMUpBZ1FDSHdDUVFrdVZ4WXJGaTRKQVZ3L2R3b3VWbFlNRmd3TFVZSUIvYndCZm4wQkFYOTl2eGd1RnlVNkFRRjhRZ0hIZlFFQ05TUUlFUDd6SVVFZ2dzTWdRU0dDQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUgvQVAyOEFnRUJBUUlDQWpVa1BUMDhlajA5UFA0OENSRUlKRFVDQVg0QkZnb3VWaFVzRlM0S2N6OWZBZ2t1VjFjTUZnd0tBUjFGYzFRaFFDQ0J3aUZBSVlML09DWVlNQmxCZjM4SkVRa2tOUUlCQWdFQmY0QUJnUUFBQWdDZ0FHQURZQU1nQUFzQUZ3QUFBU0VWSVJFakVTRTFJUkV6QnhFaEZTRVJNeEVoTlNFUkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQUlnd1A4QUFRREFBUUJBL3dCQS93QUJBRUFCQUFBQUFRRmVBS2tDb2dMWEFBY0FBQUVIRndjSkFSNEJBcUxwNlMzKzZRRVhDeGNDcWVucExnRVhBUmNNRmdBQ0FBRC93QVFBQThBQUd3QTNBQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtQnpJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmdJQWFsMWRpeWtvS0NtTFhWMXFhbDFkaXlrb0tDbUxYVjFxWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qSXlONlVsRUR3Q2dwaTExZGFtcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtFQWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VWMWRVVko2SXlNQUF3QUEvOEFFQUFQQUFCc0FOd0JUQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUJ6SVhIZ0VYRmhVVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05nRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQVowWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtEd0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLRUFqSTNwU1VWMWRVVko2SXlNakkzcFNVVjFkVVZKNkl5UCtRRUk3T2xjWkdSa1pWem83UWtJN09sY1pHUmtaVnpvN0FBQUFBQUlBZVFDVEE0Y0M3UUFPQUJrQUFBa0JKemNoTlNFbk54WVhIZ0VYRmlVWElSVWhCeGMzSnc0QkE0ZiswbzFBL20wQmswQ05KaVlsVENVbS9zYUEvaElCN29BeTA5TU1HZ0hBL3RPTlFNQkFqU1VtSmtzbUpYcUFRSUF6MDlNTkdRQUFBQUFDQUlBQVFBT0FBMEFBRGdBWkFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUk1RTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBUURwQVI0REZ3SmlBQWNBQUFrQ054YzNIZ0VERi83cC91a3U2ZWtNRmdJMS91a0JGeTNwNlFzWEFBQUJBVjRBcVFLaUF0Y0FCd0FBQVFjWEJ3a0JIZ0VDb3VucExmN3BBUmNMRndLcDZla3VBUmNCRnd3V0FBRUJYZ0NwQXFJQzF3QU1BQUFKQVNjM0p6Y1dGeDRCRnhZWEFxTCs2UzNwNlMwakl5TkZJeU1qQWNEKzZTN3A2UzRqSXlOR0lpTWpBQUFBQUFFQTZRRWVBeGNDWWdBTEFBQUJCeWNISndFV0Z4NEJGeFlERnk3cDZTNEJGeU1qSWtZakl3RkxMZW5wTFFFWEl5TWpSU01qQUFBQUFRRHBBTzRERndLU0FBY0FBQWtCSnpjWEFSNEJBeGYraWJjdWlRRkpEQllDWmY2SnR5MkpBVWtMRndBQkFWNEFxUUtpQXRjQURBQUFDUUVuTnljM0ZoY2VBUmNXRndLaS91a3Q2ZWt0SXlNalJTTWpJd0hBL3VrdTZla3VJeU1qUmlJakl3QUFBQUFCQU1BQm9BTkFBZUFBQXdBQUV5RVZJY0FDZ1AyQUFlQkFBQUFBQVFEcEFSNERGd0ppQUFjQUFBa0NOeGMzSGdFREYvN3AvdWt1NmVrTUZnSTEvdWtCRnkzcDZRc1hBQUFCQUFBQUFRQUFFa3ZoZVY4UFBQVUFDd1FBQUFBQUFObEJqNDBBQUFBQTJVR1BqUUFBLzhBRUFBUEFBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBUEEvOEFBQUFRQUFBQUFBQVFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUE0QkFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQUQ4RUFBQlRCQUFCS1FRQUFJQUVBQURWQkFBQUFBUUFBQUFFQUFBQUJBQUFjd1FBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1JQkJnRWVBWXdCcUFIcUFpUUNXQUtHQXBvQ3ZBTFNBeDREUGdPMkJCSUVLZ1JJQlFnRnJnWUNCaUFHYWdjTUI3WUgyZ2dJQ0ZJSWNnaU1DSzRJd2dqZ0NRd0p4QW9VQ253TFZBdCtDNVFMNmd4cURKd015QXplRFBRTkVnMHVEVVFOWWcxd0RZWUFBQUFCQUFBQU9BQ1RBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBQ0FBQUFBRUFBQUFBQUFJQUJ3QnBBQUVBQUFBQUFBTUFDQUE1QUFFQUFBQUFBQVFBQ0FCK0FBRUFBQUFBQUFVQUN3QVlBQUVBQUFBQUFBWUFDQUJSQUFFQUFBQUFBQW9BR2dDV0FBTUFBUVFKQUFFQUVBQUlBQU1BQVFRSkFBSUFEZ0J3QUFNQUFRUUpBQU1BRUFCQkFBTUFBUVFKQUFRQUVBQ0dBQU1BQVFRSkFBVUFGZ0FqQUFNQUFRUUpBQVlBRUFCWkFBTUFBUVFKQUFvQU5BQ3dRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3UVdkQ1lXeG9ZVzBBUVFCbkFFSUFZUUJzQUdnQVlRQnRRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlRV2RDWVd4b1lXMEFRUUJuQUVJQVlRQnNBR2dBWVFCdFJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1iYWxoYW0ge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiAjMDAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOTFFQTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHdoaXRlO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtICo6Zm9jdXMsIC5hZy10aGVtZS1iYWxoYW0gKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogODEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoZWNrYm94LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvZ2dsZS1idXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveCBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveCBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsOmVtcHR5IHtcXG4gICAgICAgIG1hcmdpbjogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiAjZTUzOTM1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAxNjAsIDEzMywgMC41KTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5NUE1QTY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0OSwgMTY1LCAxNjYsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5NUE1QTY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ5LCAxNjUsIDE2NiwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZGZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNztcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwOTFFQTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQkRDM0M3JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNWY3Zjc7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogMnB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyID4gZGl2IHtcXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICBwYWRkaW5nOiA0cHggMDtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxNnB4O1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24gYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIGxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgLmFnLWljb24ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCBidXR0b24ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2U0ZmY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDg4LCAyNTUsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDEzMiwgMC4xKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM4NjkxOTg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICAgIHdpZHRoOiAyMDBweDtcXG4gICAgICBoZWlnaHQ6IDE4MnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXNtYWxsLWxlZnQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogI2RkZTRlNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAwLjU0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAxNjAsIDEzMywgMC41KSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjMDAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiAjMDAwO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XFxuICAgIHBhZGRpbmc6IDBweDtcXG4gICAgYm9yZGVyOiAwIHNvbGlkICNjYmQwZDM7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllZWVmO1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgaGVpZ2h0OiAyNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IGRpdiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC10b29sYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNWY1O1xcbiAgICAgIHBhZGRpbmc6IDRweDtcXG4gICAgICBib3JkZXI6IDAgc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW46IDJweCAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICAgIGhlaWdodDogMThweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2xpZGVyID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1wYXJlbnQtY2lyY2xlIHtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLWNoaWxkLWNpcmNsZSB7XFxuICAgIHRvcDogNHB4O1xcbiAgICBsZWZ0OiAxMnB4O1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XFxuICAgIG1hcmdpbi10b3A6IC00cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjNGM0YzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjN0Y4QzhEO1xcbiAgICBib3JkZXItcmFkaXVzOiA1MDByZW07IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3RjhDOEQ7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyID4gZGl2IHtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciBidXR0b246aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZy5hZy1jb2xvci1kaWFsb2cge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIHtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1jb2xvciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdG9vbHMge1xcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNhdCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20od2hpdGUpLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSwgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXZhbCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShibGFjayksIHRvKHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpKTtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWh1ZS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWFscGhhLWJhY2tncm91bmQge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgICAgIGhlaWdodDogMTFweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XFxuICAgICAgd2lkdGg6IDEzcHg7XFxuICAgICAgaGVpZ2h0OiAxM3B4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlIHtcXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZTpmb2N1cyB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkNzdlNDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXYge1xcbiAgICAgIG1hcmdpbjogMCAzcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2Omxhc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLXBvcHVwID4gZGl2Om5vdCguYWctdG9vbHRpcC1jdXN0b20pIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhbmVsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkY2RlO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlMGUyOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYW5lbCAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NiZDBkMztcXG4gICAgY29sb3I6ICMwMDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjY2JkMGQzO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBtYXJnaW46IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWw6bnRoLWNoaWxkKDJuICsgMik6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWw6bnRoLWNoaWxkKDNuKSB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsLmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZm9ybWF0IC5hZy1jaGFydC1mb3JtYXQtd3JhcHBlciAuYWctZ3JvdXAtaXRlbSB7XFxuICAgIG1hcmdpbjogNC44cHggMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG4gICAgY29sb3I6ICM3RjhDOEQ7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29sb3ItcGlja2VyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBsaW5lLWhlaWdodDogMTZweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUEgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogODAlO1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTg5LCAxOTUsIDE5OSwgMC41KTtcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0ZXh0LWluZGVudDogLTIwMDBweDtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDo6YWZ0ZXIge1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcC5hZy13aWR0aC1oYWxmOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogI2Q5ZGNkZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWluLWhlaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zaWRlLWJhcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1leHBhbmRlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1jb250cmFjdGVkIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgcGFkZGluZzogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyLXRvb2xwYW5lbC1ib2R5IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxNQUFBQzhBQUFBWUdOdFlYQVhWdEs2QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WnQ2c29hNEFBQUY0QUFBVTRHaGxZV1FWbzJPdkFBQVdXQUFBQURab2FHVmhCOFFEK0FBQUZwQUFBQUFrYUcxMGVOWUFHRmtBQUJhMEFBQUE0R3h2WTJHYWhKVjZBQUFYbEFBQUFISnRZWGh3QUVVQVhRQUFHQWdBQUFBZ2JtRnRaUkhCYkNVQUFCZ29BQUFCbm5CdmMzUUFBd0FBQUFBWnlBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE13UEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VFAvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFDZ0FBQVNFWEJ5RVZJUk1ESVJVRFN2NlRlWGtCYmYxczNOd0NsQUtWMWRXckFZQUJnS3NBQUFBQUFRQUEvOEFFQUFQQUFDRUFBQUUxQnljM0Z3Y25FU0VuTnhjSEp6Y2hFVGNYQnljM0Z4RWhGd2NuTnhjSElSRUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQVFBQUFBQUFBUUNXQUI0RGFnTmlBQkFBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEV4QWE2eFp3RnFMUzR0V2k0dExXZXdwUUpDc1djQmFpNHRMVnN0TFMxbnNQM2RBaVFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWpBQ2NBTEFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakpUTVZJd016RVNNUkEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AyYVZWVUJWVlZWcTFaV1FrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9xdisxcXFxQWFyK1ZnR3FBQUFBQXdBQi83NEQvd1BCQUE4QUh3QXBBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnY0JKemNYRXg0QkZ6RURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWWJQN28vVFd1NkJJbUVnUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdMNzkvc3BEaXdHb0NoUUtBQUFBQUFNQUFmKytBLzhEd1FBUEFCOEFJd0FBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWURJVFVoQTM4MVMwczEvUUkxUzBzMUF2LzgvaEVZR0JFREFoRVlHT2IrcWdGV0E4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9nR3FBQUFBQWdBQi83NEQvd1BCQUE4QUh3QUFBVElXRlJFVUJpTWhJaVkxRVRRMk13VWhJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFNQWN3QklBNDBET0FBR0FBb0FGd0FBQ1FFSEZ3a0NJVGNYSVFVd0JoVVVGak15TmpVMEpqRUMvZjVWUEdiKzl3RkZBVVg5Nzh6TS9tZ0NURlV5SXlNeVZRR05BYXM4WnY3My9yc0JSYzNOUUdzcUl6SXlJeXByQUFBQUFnQlZBQlVCcXdOckFBTUFCd0FBQVJFaEVRRVZJVFVCcS82cUFWYitxZ0pyL2FvQ1ZnRUFxNnNBQUFBR0FGVUFGUU9yQTJzQUF3QUhBQXNBRHdBVEFCY0FBQ1VWSVRVaEZTRTFBeFVoTlNFVklUVURGU0UxSVJVaE5RR3IvcW9EVnY2cXF2NnFBMWIrcXFyK3FnTlcvcXJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQXdBQi83NEQvd1BCQUE4QUh3QWpBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnTVZJVFVEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBQUFEQUtzQWF3TlZBeFVBQndBTUFCSUFBQUV6RVNFMUl4RWhFeUVSSVJFbk5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQVZWV1ZmNnJBUUFBQUFBQUFRQnVBQzREa2dOU0FBMEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FnQUJHUjQ5SHY3bkFSbDUvdWYrNTNrQkdmN25lUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1hrQUF3QjRBTlVEbndMaEFEZ0FSd0JhQUFBQk5qYytBVGMyRng0Qkh3RUdCdzRCQndZSEZoY2VBUmNXRnc0Qkp5NEJKdzRCQndZbkxnRW5KamMrQVRjdUFUYytBUmNlQVJjZUFSY0hCZ2NPQVFjR056NEJOekEyQnpFbklnWUhEZ0VIQmhjZUFSY1dGemN1QVNNeEFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFBQUJ3QXlBQ2NEemdOWkFBc0FEd0FiQUI4QUt3QXdBRDBBQURjaUJoVVVGak15TmpVMEppa0JGU0VCSWdZVkZCWXpNalkxTkNZaEZTRTFCeklXRlJRR0l5SW1OVFEyQVJVaE5TRWhNaFlWRkFZaklpWTFORFl6blMwK1BpMHNQajREQmYxVkFxdjh6eTArUGkwc1BqNERCZjFWaGg0c0xCNGZMQ3dEVVAxVkFxdjh6eXcrUGl3dFBqNHQvRDRzTFQ0K0xTdysxUUlFUHl3c1B6OHNMRC9XMWlBc0h4OHNMQjhmTEFGTzFkVStMU3crUGl3dFBnQUFBQUVBbGdBakEyb0RYUUFKQUFBQkVUTVJOeGNKQVRjWEFhK2tzR2YrbHY2V1o3SUJRd0lhL2Vld1ovNldBV3Buc1FBQUFBQURBQUgvd1FRQkE4RUFFQUFnQUN3QUFBRXlGaFVSRkFZaklTSW1OUkUwTmpNaEZ5RWlCaFVSRkJZeklUSTJOUkUwSmdFekZTTVZJelVqTlRNMU13T0FOVXhNTmYwQk5VdExOUUwvQWZ6K0VoZ1lFZ01DRVJnWS9zU3JxNnVycTZzRHdVczEvUUExUzBzMUF3QTFTMWNZRWYwQkVSZ1lFUUwvRVJqK3JLcXFxcXFyQUFBREFDSUFkZ1BlQXdvQUlnQklBRk1BQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTnpFQlBnRTNNQ1luRGdFSEZ3RW9OU2NnUWlOSVFrSjNORE1yS205QU4wTWhEdjdNSGo4ZUNoUUxBUXMxYXpKUU11c3FKU1U2RkJRSEl6NGFKakV5Y3o4L1B6UXVMeTlmTHk4dUloNGZOaGtZRnl0cVB3SGpMa3dnUHprTFBpeFRBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZodHFBQUFBQXdBaUFKa0QzZ0xvQUJzQU93QktBQUFCRmhjZUFSY1dGd1lIRGdFbkppY21KeTRCSnlZbk5qYytBVGMyQnc0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp6RWxKalExSXc0QkJ4YytBVGM2QVRNQ0NVaENRbmMwTXlzN1ZWWEZhV2xqSWg0Zk5oa1lGeW8xTkh0R1JiY2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRTEF1Z0NGeGRQTmpaQVYwVkZTQVVFUEJRYUdqb2hJQ0UvTnpkUkZ4ZXZHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFBQ0FGVUFRQU9yQTBBQUJnQUxBQUFUSVFFUkp4RUJBUlV6TlNOVkExYitxcXIrcWdGV3Fxb0RRUDZyL2xXckFRQUJWZjZyVmxZQUFBSUE4Z0RBQXc0Q3dBQURBQWtBQUFFUkl4RUJKemNuQ1FFQlIxVUNITWZIT2Y4QUFRQUN3UDRBQWdEK09jZkhPZjhBL3dBQUFBQUFEQUNyLytzRFZRT1ZBQU1BQndBTEFBOEFFd0FYQUJzQUh3QWpBQ2NBS3dBdkFBQTNNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5RWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxQUFBQUFBVUFWZi9yQTZzRGxRQWZBQ01BS0FBc0FEQUFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVeEFTTVZNeEVqRlRNMUVTTVZNeVVqRlRNQnE2b0JWdjZxcXFzQlZRRlcvcXIrcXdGVkFWYitxdjVXVmdGV0FhcXFxcXFxcXFyK0FLcXFBMEJWL3dCV1ZxcFYvd0JWL3dCVy93QlZBbFVCQUZYOVZWVUJxMVpXQVZWVlZWVUFBQUFEQUJrQkVRUG5BcE1BRmdBdEFEd0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKekVISmpRMUl3NEJCeGMrQVRjMk1qTUNDRDQ4UEhJek5Dd2tYbnA1LzN4N1l5UXhPamwrUkVNQkxSeUJVbEtCSENFOUhBTktYbDdGWDE5TUF4dy9JcGtCQzBTSFBDVXVaakVLRkFzQ2t3RU1EQzBoSUNza1hUVTFEeW9wWHlReUp5ZzNEdytJUjF4Y1J3NG1Gd00vSUNFQklCOUFBaGdvRGlNVkt4VUJFQjVNRmcwQ0FRQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBY0FDY0FBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1WQXpNM05TY2pCeFVlQVJjQ1ZaeDVuTjNkSjA0bmVaeXFuSG1jM2QyY2VTZE9KNnFjam1Sa2ptUVpNaGtDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNkMytoMlNPWkdTT0dUSVpBQUFFQUFIL3ZnUC9BOEVBRHdBZkFDY0FMd0FBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJCemNYTnhjSEZ3RTNCeGNIRnpjWEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AzZzQwZ3luem1mTUFHM1N1VXhvRG1nTVVKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nTVFBREFGVUFGUU9yQTJzQUF3QUhBQXNBQUNVVklUVUJGU0UxQVJVaE5RT3IvS29EVnZ5cUExYjhxc0NycXdGVnFxb0JWcXVyQUFBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdkFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFM0J5Y0hKemNuQVFjM0p6Y25CeWNEZi8wQ05VdExOUUwrTlV0TE5QeitFUmdZRVFNQ0VSZ1kvV3prU1RLZk9aOHdBV3hKNURHZk9aOHhRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQXhBQUVBcXdGckExVUNGUUFEQUFBVElSVWhxd0txL1ZZQ0Zhb0FBQUFCQVdRQXdBS2NBc0FBQlFBQUpUY25Od2tCQVdUSHh6Z0JBUDhBK2NmSE9mOEEvd0FBQUFBQUFRRFMvOVlETGdPcUFCUUFBQUVISndFV0Z4NEJGeFlYQnljUk54Y0pBVGNYRVFHbGJHY0JMaVlsSmt3bEppWm5iR3huL3RMKzBtZHNBb0ZzWndFdUppVW1UQ1VtSm1kcy9uNXNaLzdTQVM1bmJBR0NBQUFBQUFNQUFmKy9CQUFEd2dBY0FDb0FPUUFBQVRJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNRkFSNEJNekkzUGdFM05qVTBKaWN1QVNNaUJ3NEJCd1lWRkJZWEFRSUFhbDFkaXlncEtTaUxYVjFxYWwxZGl5Z29LQ2lMWFYxcUFWSDlxVGFHU2xoT1RuUWhJakIwTjRaS1dFNU9jeUloTHlzQ1Z3UENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrbysvMnBLakFpSVhST1RWbEtoWUVxTUNFaWRFMU9XRXVHTmdKWEFBQUNBS3NBUUFOVkEwQUFDQUFTQUFBQklSRWhFU0UxTXhVWEl4VWhOU01SSVJFeEFsVUJBUDFXQVFDcXExWCtxbFVDQUFMci9WVUNxMVZWVnFxcS9nQUNBQUFBQUFFQXF3QVZBMVVERlFBUEFBQUJJeEVYSVFzQklUYzFNeEVqTlNFVkF3QlZxdjhBVlZYL0FLcFdxd0lBQXNEK3ExYi9BQUVBVmxVQkFGVlZBQVVBQWYrK0EvOER3UUFQQUI0QUpnQThBRVFBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlCTlNNaUJoVVJGQlk3QVJFak5UTUZJUkVoTWpZMUVROEJKemNlQVJjSEp4VWpGd2NuTng0QkZ3Y3pOVEVUSVJVaE5UUW1Jd04vL1FJMVMwczFBdjQxUzB2OVRJSVJHQmdSZ3F1ckFxbjlyQUlyRVJqK0RUeHpIVG9kUFF6RURUMXpjeEFlRHcxdjFmM1ZBbFFZRVVKTE5RTUROVXRMTmZ6OU5Vc0RBcW9ZRWZ6L0VSa0NWVlZWL2FzWkVRSXI1dzA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUFBQUFCQUtzQWF3TlZBeFVBQ3dBQUV5RVJNeEVoRlNFUkl4RWhxd0VBcWdFQS93Q3Evd0FDRlFFQS93Q3Evd0FCQUFBQkFXUUF3QUtjQXNBQUJRQUFKU2MzSndrQkFwekh4emovQUFFQStjZkhPZjhBL3dBQUFBQUFBZ0FCLzc4RUFBUENBQndBT1FBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTVZNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJNd0lBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs1WUE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NoWElTSjBUVTVZV1UxT2RDRWlJaUYwVGsxWldFNU5kQ0loQUFBREFBSC92d1FBQThJQUhBQTVBRllBQUFFeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dGUUlBYWwxZGl5Z3BLU2lMWFYxcWFsMWRpeWdvS0NpTFhWMXFXRTVPY3lJaElTSnpUazVZV0U1T2RDRWlJaUYwVGs1WUFRQVVGRVV2THpVMUx5NUdGQlFVRkVZdUx6VTFMeTlGRkJRRHdpZ3BpMTVkYW10ZFhZd29LU2tvakYxZGEycGRYb3NwS0ZjaEluUk5UbGhaVFU1MElTSWlJWFJPVFZsWVRrMTBJaUgrVmpVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUFBQUFFQVN3QldBN1VES2dBUEFBQUJKemNXRng0QkZ4WVhBU2MzSVRVaEFwS3VaeTB0TFZzdExTNytsbWV0L2JvQ1J3SVZybWN0TFM1YUxTNHQvcFpucmFzQUFBQUFBZ0NBQUVBRGdBTkFBQTBBR0FBQUFSRWhFU01SRkJZeklUSTJOUkVGTnhjSEp6Y1hFVE1STVFNci9hcFZNaU1DVmlNeS9xdHVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFBRUFxd0VWQTFVQ2F3QURBQUFUSVFrQnF3S3EvcXYrcXdKci9xb0JWZ0FBQVFGVkFHc0Nxd01WQUFNQUFBa0JFUUVCVlFGVy9xb0J3QUZWL1ZZQlZRQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RVZBMVVDYXdBREFBQVRDUUVocXdGVkFWWDlWZ0VWQVZiK3FnQUFBUUJFQUdZRHZBTWJBQWtBQUFrQ054Y0JIZ0VYTVFPOC9jVCt4SGpFQWNRZVBCNENvdjNFQVR4NHd3SEVIendlQUFBQUFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFXc0RWUUlWQUFNQUFCTWhGU0dyQXFyOVZnSVZxZ0FBQUFFQXF3RVZBMVVDYXdBREFBQVRJUWtCcXdLcS9xditxd0pyL3FvQlZnQUFBUUFBQUFFQUFQUWZmUTlmRHp6MUFBc0VBQUFBQUFEWlFZK1pBQUFBQU5sQmo1a0FBUCsrQkFFRHdnQUFBQWdBQWdBQUFBQUFBQUFCQUFBRHdQL0FBQUFFQUFBQS8vOEVBUUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFPQVFBQUFBQUFBQUFBQUFBQUFJQUFBQUVBQUMyQkFBQUFBUUFBSllFQUFFQUJBQUFBUVFBQUFFRUFBQUJCQUFBQVFRQUFITUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E0QUhRQWxnQ3dBUGdCUEFGMkFhZ0IxZ0hzQWhnQ1VnSjRBcHdETEFPSUE2SUQ1QVJxQk9BRS9BVVlCV2dGc2dZVUJqQUdUQWFLQnRnRzlBZENCMUFIWkFlUUIrd0lEZ2dzQ0pRSXJBakFDUmdKbWdtOENlZ0orQW9JQ2hnS0tBcENDbElLWUFwd0FBQUFBUUFBQURnQVd3QU1BQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWtBQUFBQkFBQUFBQUFDQUFjQWNnQUJBQUFBQUFBREFBa0FQQUFCQUFBQUFBQUVBQWtBaHdBQkFBQUFBQUFGQUFzQUd3QUJBQUFBQUFBR0FBa0FWd0FCQUFBQUFBQUtBQm9Bb2dBREFBRUVDUUFCQUJJQUNRQURBQUVFQ1FBQ0FBNEFlUUFEQUFFRUNRQURBQklBUlFBREFBRUVDUUFFQUJJQWtBQURBQUVFQ1FBRkFCWUFKZ0FEQUFFRUNRQUdBQklBWUFBREFBRUVDUUFLQURRQXZFRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkxWmxjbk5wYjI0Z01TNHdBRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUVGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTBGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTFKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNrRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkwWnZiblFnWjJWdVpYSmhkR1ZrSUdKNUlFbGpiMDF2YjI0dUFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBQUFBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1ibHVlIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogIzIyMjIyMjtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51LCAuYWctdGhlbWUtYmx1ZSAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgKjpmb2N1cywgLmFnLXRoZW1lLWJsdWUgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1ibHVlIC5hZy10b2dnbGUtYnV0dG9uIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbDplbXB0eSB7XFxuICAgICAgICBtYXJnaW46IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogZGFya3JlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogd2hpdGU7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlYmY3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzOUJDMkU2JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiAycHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDAgNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM0OTkwZDI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtbGVmdCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGViZjc7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICMyMjIyMjI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xcbiAgICBwYWRkaW5nOiAwcHg7XFxuICAgIGJvcmRlcjogMCBzb2xpZCAjYWZjZWViO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwgLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIGhlaWdodDogMjZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gZGl2IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRvb2xiYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XFxuICAgICAgcGFkZGluZzogNHB4O1xcbiAgICAgIGJvcmRlcjogMCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luOiAycHggMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi10b3AgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtYmx1ZSAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICBib3JkZXItcmFkaXVzOiA1MDByZW07IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvZ2dsZS1idXR0b24gLmFnLWlucHV0LXdyYXBwZXIgLmFnLWljb24ge1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcXG4gICAgICByaWdodDogY2FsYygxMDAlIC0gMTJweCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgPiBkaXYge1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nLmFnLWNvbG9yLWRpYWxvZyB7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIHtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10b29scyB7XFxuICAgICAgcGFkZGluZzogMTBweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNhdCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20od2hpdGUpLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSwgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS12YWwge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20oYmxhY2spLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tZHJhZ2dlciB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XFxuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWh1ZS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1hbHBoYS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1odWUtYWxwaGEge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICAgICAgaGVpZ2h0OiAxMXB4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXNsaWRlciB7XFxuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XFxuICAgICAgd2lkdGg6IDEzcHg7XFxuICAgICAgaGVpZ2h0OiAxM3B4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlOmZvY3VzIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGQ3N2U0O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXYge1xcbiAgICAgIG1hcmdpbjogMCAzcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6bGFzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlLmFnLXBvcHVwID4gZGl2Om5vdCguYWctdG9vbHRpcC1jdXN0b20pIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJsdWUgLmFnLXBhbmVsLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMztcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M0ZGJmMDtcXG4gICAgICBjb2xvcjogd2hpdGU7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc4M2M3OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTljZDM7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gICAgbWFyZ2luOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoMm4gKyAyKTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgzbikge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyIC5hZy1ncm91cC1pdGVtIHtcXG4gICAgbWFyZ2luOiA0LjhweCAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjMzMzO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbG9yLXBpY2tlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCI3MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI0cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMTJweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGViZjc7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIHRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgcGFkZGluZzogMTBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgaW5wdXQsXFxuICAuYWctdGhlbWUtYmx1ZSBzZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBjb2xvcjogIzIyMjIyMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsTUFBQUM4QUFBQVlHTnRZWEFYVnRLNkFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVp0NnNvYTRBQUFGNEFBQVU0R2hsWVdRVm8yT3ZBQUFXV0FBQUFEWm9hR1ZoQjhRRCtBQUFGcEFBQUFBa2FHMTBlTllBR0ZrQUFCYTBBQUFBNEd4dlkyR2FoSlY2QUFBWGxBQUFBSEp0WVhod0FFVUFYUUFBR0FnQUFBQWdibUZ0WlJIQmJDVUFBQmdvQUFBQm5uQnZjM1FBQXdBQUFBQVp5QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNd1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRQLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBQ2dBQUFTRVhCeUVWSVJNRElSVURTdjZUZVhrQmJmMXMzTndDbEFLVjFkV3JBWUFCZ0tzQUFBQUFBUUFBLzhBRUFBUEFBQ0VBQUFFMUJ5YzNGd2NuRVNFbk54Y0hKemNoRVRjWEJ5YzNGeEVoRndjbk54Y0hJUkVCelZKSXpjMUlVZ0VKVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpBdk1KVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpVa2pOelVoU0FRQUFBQUFBQVFDV0FCNERhZ05pQUJBQUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFeEFhNnhad0ZxTFM0dFdpNHRMV2V3cFFKQ3NXY0JhaTR0TFZzdExTMW5zUDNkQWlRQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FqQUNjQUxBQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpKVE1WSXdNekVTTVJBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQMmFWVlVCVlZWVnExWldRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvcXYrMXFxcUFhcitWZ0dxQUFBQUF3QUIvNzREL3dQQkFBOEFId0FwQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6QlNFaUJoVVJGQll6SVRJMk5SRTBKZ2NCSnpjWEV4NEJGekVEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1liUDdvL1RXdTZCSW1FZ1BCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHTDc5L3NwRGl3R29DaFFLQUFBQUFBTUFBZisrQS84RHdRQVBBQjhBSXdBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXdVaElnWVZFUlFXTXlFeU5qVVJOQ1lESVRVaEEzODFTMHMxL1FJMVMwczFBdi84L2hFWUdCRURBaEVZR09iK3FnRldBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvZ0dxQUFBQUFnQUIvNzREL3dQQkFBOEFId0FBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWUFBTUFjd0JJQTQwRE9BQUdBQW9BRndBQUNRRUhGd2tDSVRjWElRVXdCaFVVRmpNeU5qVTBKakVDL2Y1VlBHYis5d0ZGQVVYOTc4ek0vbWdDVEZVeUl5TXlWUUdOQWFzOFp2NzMvcnNCUmMzTlFHc3FJekl5SXlwckFBQUFBZ0JWQUJVQnF3TnJBQU1BQndBQUFSRWhFUUVWSVRVQnEvNnFBVmIrcWdKci9hb0NWZ0VBcTZzQUFBQUdBRlVBRlFPckEyc0FBd0FIQUFzQUR3QVRBQmNBQUNVVklUVWhGU0UxQXhVaE5TRVZJVFVERlNFMUlSVWhOUUdyL3FvRFZ2NnFxdjZxQTFiK3FxcitxZ05XL3FyQXE2dXJxd0ZWcXFxcXFnRldxNnVycXdBQUF3QUIvNzREL3dQQkFBOEFId0FqQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6QlNFaUJoVVJGQll6SVRJMk5SRTBKZ01WSVRVRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQUFBREFLc0Fhd05WQXhVQUJ3QU1BQklBQUFFekVTRTFJeEVoRXlFUklSRW5OU0VSTXhFQ3E2citBS29DQUZYK3F3RlZxLzZyVlFKci9nQ3FBZ0QvQVA2ckFWVldWZjZyQVFBQUFBQUFBUUJ1QUM0RGtnTlNBQTBBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBZ0FCR1I0OUh2N25BUmw1L3VmKzUza0JHZjduZVFJNUFSa2VQUjcrNS83bmVRRVovdWQ1QVJrQkdYa0FBd0I0QU5VRG53TGhBRGdBUndCYUFBQUJOamMrQVRjMkZ4NEJId0VHQnc0QkJ3WUhGaGNlQVJjV0Z3NEJKeTRCSnc0QkJ3WW5MZ0VuSmpjK0FUY3VBVGMrQVJjZUFSY2VBUmNIQmdjT0FRY0dOejRCTnpBMkJ6RW5JZ1lIRGdFSEJoY2VBUmNXRnpjdUFTTXhBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBQUFCd0F5QUNjRHpnTlpBQXNBRHdBYkFCOEFLd0F3QUQwQUFEY2lCaFVVRmpNeU5qVTBKaWtCRlNFQklnWVZGQll6TWpZMU5DWWhGU0UxQnpJV0ZSUUdJeUltTlRRMkFSVWhOU0VoTWhZVkZBWWpJaVkxTkRZem5TMCtQaTBzUGo0REJmMVZBcXY4enkwK1BpMHNQajREQmYxVmhoNHNMQjRmTEN3RFVQMVZBcXY4enl3K1Bpd3RQajR0L0Q0c0xUNCtMU3crMVFJRVB5d3NQejhzTEQvVzFpQXNIeDhzTEI4ZkxBRk8xZFUrTFN3K1Bpd3RQZ0FBQUFFQWxnQWpBMm9EWFFBSkFBQUJFVE1STnhjSkFUY1hBYStrc0dmK2x2NldaN0lCUXdJYS9lZXdaLzZXQVdwbnNRQUFBQUFEQUFIL3dRUUJBOEVBRUFBZ0FDd0FBQUV5RmhVUkZBWWpJU0ltTlJFME5qTWhGeUVpQmhVUkZCWXpJVEkyTlJFMEpnRXpGU01WSXpVak5UTTFNd09BTlV4TU5mMEJOVXRMTlFML0FmeitFaGdZRWdNQ0VSZ1kvc1NycTZ1cnE2c0R3VXMxL1FBMVMwczFBd0ExUzFjWUVmMEJFUmdZRVFML0VSaityS3FxcXFxckFBQURBQ0lBZGdQZUF3b0FJZ0JJQUZNQUFBRTNGejRCTXhZWEhnRVhGaGNPQVFjWEJ5YzNBVDRCTnpZeU15WTBOU01pQmdjbkJ4TW1KeTRCSnlZbkRnRUhGaGNlQVJjV054Y0dCd1ltSnlZbkppY3VBU2NtSno0Qk56RUJQZ0UzTUNZbkRnRUhGd0VvTlNjZ1FpTklRa0ozTkRNckttOUFOME1oRHY3TUhqOGVDaFFMQVFzMWF6SlFNdXNxSlNVNkZCUUhJejRhSmpFeWN6OC9QelF1THk5Zkx5OHVJaDRmTmhrWUZ5dHFQd0hqTGt3Z1B6a0xQaXhUQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHRxQUFBQUF3QWlBSmtEM2dMb0FCc0FPd0JLQUFBQkZoY2VBUmNXRndZSERnRW5KaWNtSnk0Qkp5WW5OamMrQVRjMkJ3NEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KekVsSmpRMUl3NEJCeGMrQVRjNkFUTUNDVWhDUW5jME15czdWVlhGYVdsakloNGZOaGtZRnlvMU5IdEdSYmNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUxBdWdDRnhkUE5qWkFWMFZGU0FVRVBCUWFHam9oSUNFL056ZFJGeGV2R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBQUNBRlVBUUFPckEwQUFCZ0FMQUFBVElRRVJKeEVCQVJVek5TTlZBMWIrcXFyK3FnRldxcW9EUVA2ci9sV3JBUUFCVmY2clZsWUFBQUlBOGdEQUF3NEN3QUFEQUFrQUFBRVJJeEVCSnpjbkNRRUJSMVVDSE1mSE9mOEFBUUFDd1A0QUFnRCtPY2ZIT2Y4QS93QUFBQUFBREFDci8rc0RWUU9WQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUEzTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeUVqTlRPcnFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQWFxcXFwV3FxcXFxcWdHcXFxcXFxcW9CcXFxcXFxcXFBYXFxcXFxcUFBQUFBQVVBVmYvckE2c0RsUUFmQUNNQUtBQXNBREFBQUFFek5TRVJJVFVqRlNNVklUVWhFU0UxSVJFaE5TRVJJVFVoRVNNUklSVXhBU01WTXhFakZUTTFFU01WTXlVakZUTUJxNm9CVnY2cXFxc0JWUUZXL3FyK3F3RlZBVmIrcXY1V1ZnRldBYXFxcXFxcXFxcitBS3FxQTBCVi93QldWcXBWL3dCVi93Qlcvd0JWQWxVQkFGWDlWVlVCcTFaV0FWVlZWVlVBQUFBREFCa0JFUVBuQXBNQUZnQXRBRHdBQUFFV0Z4NEJGeFlmQVFZSERnRW5KaThCTmpjK0FUYzJCUTRCSXlJbUp3NEJEd0VXRng0Qk56WS9BUzRCSnpFSEpqUTFJdzRCQnhjK0FUYzJNak1DQ0Q0OFBISXpOQ3drWG5wNS8zeDdZeVF4T2psK1JFTUJMUnlCVWxLQkhDRTlIQU5LWGw3RlgxOU1BeHcvSXBrQkMwU0hQQ1V1WmpFS0ZBc0Nrd0VNREMwaElDc2tYVFUxRHlvcFh5UXlKeWczRHcrSVIxeGNSdzRtRndNL0lDRUJJQjlBQWhnb0RpTVZLeFVCRUI1TUZnMENBUUFBQWdEeUFNQUREZ0xBQUFNQUNnQUFKU01STXdFM0p6Y0pBU2NERGxWVi9lVEh4emtCQVA4QU9jQUNBUDQ1eDhjNS93RC9BRGtBQUFBQkFFc0FWZ08xQXlvQUN3QUFBUmNIQ1FFZUFSY0hJUlVoQVcrdFovNldBV29aTkJxdkFrajl1Z0ZxcldjQmFnRnFHak1hcnFzQUFBSUFWUUFWQTZzRGF3QWNBQ2NBQUFFM0Z3Y3pGU01lQVJjSEp4VWpOUWNuTnlNMU15YzNIZ0VYTlRNVkF6TTNOU2NqQnhVZUFSY0NWWng1bk4zZEowNG5lWnlxbkhtYzNkMmNlU2RPSjZxY2ptUmtqbVFaTWhrQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZDMraDJTT1pHU09HVElaQUFBRUFBSC92Z1AvQThFQUR3QWZBQ2NBTHdBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCQnpjWE54Y0hGd0UzQnhjSEZ6Y1hBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQM2c0MGd5bnptZk1BRzNTdVV4b0RtZ01VSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ01RQURBRlVBRlFPckEyc0FBd0FIQUFzQUFDVVZJVFVCRlNFMUFSVWhOUU9yL0tvRFZ2eXFBMWI4cXNDcnF3RlZxcW9CVnF1ckFBQUFBQVFBQWYrK0EvOER3UUFQQUI4QUp3QXZBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBeUVpQmhVUkZCWXpJVEkyTlJFMEpnRTNCeWNISnpjbkFRYzNKemNuQnljRGYvMENOVXRMTlFMK05VdExOUHorRVJnWUVRTUNFUmdZL1d6a1NUS2ZPWjh3QVd4SjVER2ZPWjh4UWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUF4QUFFQXF3RnJBMVVDRlFBREFBQVRJUlVocXdLcS9WWUNGYW9BQUFBQkFXUUF3QUtjQXNBQUJRQUFKVGNuTndrQkFXVEh4emdCQVA4QStjZkhPZjhBL3dBQUFBQUFBUURTLzlZRExnT3FBQlFBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JOeGNKQVRjWEVRR2xiR2NCTGlZbEprd2xKaVpuYkd4bi90TCswbWRzQW9Gc1p3RXVKaVVtVENVbUptZHMvbjVzWi83U0FTNW5iQUdDQUFBQUFBTUFBZisvQkFBRHdnQWNBQ29BT1FBQUFUSVhIZ0VYRmhVVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTUZBUjRCTXpJM1BnRTNOalUwSmljdUFTTWlCdzRCQndZVkZCWVhBUUlBYWwxZGl5Z3BLU2lMWFYxcWFsMWRpeWdvS0NpTFhWMXFBVkg5cVRhR1NsaE9UblFoSWpCME40WktXRTVPY3lJaEx5c0NWd1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a28rLzJwS2pBaUlYUk9UVmxLaFlFcU1DRWlkRTFPV0V1R05nSlhBQUFDQUtzQVFBTlZBMEFBQ0FBU0FBQUJJUkVoRVNFMU14VVhJeFVoTlNNUklSRXhBbFVCQVAxV0FRQ3FxMVgrcWxVQ0FBTHIvVlVDcTFWVlZxcXEvZ0FDQUFBQUFBRUFxd0FWQTFVREZRQVBBQUFCSXhFWElRc0JJVGMxTXhFak5TRVZBd0JWcXY4QVZWWC9BS3BXcXdJQUFzRCtxMWIvQUFFQVZsVUJBRlZWQUFVQUFmKytBLzhEd1FBUEFCNEFKZ0E4QUVRQUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZQk5TTWlCaFVSRkJZN0FSRWpOVE1GSVJFaE1qWTFFUThCSnpjZUFSY0hKeFVqRndjbk54NEJGd2N6TlRFVElSVWhOVFFtSXdOLy9RSTFTMHMxQXY0MVMwdjlUSUlSR0JnUmdxdXJBcW45ckFJckVSaitEVHh6SFRvZFBRekVEVDF6Y3hBZUR3MXYxZjNWQWxRWUVVSkxOUU1ETlV0TE5mejlOVXNEQXFvWUVmei9FUmtDVlZWVi9hc1pFUUlyNXcwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFBQUFBQkFLc0Fhd05WQXhVQUN3QUFFeUVSTXhFaEZTRVJJeEVocXdFQXFnRUEvd0NxL3dBQ0ZRRUEvd0NxL3dBQkFBQUJBV1FBd0FLY0FzQUFCUUFBSlNjM0p3a0JBcHpIeHpqL0FBRUErY2ZIT2Y4QS93QUFBQUFBQWdBQi83OEVBQVBDQUJ3QU9RQUFBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KaU1WTWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyTXdJQWFsMWRpeWdvS0NpTFhWMXFhbDFkaXlncEtTaUxYVjFxV0U1T2RDRWlJaUYwVGs1WVdFNU9jeUloSVNKelRrNVlBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTaFhJU0owVFU1WVdVMU9kQ0VpSWlGMFRrMVpXRTVOZENJaEFBQURBQUgvdndRQUE4SUFIQUE1QUZZQUFBRXlGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpGU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KaU1CRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlFJQWFsMWRpeWdwS1NpTFhWMXFhbDFkaXlnb0tDaUxYVjFxV0U1T2N5SWhJU0p6VGs1WVdFNU9kQ0VpSWlGMFRrNVlBUUFVRkVVdkx6VTFMeTVHRkJRVUZFWXVMelUxTHk5RkZCUUR3aWdwaTE1ZGFtdGRYWXdvS1Nrb2pGMWRhMnBkWG9zcEtGY2hJblJOVGxoWlRVNTBJU0lpSVhST1RWbFlUazEwSWlIK1ZqVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFBQUFBRUFTd0JXQTdVREtnQVBBQUFCSnpjV0Z4NEJGeFlYQVNjM0lUVWhBcEt1WnkwdExWc3RMUzcrbG1ldC9ib0NSd0lWcm1jdExTNWFMUzR0L3BabnJhc0FBQUFBQWdDQUFFQURnQU5BQUEwQUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFRk54Y0hKemNYRVRNUk1RTXIvYXBWTWlNQ1ZpTXkvcXR1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBQUVBcXdFVkExVUNhd0FEQUFBVElRa0Jxd0txL3F2K3F3SnIvcW9CVmdBQUFRRlZBR3NDcXdNVkFBTUFBQWtCRVFFQlZRRlcvcW9Cd0FGVi9WWUJWUUFCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0VWQTFVQ2F3QURBQUFUQ1FFaHF3RlZBVlg5VmdFVkFWYitxZ0FBQVFCRUFHWUR2QU1iQUFrQUFBa0NOeGNCSGdFWE1RTzgvY1QreEhqRUFjUWVQQjRDb3YzRUFUeDR3d0hFSHp3ZUFBQUFBQUVCVlFCckFxc0RGUUFEQUFBSkFoRUJWUUZXL3FvREZmNnIvcXNDcWdBQUFRQ3JBV3NEVlFJVkFBTUFBQk1oRlNHckFxcjlWZ0lWcWdBQUFBRUFxd0VWQTFVQ2F3QURBQUFUSVFrQnF3S3EvcXYrcXdKci9xb0JWZ0FBQVFBQUFBRUFBUFFmZlE5ZkR6ejFBQXNFQUFBQUFBRFpRWStaQUFBQUFObEJqNWtBQVArK0JBRUR3Z0FBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUEvLzhFQVFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBT0FRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFDMkJBQUFBQVFBQUpZRUFBRUFCQUFBQVFRQUFBRUVBQUFCQkFBQUFRUUFBSE1FQUFCVkJBQUFWUVFBQUFFRUFBQ3JCQUFBYmdRQUFIZ0VBQUF5QkFBQWxnUUFBQUVFQUFBaUJBQUFJZ1FBQUZVRUFBRHlCQUFBcXdRQUFGVUVBQUFaQkFBQThnUUFBRXNFQUFCVkJBQUFBUVFBQUZVRUFBQUJCQUFBcXdRQUFXUUVBQURTQkFBQUFRUUFBS3NFQUFDckJBQUFBUVFBQUtzRUFBRmtCQUFBQVFRQUFBRUVBQUJMQkFBQWdBUUFBS3NFQUFGVkJBQUJWUVFBQUtzRUFBQkVCQUFCVlFRQUFLc0VBQUNyQUFBQUFBQUtBQlFBSGdBNEFIUUFsZ0N3QVBnQlBBRjJBYWdCMWdIc0FoZ0NVZ0o0QXB3RExBT0lBNklENUFScUJPQUUvQVVZQldnRnNnWVVCakFHVEFhS0J0Z0c5QWRDQjFBSFpBZVFCK3dJRGdnc0NKUUlyQWpBQ1JnSm1nbThDZWdKK0FvSUNoZ0tLQXBDQ2xJS1lBcHdBQUFBQVFBQUFEZ0FXd0FNQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTRBcmdBQkFBQUFBQUFCQUFrQUFBQUJBQUFBQUFBQ0FBY0FjZ0FCQUFBQUFBQURBQWtBUEFBQkFBQUFBQUFFQUFrQWh3QUJBQUFBQUFBRkFBc0FHd0FCQUFBQUFBQUdBQWtBVndBQkFBQUFBQUFLQUJvQW9nQURBQUVFQ1FBQkFCSUFDUUFEQUFFRUNRQUNBQTRBZVFBREFBRUVDUUFEQUJJQVJRQURBQUVFQ1FBRUFCSUFrQUFEQUFFRUNRQUZBQllBSmdBREFBRUVDUUFHQUJJQVlBQURBQUVFQ1FBS0FEUUF2RUZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMVpsY25OcGIyNGdNUzR3QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1FRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkwRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkxSmxaM1ZzWVhJQVVnQmxBR2NBZFFCc0FHRUFja0ZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMFp2Ym5RZ1oyVnVaWEpoZEdWa0lHSjVJRWxqYjAxdmIyNHVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYm9vdHN0cmFwIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogYmxhY2s7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAqOmZvY3VzLCAuYWctdGhlbWUtYm9vdHN0cmFwICogKjpiZWZvcmUsIC5hZy10aGVtZS1ib290c3RyYXAgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGVja2JveCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3ggbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3ggbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbDplbXB0eSB7XFxuICAgICAgICBtYXJnaW46IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwicmFuZ2VcXFwiXSB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiAycHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiBidXR0b24ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIHRvcDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCBidXR0b24ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgwLCA4MCwgODAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXNtYWxsLWxlZnQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogYmxhY2s7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xcbiAgICBwYWRkaW5nOiAwcHg7XFxuICAgIGJvcmRlcjogMCBzb2xpZCByZ2JhKDEzLCAxMywgMTMsIDApO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIGhlaWdodDogMjZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbjogMnB4IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sYWJlbGVkIGxhYmVsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWxhYmVsZWQuYWctbGFiZWwtYWxpZ24tdG9wIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1hbmdsZS1zZWxlY3QgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLXBhcmVudC1jaXJjbGUge1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgaGVpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICB3aWR0aDogNDBweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICB3aWR0aDogMTJweDtcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgICBib3JkZXItcmFkaXVzOiA1MDByZW07XFxuICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDEycHgpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9nZ2xlLWJ1dHRvbi5hZy1zZWxlY3RlZCAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cuYWctY29sb3ItZGlhbG9nIHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCB7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRvb2xzIHtcXG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zYXQge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHdoaXRlKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUsIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS12YWwge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20oYmxhY2spLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1kcmFnZ2VyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICB3aWR0aDogMTJweDtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcXG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1odWUtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1hbHBoYS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLWh1ZS1hbHBoYSB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG4gICAgICBoZWlnaHQ6IDExcHg7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zbGlkZXIge1xcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xcbiAgICAgIHdpZHRoOiAxM3B4O1xcbiAgICAgIGhlaWdodDogMTNweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWU6Zm9jdXMge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZDc3ZTQ7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2IHtcXG4gICAgICBtYXJnaW46IDAgM3B4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpsYXN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1wb3B1cCA+IGRpdjpub3QoLmFnLXRvb2x0aXAtY3VzdG9tKSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhbmVsLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhbmVsLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDApO1xcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYW5lbCAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gICAgbWFyZ2luOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWw6bnRoLWNoaWxkKDNuICsgMSkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgzbikge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDQuOHB4IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2xvci1waWNrZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWdyaXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbE1BQUFDOEFBQUFZR050WVhBWFZ0SzZBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVadDZzb2E0QUFBRjRBQUFVNEdobFlXUVZvMk92QUFBV1dBQUFBRFpvYUdWaEI4UUQrQUFBRnBBQUFBQWthRzEwZU5ZQUdGa0FBQmEwQUFBQTRHeHZZMkdhaEpWNkFBQVhsQUFBQUhKdFlYaHdBRVVBWFFBQUdBZ0FBQUFnYm1GdFpSSEJiQ1VBQUJnb0FBQUJubkJ2YzNRQUF3QUFBQUFaeUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTXdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUUC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQUNnQUFBU0VYQnlFVklSTURJUlVEU3Y2VGVYa0JiZjFzM053Q2xBS1YxZFdyQVlBQmdLc0FBQUFBQVFBQS84QUVBQVBBQUNFQUFBRTFCeWMzRndjbkVTRW5OeGNISnpjaEVUY1hCeWMzRnhFaEZ3Y25OeGNISVJFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBUUFBQUFBQUFRQ1dBQjREYWdOaUFCQUFBQUVISndFV0Z4NEJGeFlYQnljUkl4RXhBYTZ4WndGcUxTNHRXaTR0TFdld3BRSkNzV2NCYWk0dExWc3RMUzFuc1AzZEFpUUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBakFDY0FMQUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqSlRNVkl3TXpFU01SQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDJhVlZVQlZWVlZxMVpXUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL3F2KzFxcXFBYXIrVmdHcUFBQUFBd0FCLzc0RC93UEJBQThBSHdBcEFBQUJNaFlWRVJRR0l5RWlKalVSTkRZekJTRWlCaFVSRkJZeklUSTJOUkUwSmdjQkp6Y1hFeDRCRnpFRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZYlA3by9UV3U2QkltRWdQQlN6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0w3OS9zcERpd0dvQ2hRS0FBQUFBQU1BQWYrK0EvOER3UUFQQUI4QUl3QUFBVElXRlJFVUJpTWhJaVkxRVRRMk13VWhJZ1lWRVJRV015RXlOalVSTkNZRElUVWhBMzgxUzBzMS9RSTFTMHMxQXYvOC9oRVlHQkVEQWhFWUdPYitxZ0ZXQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL2dHcUFBQUFBZ0FCLzc0RC93UEJBQThBSHdBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXdVaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1lBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQU1BY3dCSUE0MERPQUFHQUFvQUZ3QUFDUUVIRndrQ0lUY1hJUVV3QmhVVUZqTXlOalUwSmpFQy9mNVZQR2IrOXdGRkFVWDk3OHpNL21nQ1RGVXlJeU15VlFHTkFhczhadjczL3JzQlJjM05RR3NxSXpJeUl5cHJBQUFBQWdCVkFCVUJxd05yQUFNQUJ3QUFBUkVoRVFFVklUVUJxLzZxQVZiK3FnSnIvYW9DVmdFQXE2c0FBQUFHQUZVQUZRT3JBMnNBQXdBSEFBc0FEd0FUQUJjQUFDVVZJVFVoRlNFMUF4VWhOU0VWSVRVREZTRTFJUlVoTlFHci9xb0RWdjZxcXY2cUExYitxcXIrcWdOVy9xckFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBd0FCLzc0RC93UEJBQThBSHdBakFBQUJNaFlWRVJRR0l5RWlKalVSTkRZekJTRWlCaFVSRkJZeklUSTJOUkUwSmdNVklUVURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWWtmNEFBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvcXVxcWdBQUFBQURBS3NBYXdOVkF4VUFCd0FNQUJJQUFBRXpFU0UxSXhFaEV5RVJJUkVuTlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBVlZXVmY2ckFRQUFBQUFBQVFCdUFDNERrZ05TQUEwQUFBa0JIZ0VYQ1FFSENRRW5DUUUzQWdBQkdSNDlIdjduQVJsNS91Zis1M2tCR2Y3bmVRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWGtBQXdCNEFOVURud0xoQURnQVJ3QmFBQUFCTmpjK0FUYzJGeDRCSHdFR0J3NEJCd1lIRmhjZUFSY1dGdzRCSnk0Qkp3NEJCd1luTGdFbkpqYytBVGN1QVRjK0FSY2VBUmNlQVJjSEJnY09BUWNHTno0Qk56QTJCekVuSWdZSERnRUhCaGNlQVJjV0Z6Y3VBU014QWhvbUpTWkdJQ0VkRUJ3Tk55QWdJRUFoSUNBZ0lTQkFJQ0FnTm0xSklrb2hPM3hDSHlVbU93OFBEZzFES0VCTUdCQTlNVDFzTmhBaEVKc25LeXMyQVFJdEkwUWtBd1dPQkFrRkF3VURGdzBNUGljbkhnRWxUaDBDT1NFZUh5OE9EZ0VCQ1FjaEd4c2JOeHdiR3hvWkdqUWFHaG9oRGpZWk54a3NUQjBPQWdJaUhoNHFLemtUSW5BMEl5TUJCRTRtREJnTWtBRVZGVEVURXdJQk5CZzBBZU1DQVFFREFROFVGU1VPRFFFekdqUUFBQUFBQndBeUFDY0R6Z05aQUFzQUR3QWJBQjhBS3dBd0FEMEFBRGNpQmhVVUZqTXlOalUwSmlrQkZTRUJJZ1lWRkJZek1qWTFOQ1loRlNFMUJ6SVdGUlFHSXlJbU5UUTJBUlVoTlNFaE1oWVZGQVlqSWlZMU5EWXpuUzArUGkwc1BqNERCZjFWQXF2OHp5MCtQaTBzUGo0REJmMVZoaDRzTEI0ZkxDd0RVUDFWQXF2OHp5dytQaXd0UGo0dC9ENHNMVDQrTFN3KzFRSUVQeXdzUHo4c0xEL1cxaUFzSHg4c0xCOGZMQUZPMWRVK0xTdytQaXd0UGdBQUFBRUFsZ0FqQTJvRFhRQUpBQUFCRVRNUk54Y0pBVGNYQWEra3NHZitsdjZXWjdJQlF3SWEvZWV3Wi82V0FXcG5zUUFBQUFBREFBSC93UVFCQThFQUVBQWdBQ3dBQUFFeUZoVVJGQVlqSVNJbU5SRTBOak1oRnlFaUJoVVJGQll6SVRJMk5SRTBKZ0V6RlNNVkl6VWpOVE0xTXdPQU5VeE1OZjBCTlV0TE5RTC9BZnorRWhnWUVnTUNFUmdZL3NTcnE2dXJxNnNEd1VzMS9RQTFTMHMxQXdBMVMxY1lFZjBCRVJnWUVRTC9FUmorcktxcXFxcXJBQUFEQUNJQWRnUGVBd29BSWdCSUFGTUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOekVCUGdFM01DWW5EZ0VIRndFb05TY2dRaU5JUWtKM05ETXJLbTlBTjBNaER2N01IajhlQ2hRTEFRczFhekpRTXVzcUpTVTZGQlFISXo0YUpqRXljejgvUHpRdUx5OWZMeTh1SWg0Zk5oa1lGeXRxUHdIakxrd2dQemtMUGl4VEF1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmh0cUFBQUFBd0FpQUprRDNnTG9BQnNBT3dCS0FBQUJGaGNlQVJjV0Z3WUhEZ0VuSmljbUp5NEJKeVluTmpjK0FUYzJCdzRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnpFbEpqUTFJdzRCQnhjK0FUYzZBVE1DQ1VoQ1FuYzBNeXM3VlZYRmFXbGpJaDRmTmhrWUZ5bzFOSHRHUmJjalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFMQXVnQ0Z4ZFBOalpBVjBWRlNBVUVQQlFhR2pvaElDRS9OemRSRnhldkdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUFDQUZVQVFBT3JBMEFBQmdBTEFBQVRJUUVSSnhFQkFSVXpOU05WQTFiK3FxcitxZ0ZXcXFvRFFQNnIvbFdyQVFBQlZmNnJWbFlBQUFJQThnREFBdzRDd0FBREFBa0FBQUVSSXhFQkp6Y25DUUVCUjFVQ0hNZkhPZjhBQVFBQ3dQNEFBZ0QrT2NmSE9mOEEvd0FBQUFBQURBQ3IvK3NEVlFPVkFBTUFCd0FMQUE4QUV3QVhBQnNBSHdBakFDY0FLd0F2QUFBM014VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlFak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFBQUFBQUFVQVZmL3JBNnNEbFFBZkFDTUFLQUFzQURBQUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlV4QVNNVk14RWpGVE0xRVNNVk15VWpGVE1CcTZvQlZ2NnFxcXNCVlFGVy9xcitxd0ZWQVZiK3F2NVdWZ0ZXQWFxcXFxcXFxcXIrQUtxcUEwQlYvd0JXVnFwVi93QlYvd0JXL3dCVkFsVUJBRlg5VlZVQnExWldBVlZWVlZVQUFBQURBQmtCRVFQbkFwTUFGZ0F0QUR3QUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp6RUhKalExSXc0QkJ4YytBVGMyTWpNQ0NENDhQSEl6TkN3a1hucDUvM3g3WXlReE9qbCtSRU1CTFJ5QlVsS0JIQ0U5SEFOS1hsN0ZYMTlNQXh3L0lwa0JDMFNIUENVdVpqRUtGQXNDa3dFTURDMGhJQ3NrWFRVMUR5b3BYeVF5SnlnM0R3K0lSMXhjUnc0bUZ3TS9JQ0VCSUI5QUFoZ29EaU1WS3hVQkVCNU1GZzBDQVFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FjQUNjQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTVZBek0zTlNjakJ4VWVBUmNDVlp4NW5OM2RKMDRuZVp5cW5IbWMzZDJjZVNkT0o2cWNqbVJram1RWk1oa0NqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2QzK2gyU09aR1NPR1RJWkFBQUVBQUgvdmdQL0E4RUFEd0FmQUNjQUx3QUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQkJ6Y1hOeGNIRndFM0J4Y0hGemNYQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDNnNDBneW56bWZNQUczU3VVeG9EbWdNVUpMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDB0U2VReG56bWZNUUczNVVreW9EbWdNUUFEQUZVQUZRT3JBMnNBQXdBSEFBc0FBQ1VWSVRVQkZTRTFBUlVoTlFPci9Lb0RWdnlxQTFiOHFzQ3Jxd0ZWcXFvQlZxdXJBQUFBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F2QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0UzQnljSEp6Y25BUWMzSnpjbkJ5Y0RmLzBDTlV0TE5RTCtOVXRMTlB6K0VSZ1lFUU1DRVJnWS9XemtTVEtmT1o4d0FXeEo1REdmT1o4eFFrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9lNUo1REdnT2FBeEFXemtTVEdnT2FBeEFBRUFxd0ZyQTFVQ0ZRQURBQUFUSVJVaHF3S3EvVllDRmFvQUFBQUJBV1FBd0FLY0FzQUFCUUFBSlRjbk53a0JBV1RIeHpnQkFQOEErY2ZIT2Y4QS93QUFBQUFBQVFEUy85WURMZ09xQUJRQUFBRUhKd0VXRng0QkZ4WVhCeWNSTnhjSkFUY1hFUUdsYkdjQkxpWWxKa3dsSmlabmJHeG4vdEwrMG1kc0FvRnNad0V1SmlVbVRDVW1KbWRzL241c1ovN1NBUzVuYkFHQ0FBQUFBQU1BQWYrL0JBQUR3Z0FjQUNvQU9RQUFBVElYSGdFWEZoVVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak1GQVI0Qk16STNQZ0UzTmpVMEppY3VBU01pQnc0QkJ3WVZGQllYQVFJQWFsMWRpeWdwS1NpTFhWMXFhbDFkaXlnb0tDaUxYVjFxQVZIOXFUYUdTbGhPVG5RaElqQjBONFpLV0U1T2N5SWhMeXNDVndQQ0tDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvKy8ycEtqQWlJWFJPVFZsS2hZRXFNQ0VpZEUxT1dFdUdOZ0pYQUFBQ0FLc0FRQU5WQTBBQUNBQVNBQUFCSVJFaEVTRTFNeFVYSXhVaE5TTVJJUkV4QWxVQkFQMVdBUUNxcTFYK3FsVUNBQUxyL1ZVQ3ExVlZWcXFxL2dBQ0FBQUFBQUVBcXdBVkExVURGUUFQQUFBQkl4RVhJUXNCSVRjMU14RWpOU0VWQXdCVnF2OEFWVlgvQUtwV3F3SUFBc0QrcTFiL0FBRUFWbFVCQUZWVkFBVUFBZisrQS84RHdRQVBBQjRBSmdBOEFFUUFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWUJOU01pQmhVUkZCWTdBUkVqTlRNRklSRWhNalkxRVE4Qkp6Y2VBUmNISnhVakZ3Y25OeDRCRndjek5URVRJUlVoTlRRbUl3Ti8vUUkxUzBzMUF2NDFTMHY5VElJUkdCZ1JncXVyQXFuOXJBSXJFUmorRFR4ekhUb2RQUXpFRFQxemN4QWVEdzF2MWYzVkFsUVlFVUpMTlFNRE5VdExOZno5TlVzREFxb1lFZnovRVJrQ1ZWVlYvYXNaRVFJcjV3MDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQUFBQUJBS3NBYXdOVkF4VUFDd0FBRXlFUk14RWhGU0VSSXhFaHF3RUFxZ0VBL3dDcS93QUNGUUVBL3dDcS93QUJBQUFCQVdRQXdBS2NBc0FBQlFBQUpTYzNKd2tCQXB6SHh6ai9BQUVBK2NmSE9mOEEvd0FBQUFBQUFnQUIvNzhFQUFQQ0FCd0FPUUFBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmlNVk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMk13SUFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazVZQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2hYSVNKMFRVNVlXVTFPZENFaUlpRjBUazFaV0U1TmRDSWhBQUFEQUFIL3Z3UUFBOElBSEFBNUFGWUFBQUV5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RlNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmlNQkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WXpNaGNlQVJjV0ZRSUFhbDFkaXlncEtTaUxYVjFxYWwxZGl5Z29LQ2lMWFYxcVdFNU9jeUloSVNKelRrNVlXRTVPZENFaUlpRjBUazVZQVFBVUZFVXZMelUxTHk1R0ZCUVVGRVl1THpVMUx5OUZGQlFEd2lncGkxNWRhbXRkWFl3b0tTa29qRjFkYTJwZFhvc3BLRmNoSW5STlRsaFpUVTUwSVNJaUlYUk9UVmxZVGsxMElpSCtWalV2TDBVVUZCUVVSUzh2TlRVdUwwWVVGQlFVUmk4dU5RQUFBQUVBU3dCV0E3VURLZ0FQQUFBQkp6Y1dGeDRCRnhZWEFTYzNJVFVoQXBLdVp5MHRMVnN0TFM3K2xtZXQvYm9DUndJVnJtY3RMUzVhTFM0dC9wWm5yYXNBQUFBQUFnQ0FBRUFEZ0FOQUFBMEFHQUFBQVJFaEVTTVJGQll6SVRJMk5SRUZOeGNISnpjWEVUTVJNUU1yL2FwVk1pTUNWaU15L3F0dVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQUFFQXF3RVZBMVVDYXdBREFBQVRJUWtCcXdLcS9xditxd0pyL3FvQlZnQUFBUUZWQUdzQ3F3TVZBQU1BQUFrQkVRRUJWUUZXL3FvQndBRlYvVllCVlFBQkFWVUFhd0tyQXhVQUF3QUFDUUlSQVZVQlZ2NnFBeFgrcS82ckFxb0FBQUVBcXdFVkExVUNhd0FEQUFBVENRRWhxd0ZWQVZYOVZnRVZBVmIrcWdBQUFRQkVBR1lEdkFNYkFBa0FBQWtDTnhjQkhnRVhNUU84L2NUK3hIakVBY1FlUEI0Q292M0VBVHg0d3dIRUh6d2VBQUFBQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVdzRFZRSVZBQU1BQUJNaEZTR3JBcXI5VmdJVnFnQUFBQUVBcXdFVkExVUNhd0FEQUFBVElRa0Jxd0txL3F2K3F3SnIvcW9CVmdBQUFRQUFBQUVBQVBRZmZROWZEenoxQUFzRUFBQUFBQURaUVkrWkFBQUFBTmxCajVrQUFQKytCQUVEd2dBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFEd1AvQUFBQUVBQUFBLy84RUFRQUJBQUFBQUFBQUFBQUFBQUFBQUFBQU9BUUFBQUFBQUFBQUFBQUFBQUlBQUFBRUFBQzJCQUFBQUFRQUFKWUVBQUVBQkFBQUFRUUFBQUVFQUFBQkJBQUFBUVFBQUhNRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTRBSFFBbGdDd0FQZ0JQQUYyQWFnQjFnSHNBaGdDVWdKNEFwd0RMQU9JQTZJRDVBUnFCT0FFL0FVWUJXZ0ZzZ1lVQmpBR1RBYUtCdGdHOUFkQ0IxQUhaQWVRQit3SURnZ3NDSlFJckFqQUNSZ0ptZ204Q2VnSitBb0lDaGdLS0FwQ0NsSUtZQXB3QUFBQUFRQUFBRGdBV3dBTUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0QXJnQUJBQUFBQUFBQkFBa0FBQUFCQUFBQUFBQUNBQWNBY2dBQkFBQUFBQUFEQUFrQVBBQUJBQUFBQUFBRUFBa0Fod0FCQUFBQUFBQUZBQXNBR3dBQkFBQUFBQUFHQUFrQVZ3QUJBQUFBQUFBS0FCb0FvZ0FEQUFFRUNRQUJBQklBQ1FBREFBRUVDUUFDQUE0QWVRQURBQUVFQ1FBREFCSUFSUUFEQUFFRUNRQUVBQklBa0FBREFBRUVDUUFGQUJZQUpnQURBQUVFQ1FBR0FCSUFZQUFEQUFFRUNRQUtBRFFBdkVGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTFabGNuTnBiMjRnTVM0d0FGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNRUZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMEZuUTJ4aGMzTnBZd0JCQUdjQVF3QnNBR0VBY3dCekFHa0FZMUpsWjNWc1lYSUFVZ0JsQUdjQWRRQnNBR0VBY2tGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTBadmJuUWdaMlZ1WlhKaGRHVmtJR0o1SUVsamIwMXZiMjR1QUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgY29sb3I6ICNjY2M7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSwgLmFnLXRoZW1lLWRhcmsgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0LCAuYWctdGhlbWUtZGFyayAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZGFyayAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMDJlMmUgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWRhcmsgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiBsYWJlbDplbXB0eSB7XFxuICAgICAgICBtYXJnaW46IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLXRvZ2dsZS1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIGdyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6IGdyZWVueWVsbG93OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogcmVkOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcm93Om5vdCguYWctcm93LWZpcnN0KSB7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDNlM2U7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDVkNTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyM0E5QTlBOSclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICNjY2NjY2M7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGhlaWdodDogMjVweCAhaW1wb3J0YW50O1xcbiAgICBsaW5lLWhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiAwIDhweDtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCAuYWctZG5kLWdob3N0LWljb24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSB7XFxuICAgIHBhZGRpbmc6IDJweCAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCB7XFxuICAgIG1hcmdpbjogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwge1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbi5hZy1kaXNhYmxlZCAuYWctaWNvbiB7XFxuICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjcpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuOCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtbGVmdCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICM0MDNlM2U7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogI2NjYztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMwMzA7XFxuICAgIHBhZGRpbmc6IDBweDtcXG4gICAgYm9yZGVyOiAwIHNvbGlkICNiNmI2YjY7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNDI0O1xcbiAgICAgIGhlaWdodDogMTJweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgaGVpZ2h0OiAyNnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgcGFkZGluZzogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudDpub3QoLmFnLWNvbGxhcHNpYmxlKSA+IC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUtYmFyIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMmMyYztcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luOiAycHggMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbGFiZWxlZCBsYWJlbCB7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbGFiZWxlZC5hZy1sYWJlbC1hbGlnbi10b3AgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtZGFyayAuYWctYW5nbGUtc2VsZWN0ID4gLmFnLXdyYXBwZXIgPiBkaXY6bm90KDpmaXJzdC1vZi10eXBlKSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciB7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgd2lkdGg6IDQwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ1ZDU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHJlbTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ1ZDU7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxMnB4KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvZ2dsZS1idXR0b24uYWctc2VsZWN0ZWQgLmFnLWlucHV0LXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciBidXR0b24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZy5hZy1jb2xvci1kaWFsb2cge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCB7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWNvbG9yIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdG9vbHMge1xcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zYXQge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHdoaXRlKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUsIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdmFsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKGJsYWNrKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrLCByZ2JhKDIwNCwgMTU0LCAxMjksIDApKTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1odWUtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tYWxwaGEtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgICAgIGhlaWdodDogMTFweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zbGlkZXIge1xcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xcbiAgICAgIHdpZHRoOiAxM3B4O1xcbiAgICAgIGhlaWdodDogMTNweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXRleHQtdmFsdWUge1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZTpmb2N1cyB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkNzdlNDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2IHtcXG4gICAgICBtYXJnaW46IDAgM3B4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2OmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2Omxhc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyay5hZy1wb3B1cCA+IGRpdjpub3QoLmFnLXRvb2x0aXAtY3VzdG9tKSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1kYXJrIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjM2MzYzM7XFxuICAgICAgY29sb3I6ICNjY2NjY2M7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk0OTQ5OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE1MTU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gICAgbWFyZ2luOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoMm4gKyAyKTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgzbikge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1mb3JtYXQgLmFnLWNoYXJ0LWZvcm1hdC13cmFwcGVyIC5hZy1ncm91cC1pdGVtIHtcXG4gICAgbWFyZ2luOiA0LjhweCAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjZDZkNWQ1O1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbG9yLXBpY2tlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjZDZkNWQ1OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICM0MDNlM2U7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBtaW4taGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBsaWdodGdyZWVuOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1oaWdobGlnaHQtYW5pbWF0aW9uIHtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXM7XFxuICAgIHRyYW5zaXRpb246IGFsbCAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIGlucHV0LFxcbiAgLmFnLXRoZW1lLWRhcmsgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSBpbnB1dFtyZWFkb25seV0ge1xcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxNQUFBQzhBQUFBWUdOdFlYQVhWdEs2QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WnQ2c29hNEFBQUY0QUFBVTRHaGxZV1FWbzJPdkFBQVdXQUFBQURab2FHVmhCOFFEK0FBQUZwQUFBQUFrYUcxMGVOWUFHRmtBQUJhMEFBQUE0R3h2WTJHYWhKVjZBQUFYbEFBQUFISnRZWGh3QUVVQVhRQUFHQWdBQUFBZ2JtRnRaUkhCYkNVQUFCZ29BQUFCbm5CdmMzUUFBd0FBQUFBWnlBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE13UEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VFAvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFDZ0FBQVNFWEJ5RVZJUk1ESVJVRFN2NlRlWGtCYmYxczNOd0NsQUtWMWRXckFZQUJnS3NBQUFBQUFRQUEvOEFFQUFQQUFDRUFBQUUxQnljM0Z3Y25FU0VuTnhjSEp6Y2hFVGNYQnljM0Z4RWhGd2NuTnhjSElSRUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQVFBQUFBQUFBUUNXQUI0RGFnTmlBQkFBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEV4QWE2eFp3RnFMUzR0V2k0dExXZXdwUUpDc1djQmFpNHRMVnN0TFMxbnNQM2RBaVFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWpBQ2NBTEFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakpUTVZJd016RVNNUkEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AyYVZWVUJWVlZWcTFaV1FrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9xdisxcXFxQWFyK1ZnR3FBQUFBQXdBQi83NEQvd1BCQUE4QUh3QXBBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnY0JKemNYRXg0QkZ6RURmelZMU3pYOUFqVkxTelVDLy96K0VSZ1lFUU1DRVJnWWJQN28vVFd1NkJJbUVnUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdMNzkvc3BEaXdHb0NoUUtBQUFBQUFNQUFmKytBLzhEd1FBUEFCOEFJd0FBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNd1VoSWdZVkVSUVdNeUV5TmpVUk5DWURJVFVoQTM4MVMwczEvUUkxUzBzMUF2LzgvaEVZR0JFREFoRVlHT2IrcWdGV0E4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9nR3FBQUFBQWdBQi83NEQvd1BCQUE4QUh3QUFBVElXRlJFVUJpTWhJaVkxRVRRMk13VWhJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvL3orRVJnWUVRTUNFUmdZQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFNQWN3QklBNDBET0FBR0FBb0FGd0FBQ1FFSEZ3a0NJVGNYSVFVd0JoVVVGak15TmpVMEpqRUMvZjVWUEdiKzl3RkZBVVg5Nzh6TS9tZ0NURlV5SXlNeVZRR05BYXM4WnY3My9yc0JSYzNOUUdzcUl6SXlJeXByQUFBQUFnQlZBQlVCcXdOckFBTUFCd0FBQVJFaEVRRVZJVFVCcS82cUFWYitxZ0pyL2FvQ1ZnRUFxNnNBQUFBR0FGVUFGUU9yQTJzQUF3QUhBQXNBRHdBVEFCY0FBQ1VWSVRVaEZTRTFBeFVoTlNFVklUVURGU0UxSVJVaE5RR3IvcW9EVnY2cXF2NnFBMWIrcXFyK3FnTlcvcXJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQXdBQi83NEQvd1BCQUE4QUh3QWpBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpCU0VpQmhVUkZCWXpJVEkyTlJFMEpnTVZJVFVEZnpWTFN6WDlBalZMU3pVQy8veitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBQUFEQUtzQWF3TlZBeFVBQndBTUFCSUFBQUV6RVNFMUl4RWhFeUVSSVJFbk5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQVZWV1ZmNnJBUUFBQUFBQUFRQnVBQzREa2dOU0FBMEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FnQUJHUjQ5SHY3bkFSbDUvdWYrNTNrQkdmN25lUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1hrQUF3QjRBTlVEbndMaEFEZ0FSd0JhQUFBQk5qYytBVGMyRng0Qkh3RUdCdzRCQndZSEZoY2VBUmNXRnc0Qkp5NEJKdzRCQndZbkxnRW5KamMrQVRjdUFUYytBUmNlQVJjZUFSY0hCZ2NPQVFjR056NEJOekEyQnpFbklnWUhEZ0VIQmhjZUFSY1dGemN1QVNNeEFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFBQUJ3QXlBQ2NEemdOWkFBc0FEd0FiQUI4QUt3QXdBRDBBQURjaUJoVVVGak15TmpVMEppa0JGU0VCSWdZVkZCWXpNalkxTkNZaEZTRTFCeklXRlJRR0l5SW1OVFEyQVJVaE5TRWhNaFlWRkFZaklpWTFORFl6blMwK1BpMHNQajREQmYxVkFxdjh6eTArUGkwc1BqNERCZjFWaGg0c0xCNGZMQ3dEVVAxVkFxdjh6eXcrUGl3dFBqNHQvRDRzTFQ0K0xTdysxUUlFUHl3c1B6OHNMRC9XMWlBc0h4OHNMQjhmTEFGTzFkVStMU3crUGl3dFBnQUFBQUVBbGdBakEyb0RYUUFKQUFBQkVUTVJOeGNKQVRjWEFhK2tzR2YrbHY2V1o3SUJRd0lhL2Vld1ovNldBV3Buc1FBQUFBQURBQUgvd1FRQkE4RUFFQUFnQUN3QUFBRXlGaFVSRkFZaklTSW1OUkUwTmpNaEZ5RWlCaFVSRkJZeklUSTJOUkUwSmdFekZTTVZJelVqTlRNMU13T0FOVXhNTmYwQk5VdExOUUwvQWZ6K0VoZ1lFZ01DRVJnWS9zU3JxNnVycTZzRHdVczEvUUExUzBzMUF3QTFTMWNZRWYwQkVSZ1lFUUwvRVJqK3JLcXFxcXFyQUFBREFDSUFkZ1BlQXdvQUlnQklBRk1BQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTnpFQlBnRTNNQ1luRGdFSEZ3RW9OU2NnUWlOSVFrSjNORE1yS205QU4wTWhEdjdNSGo4ZUNoUUxBUXMxYXpKUU11c3FKU1U2RkJRSEl6NGFKakV5Y3o4L1B6UXVMeTlmTHk4dUloNGZOaGtZRnl0cVB3SGpMa3dnUHprTFBpeFRBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZodHFBQUFBQXdBaUFKa0QzZ0xvQUJzQU93QktBQUFCRmhjZUFSY1dGd1lIRGdFbkppY21KeTRCSnlZbk5qYytBVGMyQnc0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp6RWxKalExSXc0QkJ4YytBVGM2QVRNQ0NVaENRbmMwTXlzN1ZWWEZhV2xqSWg0Zk5oa1lGeW8xTkh0R1JiY2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRTEF1Z0NGeGRQTmpaQVYwVkZTQVVFUEJRYUdqb2hJQ0UvTnpkUkZ4ZXZHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFBQ0FGVUFRQU9yQTBBQUJnQUxBQUFUSVFFUkp4RUJBUlV6TlNOVkExYitxcXIrcWdGV3Fxb0RRUDZyL2xXckFRQUJWZjZyVmxZQUFBSUE4Z0RBQXc0Q3dBQURBQWtBQUFFUkl4RUJKemNuQ1FFQlIxVUNITWZIT2Y4QUFRQUN3UDRBQWdEK09jZkhPZjhBL3dBQUFBQUFEQUNyLytzRFZRT1ZBQU1BQndBTEFBOEFFd0FYQUJzQUh3QWpBQ2NBS3dBdkFBQTNNeFVqSlRNVkl5VXpGU01CTXhVakpUTVZJeVV6RlNNQk14VWpKVE1WSXlVekZTTUJNeFVqSlRNVkl5RWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxQUFBQUFBVUFWZi9yQTZzRGxRQWZBQ01BS0FBc0FEQUFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVeEFTTVZNeEVqRlRNMUVTTVZNeVVqRlRNQnE2b0JWdjZxcXFzQlZRRlcvcXIrcXdGVkFWYitxdjVXVmdGV0FhcXFxcXFxcXFyK0FLcXFBMEJWL3dCV1ZxcFYvd0JWL3dCVy93QlZBbFVCQUZYOVZWVUJxMVpXQVZWVlZWVUFBQUFEQUJrQkVRUG5BcE1BRmdBdEFEd0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKekVISmpRMUl3NEJCeGMrQVRjMk1qTUNDRDQ4UEhJek5Dd2tYbnA1LzN4N1l5UXhPamwrUkVNQkxSeUJVbEtCSENFOUhBTktYbDdGWDE5TUF4dy9JcGtCQzBTSFBDVXVaakVLRkFzQ2t3RU1EQzBoSUNza1hUVTFEeW9wWHlReUp5ZzNEdytJUjF4Y1J3NG1Gd00vSUNFQklCOUFBaGdvRGlNVkt4VUJFQjVNRmcwQ0FRQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBY0FDY0FBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1WQXpNM05TY2pCeFVlQVJjQ1ZaeDVuTjNkSjA0bmVaeXFuSG1jM2QyY2VTZE9KNnFjam1Sa2ptUVpNaGtDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNkMytoMlNPWkdTT0dUSVpBQUFFQUFIL3ZnUC9BOEVBRHdBZkFDY0FMd0FBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJCemNYTnhjSEZ3RTNCeGNIRnpjWEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AzZzQwZ3luem1mTUFHM1N1VXhvRG1nTVVKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nTVFBREFGVUFGUU9yQTJzQUF3QUhBQXNBQUNVVklUVUJGU0UxQVJVaE5RT3IvS29EVnZ5cUExYjhxc0NycXdGVnFxb0JWcXVyQUFBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdkFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFM0J5Y0hKemNuQVFjM0p6Y25CeWNEZi8wQ05VdExOUUwrTlV0TE5QeitFUmdZRVFNQ0VSZ1kvV3prU1RLZk9aOHdBV3hKNURHZk9aOHhRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQXhBQUVBcXdGckExVUNGUUFEQUFBVElSVWhxd0txL1ZZQ0Zhb0FBQUFCQVdRQXdBS2NBc0FBQlFBQUpUY25Od2tCQVdUSHh6Z0JBUDhBK2NmSE9mOEEvd0FBQUFBQUFRRFMvOVlETGdPcUFCUUFBQUVISndFV0Z4NEJGeFlYQnljUk54Y0pBVGNYRVFHbGJHY0JMaVlsSmt3bEppWm5iR3huL3RMKzBtZHNBb0ZzWndFdUppVW1UQ1VtSm1kcy9uNXNaLzdTQVM1bmJBR0NBQUFBQUFNQUFmKy9CQUFEd2dBY0FDb0FPUUFBQVRJWEhnRVhGaFVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNRkFSNEJNekkzUGdFM05qVTBKaWN1QVNNaUJ3NEJCd1lWRkJZWEFRSUFhbDFkaXlncEtTaUxYVjFxYWwxZGl5Z29LQ2lMWFYxcUFWSDlxVGFHU2xoT1RuUWhJakIwTjRaS1dFNU9jeUloTHlzQ1Z3UENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrbysvMnBLakFpSVhST1RWbEtoWUVxTUNFaWRFMU9XRXVHTmdKWEFBQUNBS3NBUUFOVkEwQUFDQUFTQUFBQklSRWhFU0UxTXhVWEl4VWhOU01SSVJFeEFsVUJBUDFXQVFDcXExWCtxbFVDQUFMci9WVUNxMVZWVnFxcS9nQUNBQUFBQUFFQXF3QVZBMVVERlFBUEFBQUJJeEVYSVFzQklUYzFNeEVqTlNFVkF3QlZxdjhBVlZYL0FLcFdxd0lBQXNEK3ExYi9BQUVBVmxVQkFGVlZBQVVBQWYrK0EvOER3UUFQQUI0QUpnQThBRVFBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlCTlNNaUJoVVJGQlk3QVJFak5UTUZJUkVoTWpZMUVROEJKemNlQVJjSEp4VWpGd2NuTng0QkZ3Y3pOVEVUSVJVaE5UUW1Jd04vL1FJMVMwczFBdjQxUzB2OVRJSVJHQmdSZ3F1ckFxbjlyQUlyRVJqK0RUeHpIVG9kUFF6RURUMXpjeEFlRHcxdjFmM1ZBbFFZRVVKTE5RTUROVXRMTmZ6OU5Vc0RBcW9ZRWZ6L0VSa0NWVlZWL2FzWkVRSXI1dzA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUFBQUFCQUtzQWF3TlZBeFVBQ3dBQUV5RVJNeEVoRlNFUkl4RWhxd0VBcWdFQS93Q3Evd0FDRlFFQS93Q3Evd0FCQUFBQkFXUUF3QUtjQXNBQUJRQUFKU2MzSndrQkFwekh4emovQUFFQStjZkhPZjhBL3dBQUFBQUFBZ0FCLzc4RUFBUENBQndBT1FBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTVZNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJNd0lBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs1WUE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NoWElTSjBUVTVZV1UxT2RDRWlJaUYwVGsxWldFNU5kQ0loQUFBREFBSC92d1FBQThJQUhBQTVBRllBQUFFeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dGUUlBYWwxZGl5Z3BLU2lMWFYxcWFsMWRpeWdvS0NpTFhWMXFXRTVPY3lJaElTSnpUazVZV0U1T2RDRWlJaUYwVGs1WUFRQVVGRVV2THpVMUx5NUdGQlFVRkVZdUx6VTFMeTlGRkJRRHdpZ3BpMTVkYW10ZFhZd29LU2tvakYxZGEycGRYb3NwS0ZjaEluUk5UbGhaVFU1MElTSWlJWFJPVFZsWVRrMTBJaUgrVmpVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUFBQUFFQVN3QldBN1VES2dBUEFBQUJKemNXRng0QkZ4WVhBU2MzSVRVaEFwS3VaeTB0TFZzdExTNytsbWV0L2JvQ1J3SVZybWN0TFM1YUxTNHQvcFpucmFzQUFBQUFBZ0NBQUVBRGdBTkFBQTBBR0FBQUFSRWhFU01SRkJZeklUSTJOUkVGTnhjSEp6Y1hFVE1STVFNci9hcFZNaU1DVmlNeS9xdHVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFBRUFxd0VWQTFVQ2F3QURBQUFUSVFrQnF3S3EvcXYrcXdKci9xb0JWZ0FBQVFGVkFHc0Nxd01WQUFNQUFBa0JFUUVCVlFGVy9xb0J3QUZWL1ZZQlZRQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RVZBMVVDYXdBREFBQVRDUUVocXdGVkFWWDlWZ0VWQVZiK3FnQUFBUUJFQUdZRHZBTWJBQWtBQUFrQ054Y0JIZ0VYTVFPOC9jVCt4SGpFQWNRZVBCNENvdjNFQVR4NHd3SEVIendlQUFBQUFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFXc0RWUUlWQUFNQUFCTWhGU0dyQXFyOVZnSVZxZ0FBQUFFQXF3RVZBMVVDYXdBREFBQVRJUWtCcXdLcS9xditxd0pyL3FvQlZnQUFBUUFBQUFFQUFQUWZmUTlmRHp6MUFBc0VBQUFBQUFEWlFZK1pBQUFBQU5sQmo1a0FBUCsrQkFFRHdnQUFBQWdBQWdBQUFBQUFBQUFCQUFBRHdQL0FBQUFFQUFBQS8vOEVBUUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFPQVFBQUFBQUFBQUFBQUFBQUFJQUFBQUVBQUMyQkFBQUFBUUFBSllFQUFFQUJBQUFBUVFBQUFFRUFBQUJCQUFBQVFRQUFITUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E0QUhRQWxnQ3dBUGdCUEFGMkFhZ0IxZ0hzQWhnQ1VnSjRBcHdETEFPSUE2SUQ1QVJxQk9BRS9BVVlCV2dGc2dZVUJqQUdUQWFLQnRnRzlBZENCMUFIWkFlUUIrd0lEZ2dzQ0pRSXJBakFDUmdKbWdtOENlZ0orQW9JQ2hnS0tBcENDbElLWUFwd0FBQUFBUUFBQURnQVd3QU1BQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWtBQUFBQkFBQUFBQUFDQUFjQWNnQUJBQUFBQUFBREFBa0FQQUFCQUFBQUFBQUVBQWtBaHdBQkFBQUFBQUFGQUFzQUd3QUJBQUFBQUFBR0FBa0FWd0FCQUFBQUFBQUtBQm9Bb2dBREFBRUVDUUFCQUJJQUNRQURBQUVFQ1FBQ0FBNEFlUUFEQUFFRUNRQURBQklBUlFBREFBRUVDUUFFQUJJQWtBQURBQUVFQ1FBRkFCWUFKZ0FEQUFFRUNRQUdBQklBWUFBREFBRUVDUUFLQURRQXZFRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkxWmxjbk5wYjI0Z01TNHdBRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUVGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTBGblEyeGhjM05wWXdCQkFHY0FRd0JzQUdFQWN3QnpBR2tBWTFKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNrRm5RMnhoYzNOcFl3QkJBR2NBUXdCc0FHRUFjd0J6QUdrQVkwWnZiblFnWjJWdVpYSmhkR1ZrSUdKNUlFbGpiMDF2YjI0dUFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBQUFBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1mcmVzaCB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSwgLmFnLXRoZW1lLWZyZXNoIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAqOmZvY3VzLCAuYWctdGhlbWUtZnJlc2ggKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24sIC5hZy10aGVtZS1mcmVzaCAuYWctdG9nZ2xlLWJ1dHRvbiB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3ggbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctcmFkaW8tYnV0dG9uIGxhYmVsLCAuYWctdGhlbWUtZnJlc2ggLmFnLXRvZ2dsZS1idXR0b24gbGFiZWwge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3ggbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1mcmVzaCAuYWctcmFkaW8tYnV0dG9uIGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZnJlc2ggLmFnLXRvZ2dsZS1idXR0b24gbGFiZWw6ZW1wdHkge1xcbiAgICAgICAgbWFyZ2luOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b246bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy10b2dnbGUtYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHdoaXRlKSwgdG8obGlnaHRncmV5KSk7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgbGlnaHRncmV5KTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQTlBOUE5JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiAycHggMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctcGFnaW5nLWJ1dHRvbiBidXR0b24ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIHRvcDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uLmFnLWRpc2FibGVkIC5hZy1pY29uIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgYnV0dG9uIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1zbWFsbC1sZWZ0LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogI2VjZjBmMTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWMgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6IGJsYWNrO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcXG4gICAgcGFkZGluZzogMHB4O1xcbiAgICBib3JkZXI6IDAgc29saWQgI2I2YjZiNjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLCAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudC5hZy1kaXNhYmxlZCA+IC5hZy1ncm91cC1jb21wb25lbnQtY29udGFpbmVyIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBoZWlnaHQ6IDI2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIgLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcXG4gICAgICBwYWRkaW5nOiA0cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50ID4gLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW46IDJweCAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWxhYmVsZWQgbGFiZWwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtZnJlc2ggLmFnLWFuZ2xlLXNlbGVjdCA+IC5hZy13cmFwcGVyID4gZGl2Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWFuZ2xlLXNlbGVjdCAuYWctYW5nbGUtc2VsZWN0LWZpZWxkIC5hZy1wYXJlbnQtY2lyY2xlIHtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctY2hpbGQtY2lyY2xlIHtcXG4gICAgdG9wOiA0cHg7XFxuICAgIGxlZnQ6IDEycHg7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcXG4gICAgbWFyZ2luLXRvcDogLTRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM0YzRjOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvZ2dsZS1idXR0b24gLmFnLWlucHV0LXdyYXBwZXIge1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHdpZHRoOiA0MHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgYm9yZGVyLXJhZGl1czogNTAwcmVtOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxMnB4KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIC5hZy1pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICByaWdodDogLTFweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBpY2tlciA+IC5hZy13cmFwcGVyIGJ1dHRvbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nLmFnLWNvbG9yLWRpYWxvZyB7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1wYW5lbCB7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1jb2xvciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10b29scyB7XFxuICAgICAgcGFkZGluZzogMTBweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zYXQge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHdoaXRlKSwgdG8ocmdiYSgyMDQsIDE1NCwgMTI5LCAwKSkpO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUsIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLXZhbCB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShibGFjayksIHRvKHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpKTtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tZHJhZ2dlciB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxuICAgICAgd2lkdGg6IDEycHg7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XFxuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1odWUtYmFja2dyb3VuZCB7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWFscGhhLWJhY2tncm91bmQge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1odWUtYWxwaGEge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICAgICAgaGVpZ2h0OiAxMXB4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1zbGlkZXIge1xcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xcbiAgICAgIHdpZHRoOiAxM3B4O1xcbiAgICAgIGhlaWdodDogMTNweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlIHtcXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS10ZXh0LXZhbHVlOmZvY3VzIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGQ3N2U0O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2IHtcXG4gICAgICBtYXJnaW46IDAgM3B4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdjpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6bGFzdC1jaGlsZCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaC5hZy1wb3B1cCA+IGRpdjpub3QoLmFnLXRvb2x0aXAtY3VzdG9tKSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjM2MzYzM7XFxuICAgICAgY29sb3I6ICMzMzMzMzM7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFuZWwgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIG1hcmdpbjogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24pIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBmb250LXNpemU6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDQuOHB4IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjMzMzO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNvbG9yLXBpY2tlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWdyaXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jaGVja2JveDpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b2dnbGUtYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHdoaXRlKSwgdG8obGlnaHRncmV5KSk7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgbGlnaHRncmV5KTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZE1hdGVyaWFsXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxNQUFBQzhBQUFBWUdOdFlYQVhWdEs2QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WnZaTkJCZ0FBQUY0QUFBUldHaGxZV1FWYVdOM0FBQVMwQUFBQURab2FHVmhCNGtEK1FBQUV3Z0FBQUFrYUcxMGVOWUFKcDhBQUJNc0FBQUE0R3h2WTJGOVNIak1BQUFVREFBQUFISnRZWGh3QUVJQVdRQUFGSUFBQUFBZ2JtRnRaVm04cTNFQUFCU2dBQUFCcW5CdmMzUUFBd0FBQUFBV1RBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE13UEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VFAvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBUUFBYXdNQUF4VUFDd0FBQVNFVkNRRVZJVFVoTnljaEF3RCtBQUVWL3VzQ0FQN1YxdFlCS3dNVlZmOEEvd0JWZ05YVkFBQUFBQVFBT2YvNUE4Y0Rod0FJQUE4QUZ3QWZBQUFCTXpVekp3Y3pGVEVISXpVSEZ6VXpKU2NWSXhVekZUY0ZJeFVqRnpjak5RR3JxbkxIeDNJNWNzZkhjZ0pWeDNKeXgvNk9xbkxIeDNJQ1RuTEh4M0k1Y3NmSGNsWEhjcXB5eDQ1eXg4ZHlBQUFCQUtzQWF3TlZBeFVBQ1FBQUV4YzNFVE1SRnpjSkFhczg3bGJ1UFA2ci9xc0J3RHp1L2ZrQ0IrODlBVlgrcXdBQ0FGVUFGUU9yQTJzQUhBQW9BQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtSXhNSEp3Y25OeWMzRnpjWEJ3SUFXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WTFUeVptVHlabVR5Wm1UeVpBMnNpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDl2RHlabVR5Wm1UeVptVHlaQUFBQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQUNBSUFBUUFPQUEwQUFEd0FXQUFBQklTSUdGUkVVRmpNaE1qWTFFVFFtQVNjM0Z3RVhBUU1yL2Fvak1qSWpBbFlqTWpMK1hkWThtZ0ZFUFA2QUEwQXlJLzJxSXpJeUl3SldJekw5cTlVOG1RRkVQUDZBQUFBQUFnQ0FBRUFEZ0FOQUFBOEFFd0FBQVNFaUJoVVJGQll6SVRJMk5SRTBKZ01oTlNFREsvMnFJekl5SXdKV0l6SXllZjVXQWFvRFFESWovYW9qTWpJakFsWWpNdjVWVmdBQUFnQ0FBRUFEZ0FOQUFBTUFFd0FBQVJFaEVTVWhJZ1lWRVJRV015RXlOalVSTkNZREsvMnFBbGI5cWlNeU1pTUNWaU15TWdMci9hb0NWbFV5SS8ycUl6SXlJd0pXSXpJQUF3QnpBRWdEalFNNEFBWUFDZ0FXQUFBSkFRY1hDUUloTnhjaEJUQUdGUlFXTXpJMk5UUW1BdjMrVlR4bS92Y0JSUUZGL2UvTXpQNW9Ba3hWTWlNak1sVUJqUUdyUEdiKzkvNjdBVVhOelVCcktpTXlNaU1xYXdBQUFBQUNBS3NBYXdGVkF4VUFBd0FIQUFBbEl4RXpOUlVqTlFGVnFxcXFhd0gvcTFkWEFBQUpBS3NBYXdOVkF4VUFBd0FJQUF3QUVBQVZBQmtBSGdBaUFDWUFBQk16TlNNQk16VWpGU0V6TlNNMU16VWpCVE0xSXhVQkZUTTFCVE0xSXhVQk16VWpFVE0xSTZ1cXFnRUFxcXIvQUtxcXFxb0JBS3FxQVFDcS9sYXFxZ0VBcXFxcXFnSnJxdjFXcXFxcVZxcXFxcW9CcXFxcXFxcXEvd0NxL2xhcUFBQUFBQUVCWWdEQUFwNEN3QUFHQUFBQkp3a0JOeWMzQXA0OC93QUJBRHpEd3dLRVBQOEEvd0E4eE1RQUFBQUFBd0JyLytzRGxRT1ZBQWdBR1FBZEFBQUJJU0lHRlJFekVTRVhJU0lHRlJFVUZqTWhNalkxRVRRbUl4RWhFU0VDd1A0QUl6SlZBZ0NBL2lza01qSWtBZFVqTWpJai9pc0IxUU9WTWlQOXF3SlZWVElrL2Fzak1qSWpBbFVrTXYxVkFsVUFBQUVBMVFDVkF5c0M2d0FNQUFBQkp3Y25CeGNIRnpjWE55YzNBeXM4Nys4ODcrODg3Kzg4Nys4Q3J6enY3enp2N3p6djd6enY3d0FBQlFCVkFCVURxd05yQUNVQU1nQS9BRXNBVVFBQUFUNEJOVFFtSXlJR0ZSUVdNekkyTnhjSExnRWpJZ1lWRkJZek1qWTFOQ1luTndFek5RRUhJaVkxTkRZek1oWVZGQVlqRVNJbU5UUTJNeklXRlJRR0l3RWlKalUwTmpNeUZoVVVCZ2tCRndFMUl3R2JDQWhrUjBka1pFY1RJeEJsWlJBakUwZGtaRWRIWkFnSVpRRXJnUDN3bXlNeU1pTWpNaklqSXpJeUl5TXlNaU1CQUFrTURBa0pEQXdCSXY4QVZRRXJnQUo2RUNNVFIyUmtSMGRrQ0FobFpRZ0laRWRIWkdSSEV5TVFaZjdWS3dJUER6RWtKREV4SkNReC9nQXhKQ1F4TVNRa01RRkFEQWtKREF3SkNRd0JsZjhBVlFFcUt3QUFCd0NYQUw4RGFRTEJBQXdBRUFBZEFDRUFMUUE2QUQ0QUFCTWlCaFVVRmpNeU5qVTBKaU1GTlNFVkF5SUdGUlFXTXpJMk5UUW1Jd1VoTlNFRk1oWVZGQVlqSWlZMU5EWTNNaFlWRkFZaklpWTFORFl6QlNFMUljSVNHUmtTRWhrWkVnS24vZGQrRWhrWkVoSVpHUklCMHY2c0FWVCtMZzBURXcwTkV4TU5FaGtaRWhJWkdSSUNwLzNYQWlrQkZSa1NFUm9hRVJJWlZWWldBU3NaRWhJWkdSSVNHVlZWQ3hNTkRSTVREUTBUNFJvUkVoa1pFaEVhVmxVQUFBQUJBS3NBYXdOVkF4VUFDUUFBQVNjSEVTTVJKd2NKQVFOVlBPNVc3andCVlFGVkFjQTg3Z0lIL2ZudlBmNnJBVlVBQUFBQUFRRmlBTUFDbmdMQUFBWUFBQUVIRndjWENRRUJuanpEd3p3QkFQOEFBc0E4eE1ROEFRQUJBQUFBQUFBQkFKTUF4d050QXJrQVJ3QUFBUzRCSXlJR0J5YytBVE15Rng0QkZ4WVhEZ0VISno0Qk55TU9BUWNuSXhjT0FTTWlKaWNqSGdFek1qWTNGdzRCSXlJbkxnRW5KaWMrQVRjWERnRUhNeWMrQVRNeUZoY3pBcU1LWEQwaVBSWlBLMk0yUGprNVh5UWxGUmhZT1U4U0dBVkVCQTBJSzFCR0JBa0ZJalVKUkFwY1BoTWpFRWdoUnlZK09UbGZKQ1VWRXo0b1hnVUdBb1lwRFNRVklqUUpSQUhkT2s4YUYwOFpIQk1TUWk0dE56NWxJVThTTFJvTUZRa3FSZ0VCS1I4NlVBZ0lTQTBPRXhKQ0xpMDNNRlFnWGdvVUN5b05FQ2dmQUFBREFKTUF4d050QXJrQUhBQXBBRFVBQUFFaUJ3NEJCd1lIRmhjZUFSY1dNekkzUGdFM05qY21KeTRCSnlZakVTSW1OVFEyTXpJV0ZSUUdJeEVpQmhVVUZqTXlOalUwSmdJQVBqazVYeVFsRlJVbEpGODVPVDQrT1RsZkpDVVZGU1VrWHprNVBrVmhZVVZGWVdGRktUczdLU2s3T3dLNUV4SkNMaTAzTnkwdVFoSVRFeEpDTGkwM055MHVRaElUL21GaFJVVmhZVVZGWVFFS095a3BPenNwS1RzQUFBTUFnQURBQTRBQ3dBQUVBQWdBREFBQUpUTTFJeFVCRlNFMUFTRTFJUUdycXFyKzFRTUEvWUFDQVA0QXdGVlZBZ0JWVmY3VlZnQUFBZ0QzQU1BRENRTEFBQVVBQ2dBQUpTYzNKd2tCQVRNUkl4RURDY1RFUFA4QUFRRCtLbFpXL01URVBQOEEvd0FDQVA0QUFnQUFBQUFDQUtzQlFBTlZBa0FBQXdBSUFBQUJJUlVoQlNFMUlSVURWZjFXQXFyOVZnS3EvVllDUUZXclZWVUFBQVlBamdDa0EzSUMzQUFIQUF3QUV3QVhBQnNBSVFBQUFTRVVCaXNCTlRFbEZTRTFJU2N5RmhVaE5TRUJJelV6TlNNMU15Y2pORFl6RlFKVkFSMURMNnNCSGY3akFSMXlMMFArQUFHTy91Unljbkp5NUhKREx3RVZMMEp4NUhKeTQwSXZjZjNJY1hKeWNpOUNjUUFBQUFBQ0FKTUF4d050QXJrQUhBQXBBQUFCSWdjT0FRY0dCeFlYSGdFWEZqTXlOejRCTnpZM0ppY3VBU2NtSXhFaUpqVTBOak15RmhVVUJpTUNBRDQ1T1Y4a0pSVVZKU1JmT1RrK1BqazVYeVFsRlJVbEpGODVPVDVGWVdGRlJXRmhSUUs1RXhKQ0xpMDNOeTB1UWhJVEV4SkNMaTAzTnkwdVFoSVQvbUZoUlVWaFlVVkZZUUFDQVBjQXdBTUpBc0FBQmdBS0FBQVRGd2NYQ1FFSEpUTVJJL2ZFeER3QkFQOEFQQUc4VmxZQ2hNVEVQQUVBQVFBOFBQNEFBQUFBQUFFQXF3QnJBMVVERlFBSkFBQUJJVGNuQ1FFM0p5RTFBMVg5K2U4OS9xc0JWVHp1QWdjQjYrNDgvcXYrcXp6dVZnQUFBQUFDQU9RQXBBTWNBdHdBSEFBbUFBQUJOeGNITXhVakhnRVhCeWNWSXpVSEp6Y2pOVE1uTng0QkZ6VXpGUWN6TnpVbkl3Y1ZIZ0VDT1doUWFKT1RHalFhVUdoeWFGQm9rNU5vVUJvMEduSm9Ya05EWGtNUklRSkphRkJvY2hvMEdsQm9rNU5vVUdoeWFGQWFOQnFUay90RFhrTkRYaEVoQUFBQkFJQUM2d09BQTBBQUF3QUFFeUVWSVlBREFQMEFBMEJWQUFBQUF3Q0FBTUFEZ0FMQUFBTUFCd0FMQUFBM0lUVWhOU0UxSVRVVklUV0FBd0Q5QUFNQS9RQURBTUJWZ0ZiVlZWVUFBUUVBQUVBREFBQ1ZBQU1BQUNVaEZTRUJBQUlBL2dDVlZRQUFBQUVBMVFHVkF5c0I2d0FFQUFBVElSVWhOZFVDVnYycUFldFdWZ0FCQVdJQXdBS2VBc0FBQmdBQUFRY1hCeGNKQVFHZVBNUERQQUVBL3dBQ3dEekV4RHdCQUFFQUFBQUFBQU1BZ0FEQUE0QUN3QUFEQUFjQUN3QUFOeUUxSVJFVklUVUJJVFVoZ0FJQS9nQURBUDBBQXdEOUFNQlZBYXRWVmY3VlZnQURBRlVBRlFPckEyc0FIQUFyQURvQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpBVFEzUGdFM05qTXlGaGNCTGdFMUFTSW1Kd0VlQVJVVUJ3NEJCd1lqQWdCWVRrNTBJU0lpSVhST1RsaFlUazUwSVNJaUlYUk9UbGorcXhvYlhUNCtSenRySy80aUlpWUJWVHRyS3dIZUlpWWFHMTArUGtjRGF5SWhkRTVPV0ZoT1RuUWhJaUloZEU1T1dGaE9UblFoSXY1VlJ6NCtYUnNhSmlMK0lpdHJPLzZySmlJQjNpdHJPMGMrUGwwYkdnQUFBQUFEQUlELzZ3T0FBNVVBR0FBa0FDd0FBQUVqTGdFaklnWUhJeUlHRlJFVUZqTWhNalkxRVRRbUl6RWhNaFlWRkFZaklpWTFORFlCSVJFekZTRTFNd01yc3cxQktpcEJEYk1qTWpJakFsWWpNaklqL3RVU0dSa1NFaGtaQVQzOXFsWUJxbFlEUUNVd01DVXlJLzFWSXpJeUl3S3JJeklaRWhFWkdSRVNHZjBBQXF1QWdBQUNBSzBBYndOVEF4RUFCUUFTQUFBbEJ5YzNIZ0VUQVFjbkJ4Y0hKemNYTnljM0FXT09LSTRLRk1ZQk5COGU5ejVZOWxnOWV4NGUvWTRvamdvVUFncit6QjRlZXoxWTlsZys5eDRmQUFBQUFBa0FPZi81QThjRGh3QVBBQk1BRndBZ0FDUUFMZ0F5QURZQU9nQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnRWpGVE1CSVJFaEpRY1hCeWMzSGdFWEp5TVZNeVVISndjbk54NEJGekVCSXhVekpTTVZNemNqRlRNRFZmMVdMME5ETHdLcUwwTkQvZEdxcWdJQS9qa0J4LzdjUWtJcGFXa0tGUXJjcXFvQitDaEJRaWhxR2pVYS9naXFxZ0VkNU9UanFxb0hReThDcWk5RFF5LzlWaTlEQVJ5cUFZNytjck5DUVNocGFnb1VDdHVyTVNoQlFTaHBHalVhQVphcXFxcXFxZ0FBQUFBQkFOVUFsUU1yQXVzQUN3QUFBU0VSSXhFaE5TRVJNeEVoQXl2L0FGYi9BQUVBVmdFQUFaWC9BQUVBVmdFQS93QUFBQUFBQVFGaUFNQUNuZ0xBQUFZQUFBRW5DUUUzSnpjQ25qei9BQUVBUE1QREFvUTgvd0QvQUR6RXhBQUFBQUFDQUZVQUZRT3JBMnNBSEFBNUFBQUJJZ2NPQVFjR0ZSUVhIZ0VYRmpNeU56NEJOelkxTkNjdUFTY21JeEVpSnk0Qkp5WTFORGMrQVRjMk16SVhIZ0VYRmhVVUJ3NEJCd1lqQWdCWVRrNTBJU0lpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhIUGo1ZEd4b2FHMTArUGtkSFBqNWRHeG9hRzEwK1BrY0RheUloZEU1T1dGaE9UblFoSWlJaGRFNU9XRmhPVG5RaEl2MEFHaHRkUGo1SFJ6NCtYUnNhR2h0ZFBqNUhSejQrWFJzYUFBTUFWUUFWQTZzRGF3QWNBRGtBVmdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkppTTFJZ2NPQVFjR0ZSUVhIZ0VYRmpNeU56NEJOelkxTkNjdUFTY21JeEVpSnk0Qkp5WTFORGMrQVRjMk16SVhIZ0VYRmhVVUJ3NEJCd1lqQWdBc0p5YzZFUkFRRVRvbkp5d3NKeWM2RVJBUUVUb25KeXhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0lpSVhST1RsaEhQajVkR3hvYUcxMCtQa2RIUGo1ZEd4b2FHMTArUGtjQ2xSQVJPaWNuTEN3bkp6b1JFQkFST2ljbkxDd25Kem9SRU5ZaUlYUk9UbGhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0w5QUJvYlhUNCtSMGMrUGwwYkdob2JYVDQrUjBjK1BsMGJHZ0FCQUtzQWF3TlZBeFVBQ1FBQUFRY1hJUlVoQnhjSkFRSUFQTzc5K1FJSDdqd0JWZjZyQXhVODdsYnVQQUZWQVZVQUFBQUFBZ0NBQUVBRGdBTkFBQTRBR1FBQUFSRWhFU01SRkJZeklUSTJOUkVqQlRjWEJ5YzNGeEV6RVRFREsvMnFWVElqQWxZak1sWC9BRzQ4MWRVOGJsWUJ3UDdWQVN2KzFTTXlNaU1CS3gxdVBOWFZQRzRCbmY1akFBRUJLd0ZWQXRVQ0t3QURBQUFCRnpjaEFTdlYxZjVXQWl2VzFnQUJBWlVBNndKckFwVUFBd0FBQVFjWEVRSnIxdFlDbGRYVkFhb0FBUUdWQU9zQ2F3S1ZBQU1BQUNVM0p4RUJsZGJXNjlYVi9sWUFBQUVCS3dGVkF0VUNLd0FEQUFBQk54Y2hBU3ZWMWY1V0FWWFcxZ0FCQUlrQW9nTjNBdDRBQmdBQUFTY0hGd0VuQVFGM3NqenVBZ0E4L2p3Qkc3STk3Z0lBUFA0OUFBQUFBQUVCWWdEQUFwNEN3QUFHQUFBQkJ4Y0hGd2tCQVo0OHc4TThBUUQvQUFMQVBNVEVQQUVBQVFBQUFBQUFBUURWQVpVREt3SHJBQVFBQUJNaEZTRTExUUpXL2FvQjYxWldBQUVCQUFFaUF3QUNYZ0FGQUFBQkJ5Y0hDUUVDeE1URVBBRUFBUUFDWHNQRFBQOEFBUUFBQUFBQkFBQUFBUUFBY0ZCekVWOFBQUFVBQ3dRQUFBQUFBTmxCajMwQUFBQUEyVUdQZlFBQS8rc0R4d09WQUFBQUNBQUNBQUFBQUFBQUFBRUFBQVBBLzhBQUFBUUFBQUFBQUFQSEFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBNEJBQUFBQUFBQUFBQUFBQUFBZ0FBQUFRQUFRQUVBQUE1QkFBQXF3UUFBRlVFQUFEVkJBQUFnQVFBQUlBRUFBQ0FCQUFBY3dRQUFLc0VBQUNyQkFBQllnUUFBR3NFQUFEVkJBQUFWUVFBQUpjRUFBQ3JCQUFCWWdRQUFKTUVBQUNUQkFBQWdBUUFBUGNFQUFDckJBQUFqZ1FBQUpNRUFBRDNCQUFBcXdRQUFPUUVBQUNBQkFBQWdBUUFBUUFFQUFEVkJBQUJZZ1FBQUlBRUFBQlZCQUFBZ0FRQUFLMEVBQUE1QkFBQTFRUUFBV0lFQUFCVkJBQUFWUVFBQUtzRUFBQ0FCQUFCS3dRQUFaVUVBQUdWQkFBQkt3UUFBSWtFQUFGaUJBQUExUVFBQVFBQUFBQUFBQW9BRkFBZUFEb0FiQUNFQU1nQTVBRVFBVFFCV0FHR0FaZ0IyQUh1QWlBQ1BBSzBBeElETEFOQ0E2NEVBQVFjQkRnRVRnU0dCTWdFNUFUK0JUb0ZTQVZnQlc0RmZBV1NCYXdHREFaT0JuWUcyQWJ5QndnSFlBZmdCL29JSmdnMENFSUlVQWhlQ0hRSWlnaVlDS3dBQUFBQkFBQUFPQUJYQUFrQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQUNnQUFBQUVBQUFBQUFBSUFCd0I3QUFFQUFBQUFBQU1BQ2dBL0FBRUFBQUFBQUFRQUNnQ1FBQUVBQUFBQUFBVUFDd0FlQUFFQUFBQUFBQVlBQ2dCZEFBRUFBQUFBQUFvQUdnQ3VBQU1BQVFRSkFBRUFGQUFLQUFNQUFRUUpBQUlBRGdDQ0FBTUFBUVFKQUFNQUZBQkpBQU1BQVFRSkFBUUFGQUNhQUFNQUFRUUpBQVVBRmdBcEFBTUFBUVFKQUFZQUZBQm5BQU1BQVFRSkFBb0FOQURJUVdkTllYUmxjbWxoYkFCQkFHY0FUUUJoQUhRQVpRQnlBR2tBWVFCc1ZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3UVdkTllYUmxjbWxoYkFCQkFHY0FUUUJoQUhRQVpRQnlBR2tBWVFCc1FXZE5ZWFJsY21saGJBQkJBR2NBVFFCaEFIUUFaUUJ5QUdrQVlRQnNVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5UVdkTllYUmxjbWxoYkFCQkFHY0FUUUJoQUhRQVpRQnlBR2tBWVFCc1JtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1tYXRlcmlhbCB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDEzcHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsICo6Zm9jdXMsIC5hZy10aGVtZS1tYXRlcmlhbCAqICo6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyOTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1MTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1OTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3MjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4NDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTg5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4OTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExOTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFkaW8tYnV0dG9uLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvZ2dsZS1idXR0b24ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoZWNrYm94IGxhYmVsLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoZWNrYm94IGxhYmVsOmVtcHR5LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbiBsYWJlbDplbXB0eSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uIGxhYmVsOmVtcHR5IHtcXG4gICAgICAgIG1hcmdpbjogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoZWNrYm94Om5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFkaW8tYnV0dG9uOm5vdCguYWctbGFiZWwtYWxpZ24tbGVmdCkgbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhY2MxO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgICBoZWlnaHQ6IDQwcHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgIGJvcmRlci13aWR0aDogMDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Zm9jdXMge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6Zm9jdXMge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC13cmFwcGVyIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1ncm91cC1jZWxsOmhvdmVyLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItY2VsbDpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1jZWxsLmFnLWNvbHVtbi1yZXNpemluZyxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZTpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZS5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUuYWctY29sdW1uLXJlc2l6aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgIG1pbi13aWR0aDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnMTZweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDE2cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzhweCclMjB4MiUzRCcxJyUyMHkyJTNEJzhweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzRTJFMkUyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDM0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDU2cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCAxNnB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIGNvbG9yOiAjM2Y1MWI1O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBoZWlnaHQ6IDU2cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiA1NnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgaGVpZ2h0OiA1NnB4O1xcbiAgICBwYWRkaW5nOiAwIDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDE4cHg7XFxuICAgIGhlaWdodDogMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLXBhZ2luZy1idXR0b24uYWctZGlzYWJsZWQgLmFnLWljb24ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1wYWdpbmctYnV0dG9uLmFnLWRpc2FibGVkIGJ1dHRvbiB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjEpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgODgsIDI1NSwgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjU1LCAxMzIsIDAuMSk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuMik7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMzZjUxYjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICNhZmFmYWY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDI0cHg7XFxuICAgIGhlaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgICAgd2lkdGg6IDIwMHB4O1xcbiAgICAgIGhlaWdodDogMzEycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICAgIHBhZGRpbmc6IDAgOHB4IDAgMjRweDtcXG4gICAgICBoZWlnaHQ6IDQ4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDQ4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMThweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xcbiAgICBoZWlnaHQ6IDQ4cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1zbWFsbC1sZWZ0LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tc21hbGwtcmlnaHQge1xcbiAgICAgIG1hcmdpbjogMCA4cHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XFxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XFxuICAgIG1pbi1oZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMzJweDtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgaGVpZ2h0OiAxNDBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWNjMSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgICAgd2lkdGg6IDIycHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0NHB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkO1xcbiAgICBwYWRkaW5nOiAwcHg7XFxuICAgIGJvcmRlcjogMCBzb2xpZCAjZWZlZmVmO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQuYWctZGlzYWJsZWQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIC5hZy1ncm91cC1jb21wb25lbnQtdGl0bGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50LmFnLWRpc2FibGVkID4gLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcXG4gICAgICBoZWlnaHQ6IDE4cHg7XFxuICAgICAgZm9udC1zaXplOiAxM3B4O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBoZWlnaHQ6IDI2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQ6bm90KC5hZy1jb2xsYXBzaWJsZSkgPiBkaXYge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIHBhZGRpbmc6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50Om5vdCguYWctY29sbGFwc2libGUpID4gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIgLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtdG9vbGJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcXG4gICAgICBwYWRkaW5nOiA4cHg7XFxuICAgICAgYm9yZGVyOiAwIHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgPiAuYWctZ3JvdXAtY29tcG9uZW50LWNvbnRhaW5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XFxuICAgICAgcGFkZGluZzogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW46IDRweCAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0gLmFnLWdyb3VwLWNvbXBvbmVudC10aXRsZS1iYXIge1xcbiAgICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWxhYmVsZWQgbGFiZWwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sYWJlbGVkLmFnLWxhYmVsLWFsaWduLXRvcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zbGlkZXIgPiAuYWctd3JhcHBlciA+IGRpdjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWFuZ2xlLXNlbGVjdCA+IC5hZy13cmFwcGVyID4gZGl2Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1hbmdsZS1zZWxlY3QgLmFnLWFuZ2xlLXNlbGVjdC1maWVsZCAuYWctcGFyZW50LWNpcmNsZSB7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuOSk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctYW5nbGUtc2VsZWN0IC5hZy1hbmdsZS1zZWxlY3QtZmllbGQgLmFnLWNoaWxkLWNpcmNsZSB7XFxuICAgIHRvcDogNHB4O1xcbiAgICBsZWZ0OiAxMnB4O1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XFxuICAgIG1hcmdpbi10b3A6IC00cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjNGM0YzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgaGVpZ2h0OiAxOHB4O1xcbiAgICB3aWR0aDogNDBweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgYm9yZGVyLXJhZGl1czogNTAwcmVtOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9nZ2xlLWJ1dHRvbiAuYWctaW5wdXQtd3JhcHBlciAuYWctaWNvbiB7XFxuICAgICAgd2lkdGg6IDE4cHg7XFxuICAgICAgaGVpZ2h0OiAxOHB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XFxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxOHB4KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b2dnbGUtYnV0dG9uLmFnLXNlbGVjdGVkIC5hZy1pbnB1dC13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDA4MTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvZ2dsZS1idXR0b24uYWctc2VsZWN0ZWQgLmFnLWlucHV0LXdyYXBwZXIgLmFnLWljb24ge1xcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgICAgcmlnaHQ6IC0xcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1waWNrZXIgPiAuYWctd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDE4cHg7XFxuICAgICAgaGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGlja2VyID4gLmFnLXdyYXBwZXIgYnV0dG9uOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZy5hZy1jb2xvci1kaWFsb2cge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGFuZWwge1xcbiAgICBwYWRkaW5nOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tY29sb3Ige1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdG9vbHMge1xcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tc2F0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSh3aGl0ZSksIHRvKHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpKTtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHdoaXRlLCByZ2JhKDIwNCwgMTU0LCAxMjksIDApKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS12YWwge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20oYmxhY2spLCB0byhyZ2JhKDIwNCwgMTU0LCAxMjksIDApKSk7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGFuZWwgLmFnLXNwZWN0cnVtLWRyYWdnZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICAgICAgaGVpZ2h0OiAxMnB4O1xcbiAgICAgIHdpZHRoOiAxMnB4O1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0taHVlLWJhY2tncm91bmQge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbG9yLXBhbmVsIC5hZy1zcGVjdHJ1bS1hbHBoYS1iYWNrZ3JvdW5kIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctaHVlLWFscGhhIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgICAgIGhlaWdodDogMTFweDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tc2xpZGVyIHtcXG4gICAgICBtYXJnaW4tdG9wOiAtMTJweDtcXG4gICAgICB3aWR0aDogMTNweDtcXG4gICAgICBoZWlnaHQ6IDEzcHg7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMTNweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZSB7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctc3BlY3RydW0tdGV4dC12YWx1ZTpmb2N1cyB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkNzdlNDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2xvci1wYW5lbCAuYWctcmVjZW50LWNvbG9ycyA+IGRpdiB7XFxuICAgICAgbWFyZ2luOiAwIDNweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sb3ItcGFuZWwgLmFnLXJlY2VudC1jb2xvcnMgPiBkaXY6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbG9yLXBhbmVsIC5hZy1yZWNlbnQtY29sb3JzID4gZGl2Omxhc3QtY2hpbGQge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctcG9wdXAgPiBkaXY6bm90KC5hZy10b29sdGlwLWN1c3RvbSkge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYW5lbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFuZWwuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmNmY2ZjO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogNTZweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYW5lbCAuYWctdGl0bGUtYmFyIC5hZy10aXRsZS1iYXItYnV0dG9ucyAuYWctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFuZWwgLmFnLXRpdGxlLWJhciAuYWctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy10aXRsZS1iYXIgLmFnLXRpdGxlLWJhci1idXR0b25zIC5hZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFuZWwgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhbmVsIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWdyb3VwLWNvbXBvbmVudC1jb250YWluZXIge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgIG1hcmdpbjogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsOm50aC1jaGlsZCgybiArIDIpOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24gKyAxKSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbDpudGgtY2hpbGQoM24pIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbC5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1zaXplOiAxMXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWZvcm1hdCAuYWctY2hhcnQtZm9ybWF0LXdyYXBwZXIgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW46IDkuNnB4IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkTWF0ZXJpYWxcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxOHB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jb2xvci1waWNrZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ncmlwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjZmY0MDgxOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjZmY0MDgxOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2hlY2tib3g6bm90KC5hZy1sYWJlbC1hbGlnbi1sZWZ0KSBsYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9nZ2xlLWJ1dHRvbjpub3QoLmFnLWxhYmVsLWFsaWduLWxlZnQpIGxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiNTZweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjQycHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjMycHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiNDBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiMTQwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIyNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIyNHB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCI0OHB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjhweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxOHB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb24sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZiB7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGZvbnQtc2l6ZTogMjRweDtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2U0ZWMgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudS1vcHRpb24ge1xcbiAgICBoZWlnaHQ6IDM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIge1xcbiAgICBib3JkZXItYm90dG9tOiAwO1xcbiAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgIGJvcmRlci10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGJ1dHRvbiB7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgICBtYXJnaW4tbGVmdDogLTJweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1maWx0ZXItdG9vbHBhbmVsLWJvZHkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIi8qXFxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cXG4qXFxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXFxuKi9cXG5cXG4uZ3ctYWxpZ25tZW50LWNlbGwtcmlnaHQsXFxuLmd3LWFsaWdubWVudC1jZWxsLXJpZ2h0IC5hZy1jZWxsLXZhbHVlIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDE7XFxuICAgICAgICAgICAgZmxleDogMTtcXG59XFxuXFxuLmd3LWFsaWdubWVudC1jZWxsLWNlbnRlcixcXG4uZ3ctYWxpZ25tZW50LWNlbGwtY2VudGVyIC5hZy1jZWxsLXZhbHVlIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMTtcXG4gICAgICAgICAgICBmbGV4OiAxO1xcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1yaWdodCAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyAgICBcXG59XFxuXFxuLmd3LWFsaWdubWVudC1oZWFkZXItY2VudGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuXFxuLmd3LWFsaWdubWVudC1oZWFkZXItcmlnaHQgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyLFxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLWNlbnRlciAuYWctY2VsbC1sYWJlbC1jb250YWluZXIge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG59XCIiLCIvKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuXG52YXIgc3R5bGVzSW5Eb20gPSB7fTtcblxudmFyXHRtZW1vaXplID0gZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoKSB7XG5cdFx0aWYgKHR5cGVvZiBtZW1vID09PSBcInVuZGVmaW5lZFwiKSBtZW1vID0gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblx0XHRyZXR1cm4gbWVtbztcblx0fTtcbn07XG5cbnZhciBpc09sZElFID0gbWVtb2l6ZShmdW5jdGlvbiAoKSB7XG5cdC8vIFRlc3QgZm9yIElFIDw9IDkgYXMgcHJvcG9zZWQgYnkgQnJvd3NlcmhhY2tzXG5cdC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcblx0Ly8gVGVzdHMgZm9yIGV4aXN0ZW5jZSBvZiBzdGFuZGFyZCBnbG9iYWxzIGlzIHRvIGFsbG93IHN0eWxlLWxvYWRlclxuXHQvLyB0byBvcGVyYXRlIGNvcnJlY3RseSBpbnRvIG5vbi1zdGFuZGFyZCBlbnZpcm9ubWVudHNcblx0Ly8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG5cdHJldHVybiB3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYjtcbn0pO1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gKHRhcmdldCkge1xuICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpO1xufTtcblxudmFyIGdldEVsZW1lbnQgPSAoZnVuY3Rpb24gKGZuKSB7XG5cdHZhciBtZW1vID0ge307XG5cblx0cmV0dXJuIGZ1bmN0aW9uKHRhcmdldCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHBhc3NpbmcgZnVuY3Rpb24gaW4gb3B0aW9ucywgdGhlbiB1c2UgaXQgZm9yIHJlc29sdmUgXCJoZWFkXCIgZWxlbWVudC5cbiAgICAgICAgICAgICAgICAvLyBVc2VmdWwgZm9yIFNoYWRvdyBSb290IHN0eWxlIGkuZVxuICAgICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgICAvLyAgIGluc2VydEludG86IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZm9vXCIpLnNoYWRvd1Jvb3QgfVxuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuXHRcdFx0dmFyIHN0eWxlVGFyZ2V0ID0gZ2V0VGFyZ2V0LmNhbGwodGhpcywgdGFyZ2V0KTtcblx0XHRcdC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cdFx0XHRpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Ly8gVGhpcyB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhY2Nlc3MgdG8gaWZyYW1lIGlzIGJsb2NrZWRcblx0XHRcdFx0XHQvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gc3R5bGVUYXJnZXQuY29udGVudERvY3VtZW50LmhlYWQ7XG5cdFx0XHRcdH0gY2F0Y2goZSkge1xuXHRcdFx0XHRcdHN0eWxlVGFyZ2V0ID0gbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG5cdFx0fVxuXHRcdHJldHVybiBtZW1vW3RhcmdldF1cblx0fTtcbn0pKCk7XG5cbnZhciBzaW5nbGV0b24gPSBudWxsO1xudmFyXHRzaW5nbGV0b25Db3VudGVyID0gMDtcbnZhclx0c3R5bGVzSW5zZXJ0ZWRBdFRvcCA9IFtdO1xuXG52YXJcdGZpeFVybHMgPSByZXF1aXJlKFwiLi91cmxzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGxpc3QsIG9wdGlvbnMpIHtcblx0aWYgKHR5cGVvZiBERUJVRyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBERUJVRykge1xuXHRcdGlmICh0eXBlb2YgZG9jdW1lbnQgIT09IFwib2JqZWN0XCIpIHRocm93IG5ldyBFcnJvcihcIlRoZSBzdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudFwiKTtcblx0fVxuXG5cdG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG5cdG9wdGlvbnMuYXR0cnMgPSB0eXBlb2Ygb3B0aW9ucy5hdHRycyA9PT0gXCJvYmplY3RcIiA/IG9wdGlvbnMuYXR0cnMgOiB7fTtcblxuXHQvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cblx0Ly8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXHRpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gXCJib29sZWFuXCIpIG9wdGlvbnMuc2luZ2xldG9uID0gaXNPbGRJRSgpO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIDxoZWFkPiBlbGVtZW50XG4gICAgICAgIGlmICghb3B0aW9ucy5pbnNlcnRJbnRvKSBvcHRpb25zLmluc2VydEludG8gPSBcImhlYWRcIjtcblxuXHQvLyBCeSBkZWZhdWx0LCBhZGQgPHN0eWxlPiB0YWdzIHRvIHRoZSBib3R0b20gb2YgdGhlIHRhcmdldFxuXHRpZiAoIW9wdGlvbnMuaW5zZXJ0QXQpIG9wdGlvbnMuaW5zZXJ0QXQgPSBcImJvdHRvbVwiO1xuXG5cdHZhciBzdHlsZXMgPSBsaXN0VG9TdHlsZXMobGlzdCwgb3B0aW9ucyk7XG5cblx0YWRkU3R5bGVzVG9Eb20oc3R5bGVzLCBvcHRpb25zKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlIChuZXdMaXN0KSB7XG5cdFx0dmFyIG1heVJlbW92ZSA9IFtdO1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gc3R5bGVzW2ldO1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRcdGRvbVN0eWxlLnJlZnMtLTtcblx0XHRcdG1heVJlbW92ZS5wdXNoKGRvbVN0eWxlKTtcblx0XHR9XG5cblx0XHRpZihuZXdMaXN0KSB7XG5cdFx0XHR2YXIgbmV3U3R5bGVzID0gbGlzdFRvU3R5bGVzKG5ld0xpc3QsIG9wdGlvbnMpO1xuXHRcdFx0YWRkU3R5bGVzVG9Eb20obmV3U3R5bGVzLCBvcHRpb25zKTtcblx0XHR9XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG1heVJlbW92ZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGRvbVN0eWxlID0gbWF5UmVtb3ZlW2ldO1xuXG5cdFx0XHRpZihkb21TdHlsZS5yZWZzID09PSAwKSB7XG5cdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIGRvbVN0eWxlLnBhcnRzW2pdKCk7XG5cblx0XHRcdFx0ZGVsZXRlIHN0eWxlc0luRG9tW2RvbVN0eWxlLmlkXTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG59O1xuXG5mdW5jdGlvbiBhZGRTdHlsZXNUb0RvbSAoc3R5bGVzLCBvcHRpb25zKSB7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF07XG5cblx0XHRpZihkb21TdHlsZSkge1xuXHRcdFx0ZG9tU3R5bGUucmVmcysrO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHNbal0oaXRlbS5wYXJ0c1tqXSk7XG5cdFx0XHR9XG5cblx0XHRcdGZvcig7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGRvbVN0eWxlLnBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSwgb3B0aW9ucykpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR2YXIgcGFydHMgPSBbXTtcblxuXHRcdFx0Zm9yKHZhciBqID0gMDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0cGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cblx0XHRcdHN0eWxlc0luRG9tW2l0ZW0uaWRdID0ge2lkOiBpdGVtLmlkLCByZWZzOiAxLCBwYXJ0czogcGFydHN9O1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBsaXN0VG9TdHlsZXMgKGxpc3QsIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlcyA9IFtdO1xuXHR2YXIgbmV3U3R5bGVzID0ge307XG5cblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIGl0ZW0gPSBsaXN0W2ldO1xuXHRcdHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xuXHRcdHZhciBjc3MgPSBpdGVtWzFdO1xuXHRcdHZhciBtZWRpYSA9IGl0ZW1bMl07XG5cdFx0dmFyIHNvdXJjZU1hcCA9IGl0ZW1bM107XG5cdFx0dmFyIHBhcnQgPSB7Y3NzOiBjc3MsIG1lZGlhOiBtZWRpYSwgc291cmNlTWFwOiBzb3VyY2VNYXB9O1xuXG5cdFx0aWYoIW5ld1N0eWxlc1tpZF0pIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7aWQ6IGlkLCBwYXJ0czogW3BhcnRdfSk7XG5cdFx0ZWxzZSBuZXdTdHlsZXNbaWRdLnBhcnRzLnB1c2gocGFydCk7XG5cdH1cblxuXHRyZXR1cm4gc3R5bGVzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQgKG9wdGlvbnMsIHN0eWxlKSB7XG5cdHZhciB0YXJnZXQgPSBnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0SW50bylcblxuXHRpZiAoIXRhcmdldCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0SW50bycgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuXHR9XG5cblx0dmFyIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcFtzdHlsZXNJbnNlcnRlZEF0VG9wLmxlbmd0aCAtIDFdO1xuXG5cdGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcInRvcFwiKSB7XG5cdFx0aWYgKCFsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcCkge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgdGFyZ2V0LmZpcnN0Q2hpbGQpO1xuXHRcdH0gZWxzZSBpZiAobGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpIHtcblx0XHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wLm5leHRTaWJsaW5nKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0XHR9XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5wdXNoKHN0eWxlKTtcblx0fSBlbHNlIGlmIChvcHRpb25zLmluc2VydEF0ID09PSBcImJvdHRvbVwiKSB7XG5cdFx0dGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcblx0fSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJvYmplY3RcIiAmJiBvcHRpb25zLmluc2VydEF0LmJlZm9yZSkge1xuXHRcdHZhciBuZXh0U2libGluZyA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvICsgXCIgXCIgKyBvcHRpb25zLmluc2VydEF0LmJlZm9yZSk7XG5cdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbmV4dFNpYmxpbmcpO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIltTdHlsZSBMb2FkZXJdXFxuXFxuIEludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAnaW5zZXJ0QXQnICgnb3B0aW9ucy5pbnNlcnRBdCcpIGZvdW5kLlxcbiBNdXN0IGJlICd0b3AnLCAnYm90dG9tJywgb3IgT2JqZWN0LlxcbiAoaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIjaW5zZXJ0YXQpXFxuXCIpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVN0eWxlRWxlbWVudCAoc3R5bGUpIHtcblx0aWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblx0c3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG5cblx0dmFyIGlkeCA9IHN0eWxlc0luc2VydGVkQXRUb3AuaW5kZXhPZihzdHlsZSk7XG5cdGlmKGlkeCA+PSAwKSB7XG5cdFx0c3R5bGVzSW5zZXJ0ZWRBdFRvcC5zcGxpY2UoaWR4LCAxKTtcblx0fVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQgKG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblxuXHRhZGRBdHRycyhzdHlsZSwgb3B0aW9ucy5hdHRycyk7XG5cdGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zLCBzdHlsZSk7XG5cblx0cmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMaW5rRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuXG5cdG9wdGlvbnMuYXR0cnMudHlwZSA9IFwidGV4dC9jc3NcIjtcblx0b3B0aW9ucy5hdHRycy5yZWwgPSBcInN0eWxlc2hlZXRcIjtcblxuXHRhZGRBdHRycyhsaW5rLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIGxpbmspO1xuXG5cdHJldHVybiBsaW5rO1xufVxuXG5mdW5jdGlvbiBhZGRBdHRycyAoZWwsIGF0dHJzKSB7XG5cdE9iamVjdC5rZXlzKGF0dHJzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRlbC5zZXRBdHRyaWJ1dGUoa2V5LCBhdHRyc1trZXldKTtcblx0fSk7XG59XG5cbmZ1bmN0aW9uIGFkZFN0eWxlIChvYmosIG9wdGlvbnMpIHtcblx0dmFyIHN0eWxlLCB1cGRhdGUsIHJlbW92ZSwgcmVzdWx0O1xuXG5cdC8vIElmIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIHdhcyBkZWZpbmVkLCBydW4gaXQgb24gdGhlIGNzc1xuXHRpZiAob3B0aW9ucy50cmFuc2Zvcm0gJiYgb2JqLmNzcykge1xuXHQgICAgcmVzdWx0ID0gb3B0aW9ucy50cmFuc2Zvcm0ob2JqLmNzcyk7XG5cblx0ICAgIGlmIChyZXN1bHQpIHtcblx0ICAgIFx0Ly8gSWYgdHJhbnNmb3JtIHJldHVybnMgYSB2YWx1ZSwgdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBydW5uaW5nIHJ1bnRpbWUgdHJhbnNmb3JtYXRpb25zIG9uIHRoZSBjc3MuXG5cdCAgICBcdG9iai5jc3MgPSByZXN1bHQ7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgXHQvLyBJZiB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIHJldHVybnMgYSBmYWxzeSB2YWx1ZSwgZG9uJ3QgYWRkIHRoaXMgY3NzLlxuXHQgICAgXHQvLyBUaGlzIGFsbG93cyBjb25kaXRpb25hbCBsb2FkaW5nIG9mIGNzc1xuXHQgICAgXHRyZXR1cm4gZnVuY3Rpb24oKSB7XG5cdCAgICBcdFx0Ly8gbm9vcFxuXHQgICAgXHR9O1xuXHQgICAgfVxuXHR9XG5cblx0aWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG5cdFx0dmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG5cblx0XHRzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcblxuXHRcdHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgZmFsc2UpO1xuXHRcdHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgdHJ1ZSk7XG5cblx0fSBlbHNlIGlmIChcblx0XHRvYmouc291cmNlTWFwICYmXG5cdFx0dHlwZW9mIFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5jcmVhdGVPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBVUkwucmV2b2tlT2JqZWN0VVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgQmxvYiA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIGJ0b2EgPT09IFwiZnVuY3Rpb25cIlxuXHQpIHtcblx0XHRzdHlsZSA9IGNyZWF0ZUxpbmtFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IHVwZGF0ZUxpbmsuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblxuXHRcdFx0aWYoc3R5bGUuaHJlZikgVVJMLnJldm9rZU9iamVjdFVSTChzdHlsZS5ocmVmKTtcblx0XHR9O1xuXHR9IGVsc2Uge1xuXHRcdHN0eWxlID0gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuXHRcdHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSk7XG5cdFx0cmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcblx0XHR9O1xuXHR9XG5cblx0dXBkYXRlKG9iaik7XG5cblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlIChuZXdPYmopIHtcblx0XHRpZiAobmV3T2JqKSB7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG5ld09iai5jc3MgPT09IG9iai5jc3MgJiZcblx0XHRcdFx0bmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiZcblx0XHRcdFx0bmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcFxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dXBkYXRlKG9iaiA9IG5ld09iaik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbW92ZSgpO1xuXHRcdH1cblx0fTtcbn1cblxudmFyIHJlcGxhY2VUZXh0ID0gKGZ1bmN0aW9uICgpIHtcblx0dmFyIHRleHRTdG9yZSA9IFtdO1xuXG5cdHJldHVybiBmdW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG5cdFx0dGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuXG5cdFx0cmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG5cdH07XG59KSgpO1xuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnIChzdHlsZSwgaW5kZXgsIHJlbW92ZSwgb2JqKSB7XG5cdHZhciBjc3MgPSByZW1vdmUgPyBcIlwiIDogb2JqLmNzcztcblxuXHRpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpO1xuXHR9IGVsc2Uge1xuXHRcdHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKTtcblx0XHR2YXIgY2hpbGROb2RlcyA9IHN0eWxlLmNoaWxkTm9kZXM7XG5cblx0XHRpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcblxuXHRcdGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuXHRcdFx0c3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcgKHN0eWxlLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBtZWRpYSA9IG9iai5tZWRpYTtcblxuXHRpZihtZWRpYSkge1xuXHRcdHN0eWxlLnNldEF0dHJpYnV0ZShcIm1lZGlhXCIsIG1lZGlhKVxuXHR9XG5cblx0aWYoc3R5bGUuc3R5bGVTaGVldCkge1xuXHRcdHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcblx0fSBlbHNlIHtcblx0XHR3aGlsZShzdHlsZS5maXJzdENoaWxkKSB7XG5cdFx0XHRzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcblx0XHR9XG5cblx0XHRzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcblx0fVxufVxuXG5mdW5jdGlvbiB1cGRhdGVMaW5rIChsaW5rLCBvcHRpb25zLCBvYmopIHtcblx0dmFyIGNzcyA9IG9iai5jc3M7XG5cdHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG5cdC8qXG5cdFx0SWYgY29udmVydFRvQWJzb2x1dGVVcmxzIGlzbid0IGRlZmluZWQsIGJ1dCBzb3VyY2VtYXBzIGFyZSBlbmFibGVkXG5cdFx0YW5kIHRoZXJlIGlzIG5vIHB1YmxpY1BhdGggZGVmaW5lZCB0aGVuIGxldHMgdHVybiBjb252ZXJ0VG9BYnNvbHV0ZVVybHNcblx0XHRvbiBieSBkZWZhdWx0LiAgT3RoZXJ3aXNlIGRlZmF1bHQgdG8gdGhlIGNvbnZlcnRUb0Fic29sdXRlVXJscyBvcHRpb25cblx0XHRkaXJlY3RseVxuXHQqL1xuXHR2YXIgYXV0b0ZpeFVybHMgPSBvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyA9PT0gdW5kZWZpbmVkICYmIHNvdXJjZU1hcDtcblxuXHRpZiAob3B0aW9ucy5jb252ZXJ0VG9BYnNvbHV0ZVVybHMgfHwgYXV0b0ZpeFVybHMpIHtcblx0XHRjc3MgPSBmaXhVcmxzKGNzcyk7XG5cdH1cblxuXHRpZiAoc291cmNlTWFwKSB7XG5cdFx0Ly8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY2MDM4NzVcblx0XHRjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiICsgYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSArIFwiICovXCI7XG5cdH1cblxuXHR2YXIgYmxvYiA9IG5ldyBCbG9iKFtjc3NdLCB7IHR5cGU6IFwidGV4dC9jc3NcIiB9KTtcblxuXHR2YXIgb2xkU3JjID0gbGluay5ocmVmO1xuXG5cdGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cblx0aWYob2xkU3JjKSBVUkwucmV2b2tlT2JqZWN0VVJMKG9sZFNyYyk7XG59XG4iLCJcbi8qKlxuICogV2hlbiBzb3VyY2UgbWFwcyBhcmUgZW5hYmxlZCwgYHN0eWxlLWxvYWRlcmAgdXNlcyBhIGxpbmsgZWxlbWVudCB3aXRoIGEgZGF0YS11cmkgdG9cbiAqIGVtYmVkIHRoZSBjc3Mgb24gdGhlIHBhZ2UuIFRoaXMgYnJlYWtzIGFsbCByZWxhdGl2ZSB1cmxzIGJlY2F1c2Ugbm93IHRoZXkgYXJlIHJlbGF0aXZlIHRvIGFcbiAqIGJ1bmRsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IHBhZ2UuXG4gKlxuICogT25lIHNvbHV0aW9uIGlzIHRvIG9ubHkgdXNlIGZ1bGwgdXJscywgYnV0IHRoYXQgbWF5IGJlIGltcG9zc2libGUuXG4gKlxuICogSW5zdGVhZCwgdGhpcyBmdW5jdGlvbiBcImZpeGVzXCIgdGhlIHJlbGF0aXZlIHVybHMgdG8gYmUgYWJzb2x1dGUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHBhZ2UgbG9jYXRpb24uXG4gKlxuICogQSBydWRpbWVudGFyeSB0ZXN0IHN1aXRlIGlzIGxvY2F0ZWQgYXQgYHRlc3QvZml4VXJscy5qc2AgYW5kIGNhbiBiZSBydW4gdmlhIHRoZSBgbnBtIHRlc3RgIGNvbW1hbmQuXG4gKlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNzcykge1xuICAvLyBnZXQgY3VycmVudCBsb2NhdGlvblxuICB2YXIgbG9jYXRpb24gPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5sb2NhdGlvbjtcblxuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZml4VXJscyByZXF1aXJlcyB3aW5kb3cubG9jYXRpb25cIik7XG4gIH1cblxuXHQvLyBibGFuayBvciBudWxsP1xuXHRpZiAoIWNzcyB8fCB0eXBlb2YgY3NzICE9PSBcInN0cmluZ1wiKSB7XG5cdCAgcmV0dXJuIGNzcztcbiAgfVxuXG4gIHZhciBiYXNlVXJsID0gbG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyBsb2NhdGlvbi5ob3N0O1xuICB2YXIgY3VycmVudERpciA9IGJhc2VVcmwgKyBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC9bXlxcL10qJC8sIFwiL1wiKTtcblxuXHQvLyBjb252ZXJ0IGVhY2ggdXJsKC4uLilcblx0Lypcblx0VGhpcyByZWd1bGFyIGV4cHJlc3Npb24gaXMganVzdCBhIHdheSB0byByZWN1cnNpdmVseSBtYXRjaCBicmFja2V0cyB3aXRoaW5cblx0YSBzdHJpbmcuXG5cblx0IC91cmxcXHMqXFwoICA9IE1hdGNoIG9uIHRoZSB3b3JkIFwidXJsXCIgd2l0aCBhbnkgd2hpdGVzcGFjZSBhZnRlciBpdCBhbmQgdGhlbiBhIHBhcmVuc1xuXHQgICAoICA9IFN0YXJ0IGEgY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgKD86ICA9IFN0YXJ0IGEgbm9uLWNhcHR1cmluZyBncm91cFxuXHQgICAgICAgICBbXikoXSAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICBcXCggID0gTWF0Y2ggYSBzdGFydCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKD86ICA9IFN0YXJ0IGFub3RoZXIgbm9uLWNhcHR1cmluZyBncm91cHNcblx0ICAgICAgICAgICAgICAgICBbXikoXSsgID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgfCAgPSBPUlxuXHQgICAgICAgICAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgICAgIFteKShdKiAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICBcXCkgID0gTWF0Y2ggYSBlbmQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICkgID0gRW5kIEdyb3VwXG4gICAgICAgICAgICAgICpcXCkgPSBNYXRjaCBhbnl0aGluZyBhbmQgdGhlbiBhIGNsb3NlIHBhcmVuc1xuICAgICAgICAgICkgID0gQ2xvc2Ugbm9uLWNhcHR1cmluZyBncm91cFxuICAgICAgICAgICogID0gTWF0Y2ggYW55dGhpbmdcbiAgICAgICApICA9IENsb3NlIGNhcHR1cmluZyBncm91cFxuXHQgXFwpICA9IE1hdGNoIGEgY2xvc2UgcGFyZW5zXG5cblx0IC9naSAgPSBHZXQgYWxsIG1hdGNoZXMsIG5vdCB0aGUgZmlyc3QuICBCZSBjYXNlIGluc2Vuc2l0aXZlLlxuXHQgKi9cblx0dmFyIGZpeGVkQ3NzID0gY3NzLnJlcGxhY2UoL3VybFxccypcXCgoKD86W14pKF18XFwoKD86W14pKF0rfFxcKFteKShdKlxcKSkqXFwpKSopXFwpL2dpLCBmdW5jdGlvbihmdWxsTWF0Y2gsIG9yaWdVcmwpIHtcblx0XHQvLyBzdHJpcCBxdW90ZXMgKGlmIHRoZXkgZXhpc3QpXG5cdFx0dmFyIHVucXVvdGVkT3JpZ1VybCA9IG9yaWdVcmxcblx0XHRcdC50cmltKClcblx0XHRcdC5yZXBsYWNlKC9eXCIoLiopXCIkLywgZnVuY3Rpb24obywgJDEpeyByZXR1cm4gJDE7IH0pXG5cdFx0XHQucmVwbGFjZSgvXicoLiopJyQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSk7XG5cblx0XHQvLyBhbHJlYWR5IGEgZnVsbCB1cmw/IG5vIGNoYW5nZVxuXHRcdGlmICgvXigjfGRhdGE6fGh0dHA6XFwvXFwvfGh0dHBzOlxcL1xcL3xmaWxlOlxcL1xcL1xcL3xcXHMqJCkvaS50ZXN0KHVucXVvdGVkT3JpZ1VybCkpIHtcblx0XHQgIHJldHVybiBmdWxsTWF0Y2g7XG5cdFx0fVxuXG5cdFx0Ly8gY29udmVydCB0aGUgdXJsIHRvIGEgZnVsbCB1cmxcblx0XHR2YXIgbmV3VXJsO1xuXG5cdFx0aWYgKHVucXVvdGVkT3JpZ1VybC5pbmRleE9mKFwiLy9cIikgPT09IDApIHtcblx0XHQgIFx0Ly9UT0RPOiBzaG91bGQgd2UgYWRkIHByb3RvY29sP1xuXHRcdFx0bmV3VXJsID0gdW5xdW90ZWRPcmlnVXJsO1xuXHRcdH0gZWxzZSBpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvXCIpID09PSAwKSB7XG5cdFx0XHQvLyBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgYmFzZSB1cmxcblx0XHRcdG5ld1VybCA9IGJhc2VVcmwgKyB1bnF1b3RlZE9yaWdVcmw7IC8vIGFscmVhZHkgc3RhcnRzIHdpdGggJy8nXG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIGN1cnJlbnQgZGlyZWN0b3J5XG5cdFx0XHRuZXdVcmwgPSBjdXJyZW50RGlyICsgdW5xdW90ZWRPcmlnVXJsLnJlcGxhY2UoL15cXC5cXC8vLCBcIlwiKTsgLy8gU3RyaXAgbGVhZGluZyAnLi8nXG5cdFx0fVxuXG5cdFx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCB1cmwoLi4uKVxuXHRcdHJldHVybiBcInVybChcIiArIEpTT04uc3RyaW5naWZ5KG5ld1VybCkgKyBcIilcIjtcblx0fSk7XG5cblx0Ly8gc2VuZCBiYWNrIHRoZSBmaXhlZCBjc3Ncblx0cmV0dXJuIGZpeGVkQ3NzO1xufTtcbiIsInZhciBnO1xuXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxuZyA9IChmdW5jdGlvbigpIHtcblx0cmV0dXJuIHRoaXM7XG59KSgpO1xuXG50cnkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIGV2YWwgaXMgYWxsb3dlZCAoc2VlIENTUClcblx0ZyA9IGcgfHwgbmV3IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKTtcbn0gY2F0Y2ggKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpIGcgPSB3aW5kb3c7XG59XG5cbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90aGluZyBoZXJlLCBzbyBpdCdzXG4vLyBlYXNpZXIgdG8gaGFuZGxlIHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XG5cbm1vZHVsZS5leHBvcnRzID0gZztcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obW9kdWxlKSB7XG5cdGlmICghbW9kdWxlLndlYnBhY2tQb2x5ZmlsbCkge1xuXHRcdG1vZHVsZS5kZXByZWNhdGUgPSBmdW5jdGlvbigpIHt9O1xuXHRcdG1vZHVsZS5wYXRocyA9IFtdO1xuXHRcdC8vIG1vZHVsZS5wYXJlbnQgPSB1bmRlZmluZWQgYnkgZGVmYXVsdFxuXHRcdGlmICghbW9kdWxlLmNoaWxkcmVuKSBtb2R1bGUuY2hpbGRyZW4gPSBbXTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImxvYWRlZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5sO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwiaWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUuaTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRtb2R1bGUud2VicGFja1BvbHlmaWxsID0gMTtcblx0fVxuXHRyZXR1cm4gbW9kdWxlO1xufTtcbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfcGFyc2VOb2RlIH0gZnJvbSBcImV2ZW50cy91dGlsaXRpZXNcIjtcblxuY29uc3QgeyBkZWVwUGFyc2VKc29uIH0gPSByZXF1aXJlKFwiZGVlcC1wYXJzZS1qc29uXCIpO1xuXG4vKipcbiAqIFN0YXJ0IGNlbGwgZWRpdGluZ1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfG51bWJlcn0gcm93IFRoZSByb3cgaW5kZXhcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2xLZXkgVGhlIGNvbHVtbidzIGtleVxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSBrZXkgIEtleSBwcmVzc1xuICogQHBhcmFtIHtTdHJpbmd9IGNoYXIgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zdGFydEVkaXRpbmdDZWxsKGlkLCByb3csIGNvbEtleSwga2V5LCBjaGFyKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnNldEZvY3VzZWRDZWxsKE51bWJlcihyb3cpLCBjb2xLZXkpO1xuICBvcHRpb25zLmFwaS5zdGFydEVkaXRpbmdDZWxsKHtcbiAgICByb3dJbmRleDogTnVtYmVyKHJvdyksXG4gICAgY29sS2V5OiBjb2xLZXksXG4gICAga2V5UHJlc3M6IE51bWJlcihrZXkpLFxuICAgIGNoYXJQcmVzczogY2hhclxuICB9KTtcbn1cblxuLyoqXG4gKiBTdG9wIGNlbGwgZWRpdGluZyBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGNhbmNlbCB3aGVuIHRydWUgY2FuY2VsIGVkaXRzICwgc2F2ZSBlZGl0cyBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3N0b3BFZGl0aW5nKGlkLCBjYW5jZWwpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc3RvcEVkaXRpbmcoY2FuY2VsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2VkaXROZXh0Q2VsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC50YWJUb05leHRDZWxsKCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZWRpdFByZXZpb3VzQ2VsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC50YWJUb1ByZXZpb3VzQ2VsbCgpO1xufVxuXG4vKipcbiAqIFNldCBGb2N1cyBvbiB0aGUgZ2l2ZW4gcm93IGFuZCBjb2x1bW5cbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IHJvdyBUaGUgcm93J3MgaW5kZXgvaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW4gVGhlIGNvbHVtbiBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Rm9jdXNlZENlbGwoaWQsIHJvdywgY29sdW1uKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCByID0gIXJvdyA/IDAgOiAoTnVtYmVyLmlzSW50ZWdlcigrcm93KSA/ICtyb3cgOiBvcHRpb25zLmFwaS5nZXRSb3dOb2RlKHJvdykucm93SW5kZXgpO1xuICBjb25zdCBjID0gY29sdW1uID8gY29sdW1uIDogb3B0aW9ucy5jb2x1bW5BcGkuZ2V0QWxsR3JpZENvbHVtbnMoKVswXS5jb2xJZDtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0Rm9jdXNlZENlbGwociwgYyk7XG59XG5cbi8qKlxuICogR2V0IFJhbmdlIFNlbGVjdGlvbnNcbiAqIFxuICogVGhlIG1ldGhvZCB3aWxsIGNyZWF0ZSBhIHJhbmdlIGpzb24gbW9kZWwgZm9yIGVhY2ggcmFuZ2Ugd2hpY2ggY2FuIGJlIHBhcnNlZCBpbiBCQmogc2lkZS5cbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBzZWxlY3RlZCByYW5nZXMgYXMgSlNPTlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0UmFuZ2VTZWxlY3Rpb25zKGlkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBjb250ZXh0ID0gb3B0aW9ucy5jb250ZXh0O1xuICBjb25zdCBhcGkgPSBvcHRpb25zLmFwaTtcbiAgY29uc3QgcmFuZ2VzID0gYXBpLmdldENlbGxSYW5nZXMoKTtcbiAgY29uc3QgbW9kZWwgPSBhcGkuZ2V0TW9kZWwoKTtcbiAgbGV0IHJlc3VsdCA9IFtdO1xuXG4gIHJhbmdlcy5mb3JFYWNoKHJhbmdlID0+IHtcblxuICAgIC8vIGNvbnN0IHN0YXJ0ID0gZ3dfcGFyc2VOb2RlKG1vZGVsLmdldFJvdyhyYW5nZS5zdGFydFJvdy5yb3dJbmRleCksIG9wdGlvbnMuY29udGV4dCk7XG4gICAgLy8gY29uc3QgZW5kID0gZ3dfcGFyc2VOb2RlKG1vZGVsLmdldFJvdyhyYW5nZS5lbmRSb3cucm93SW5kZXgpLCBvcHRpb25zLmNvbnRleHQpO1xuXG4gICAgLy9pZiAoc3RhcnQgIT09IGZhbHNlICYmIGVuZCAhPT0gZmFsc2UpIHtcbiAgICBjb25zdCBjb2x1bW5zID0gcmFuZ2UuY29sdW1ucy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50KSA9PiB7XG5cbiAgICAgIGlmIChcImFnLUdyaWQtQXV0b0NvbHVtblwiICE9PSBjdXJyZW50LmNvbElkKSB7XG4gICAgICAgIGFjY3VtdWxhdG9yLnB1c2goY3VycmVudC5jb2xJZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICB9LCBbXSkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgY29uc3Qgc3RhckluZGV4ID0gTWF0aC5taW4ocmFuZ2Uuc3RhcnRSb3cucm93SW5kZXgsIHJhbmdlLmVuZFJvdy5yb3dJbmRleCk7XG4gICAgY29uc3QgZW5kSW5kZXggPSBNYXRoLm1heChyYW5nZS5zdGFydFJvdy5yb3dJbmRleCwgcmFuZ2UuZW5kUm93LnJvd0luZGV4KTtcbiAgICBjb25zdCByb3dzID0gW107XG5cbiAgICBmb3IgKGxldCByb3dJbmRleCA9IHN0YXJJbmRleDsgcm93SW5kZXggPD0gZW5kSW5kZXg7IHJvd0luZGV4KyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBtb2RlbC5nZXRSb3cocm93SW5kZXgpO1xuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkTm9kZSA9IGd3X3BhcnNlTm9kZShub2RlLCBjb250ZXh0KTtcbiAgICAgICAgaWYgKHBhcnNlZE5vZGUpIHJvd3MucHVzaChwYXJzZWROb2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocm93cy5sZW5ndGggJiYgY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgcjogcm93cywgYzogY29sdW1ucyB9KTtcbiAgICB9XG4gICAgLy99XG4gIH0pO1xuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShyZXN1bHQpO1xufVxuXG4vKipcbiAqIFBhcnNlIHRoZSBjZWxscyByYW5nZSBpbiBhIGZvcm1hdCB0aGUgZ3JpZCBjYW4gdW5kZXJzdGFuZCB3aGVuIGl0IGlzIHBhc3NlZCBcbiAqIHRvIGBhcGkuYWRkQ2VsbFJhbmdlYFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBUaGUgZ3JpZCdzIG9wdGlvbnNcbiAqIEBwYXJhbSB7T2JqZWN0fSByYW5nZSAgYm91bmRlZCBvciB1bmJvdW5kZWQgcmFuZ2UgbW9kZWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlQWRkQ2VsbFJhbmdlKG9wdGlvbnMgLCByYW5nZSkge1xuICBjb25zdCBwciA9IGRlZXBQYXJzZUpzb24oSlNPTi5zdHJpbmdpZnkocmFuZ2UpKTtcbiAgY29uc3Qgc3RhcnQgPSAhKHByLnN0YXJ0IHx8IG51bGwpID9cbiAgICAwIDogKE51bWJlci5pc0ludGVnZXIoK3ByLnN0YXJ0KSA/ICtwci5zdGFydCA6IG9wdGlvbnMuYXBpLmdldFJvd05vZGUocHIuc3RhcnQpLnJvd0luZGV4KTtcbiAgY29uc3QgZW5kID0gIShwci5lbmQgfHwgbnVsbCkgP1xuICAgIChvcHRpb25zLnJvd0RhdGEubGVuZ3RoIC0gMSkgOiAoTnVtYmVyLmlzSW50ZWdlcigrcHIuZW5kKSA/ICtwci5lbmQgOiBvcHRpb25zLmFwaS5nZXRSb3dOb2RlKHByLmVuZCkucm93SW5kZXgpO1xuXG4gIHJldHVybiB7XG4gICAgcm93U3RhcnRJbmRleDogTWF0aC5hYnMoc3RhcnQpLFxuICAgIHJvd0VuZEluZGV4OiBNYXRoLmFicyhlbmQpLFxuICAgIGNvbHVtbnM6IHByLmNvbHVtbnNcbiAgfTtcbn1cbi8qKlxuICogQWRkIG5ldyBjZWxsIHJhbmdlXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSByYW5nZSAgYm91bmRlZCBvciB1bmJvdW5kZWQgcmFuZ2UgbW9kZWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZENlbGxSYW5nZShpZCwgcmFuZ2UpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIG9wdGlvbnMuYXBpLmFkZENlbGxSYW5nZShnd19wYXJzZUFkZENlbGxSYW5nZShvcHRpb25zLCByYW5nZSkpO1xufVxuXG4vKipcbiAqIENsZWFycyB0aGUgc2VsZWN0ZWQgcmFuZ2UuXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2NsZWFyUmFuZ2VTZWxlY3Rpb24oaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuY2xlYXJSYW5nZVNlbGVjdGlvbigpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGNoYXJ0IHRvb2xiYXIgaXRlbXMgZGVmaW5lZCBpbiB0aGUgZ3JpZCdzIGNvbnRleHQgXG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgXG4gKiBAcmV0dXJucyB7QXJyYXl9IGFycmF5IG9mIHN1cHBvcnRlZCBjaGFydCBpdGVtc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Q2hhcnRUb29sYmFySXRlbXMocGFyYW1zKSB7XG4gIHJldHVybiBwYXJhbXNcbiAgICAuYXBpXG4gICAgLmdyaWRPcHRpb25zV3JhcHBlclxuICAgIC5ncmlkT3B0aW9uc1xuICAgIC5jb250ZXh0XG4gICAgLmNoYXJ0VG9vbGJhckl0ZW1zIHx8IFtdO1xufSIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5cbi8qKlxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAqIFxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnMgd2l0aCBvcHRpb25zIHdoaWNoIGNhbiBub3QgYmUgaGFuZGxlZCBpbiBCQmpcbiAqIChleDogYXR0YWNoaW5nIGNhbGxiYWNrcylcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gZGVmaW5pdGlvbnMgYXJyYXkgb2YgY29sdW1uIGRlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyhkZWZpbml0aW9ucykge1xuXG4gIGZvciAobGV0IGkgaW4gZGVmaW5pdGlvbnMpIHtcbiAgICBjb25zdCBkZWYgPSBkZWZpbml0aW9uc1tpXTtcblxuICAgIGRlZi5jaGVja2JveFNlbGVjdGlvbiA9IGRlZi5jaGVja2JveFNlbGVjdGlvbiB8fCBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveDtcbiAgICBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gfHwgZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZSB0aGUgY29sdW1uIGRlZmluaXRpb25zIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7QXJyYXl9IGRlZmluaXRpb25zIGFycmF5IG9mIGNvbHVtbiBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uRGVmaW5pdGlvbnMoaWQsIGRlZmluaXRpb25zKSB7XG4gIGNvbnN0IGdyaWQgPSBnd19nZXRHcmlkKGlkKTtcbiAgY29uc3QgZGVlcFBhcnNlZERlZmluaXRpb25zID0gZGVlcFBhcnNlSnNvbihKU09OLnN0cmluZ2lmeShkZWZpbml0aW9ucykpO1xuXG4gIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG5cbiAgZ3JpZC5vcHRpb25zLmFwaS5zZXRDb2x1bW5EZWZzKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG4gIGdyaWQub3B0aW9ucy5jb2x1bW5EZWZzID0gZGVlcFBhcnNlZERlZmluaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2l6ZUNvbHVtbnNUb0ZpdChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaXplQ29sdW1uc1RvRml0KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRWaXNpYmxlQ29sdW1uKGlkLCBjb2x1bW5JZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5lbnN1cmVDb2x1bW5WaXNpYmxlKGNvbHVtbklkKTtcbn1cblxuLyoqXG4gKiBTZXQgQ29sdW1uIFdpZHRoXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB3aWR0aCBUaGUgbmV3IGNvbHVtbiB3aWR0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uV2lkdGgoaWQsIGNvbHVtbklkLCB3aWR0aCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5XaWR0aChjb2x1bW5JZCwgTnVtYmVyKHdpZHRoKSk7XG59XG5cbi8qKlxuICogUGluIENvbHVtblxuICpcbiAqIFBpbiBhIGNvbHVtbiB0byBhIHNwZWNpZmljIGRpcmVjdGlvblxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBwaW4gVGhlIHBpbiBkaXJlY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BpbkNvbHVtbihpZCwgY29sdW1uSWQsIHBpbikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5QaW5uZWQoY29sdW1uSWQsIHBpbik7XG59XG5cbi8qKlxuICogTW92ZSBDb2x1bW5cbiAqXG4gKiBNb3ZlIGNvbHVtbiB0byBhIHNwZWNpZmljIGluZGV4XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB0b0luZGV4IFRoZSBuZXcgY29sdW1uIGluZGV4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19tb3ZlQ29sdW1uKGlkLCBjb2x1bW5JZCwgdG9JbmRleCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5tb3ZlQ29sdW1uKGNvbHVtbklkLCB0b0luZGV4KTtcbn1cblxuLyoqXG4gKiBTaG93IC8gSGlkZSBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgc2VsZWN0aW9uIGNoZWNrYm94IGlzIGFsd2F5cyBzaG93biBvbiB0aGVcbiAqIGZpcnN0IGNvbHVtblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbVxuICpcbiAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBmaXJzdCBjb2x1bW4gLCBmYWxzZSBpZiBub3QgdGhlIGZpcnN0IGNvbHVtbiBvciBpZiB0aGVcbiAqICAgICAgICAgICAgICAgICAgIGdyaWQncyBgQ29udGV4dC5zaG93U2VsZWN0aW9uQ2hlY2tib3hgIGlzIGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveChwYXJhbSkge1xuICBpZiAoIXBhcmFtLmNvbnRleHQuc2hvd1NlbGVjdGlvbkNoZWNrYm94KSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgY29sdW1ucyA9IHBhcmFtLmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRWaXJ0dWFsQ29sdW1ucygpO1xuXG4gIHJldHVybiBjb2x1bW5zWzBdLmNvbERlZi5maWVsZCA9PT0gcGFyYW0uY29sRGVmLmZpZWxkO1xufVxuXG4vKipcbiAqIFNob3cgLyBIaWRlIGhlYWRlciBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgaGVhZGVyIHNlbGVjdGlvbiBjaGVja2JveCBpcyBhbHdheXMgc2hvd24gb24gdGhlXG4gKiBmaXJzdCBjb2x1bW5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1cbiAqXG4gKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIHdoZW4gZmlyc3QgY29sdW1uICwgZmFsc2UgaWYgbm90IHRoZSBmaXJzdCBjb2x1bW4gb3IgaWYgdGhlXG4gKiAgICAgICAgICAgICAgICAgICBncmlkJ3MgYENvbnRleHQuc2hvd0hlYWRlclNlbGVjdGlvbkNoZWNrYm94YCBpcyBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbihwYXJhbSkge1xuICBjb25zdCBjb250ZXh0ID0gcGFyYW0uYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuXG4gIGlmICghY29udGV4dC5zaG93SGVhZGVyU2VsZWN0aW9uQ2hlY2tib3gpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBjb2x1bW5zID0gcGFyYW0uY29sdW1uQXBpLmdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zKCk7XG5cbiAgcmV0dXJuIGNvbHVtbnNbMF0uY29sRGVmLmZpZWxkID09PSBwYXJhbS5jb2xEZWYuZmllbGQ7XG59XG5cbi8qKlxuICogRW5hYmxlIHJvdyBncm91cGluZyBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICogQHBhcmFtIHtCb29sZWFufSBzZXQgIFdoZW4gdHJ1ZSAsIGBzZXRSb3dHcm91cENvbHVtbnNgIHdpbGwgYmUgdXNlZCAsIGBhZGRSb3dHcm91cENvbHVtbnNgIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUm93R3JvdXBDb2x1bW4oaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFJvd0dyb3VwQ29sdW1uc1wiIDogXCJhZGRSb3dHcm91cENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcm93IGdyb3VwaW5nIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVSb3dHcm91cENvbHVtbihpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVSb3dHcm91cENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0UGl2b3RNb2RlKGlkKSB7XG4gIHJldHVybiBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5pc1Bpdm90TW9kZSgpO1xufVxuXG4vKipcbiAqIEVuYWJsZSAvIGRpc2JhbGUgcGl2b3QgbW9kZSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge0Jvb2xlYW59IG1vZGUgd2hlbiB0cnVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0UGl2b3RNb2RlKGlkLCBtb2RlKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnNldFBpdm90TW9kZSghIU51bWJlcihtb2RlKSk7XG59XG5cbi8qKlxuICogRW5hYmxlIHBpdm90IGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHNldCAgV2hlbiB0cnVlICwgYGFkZFBpdm90Q29sdW1uc2Agd2lsbCBiZSB1c2VkICwgYHNldFBpdm90Q29sdW1uc2Agb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRQaXZvdENvbHVtbnMoaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFBpdm90Q29sdW1uc1wiIDogXCJhZGRQaXZvdENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcGl2b3QgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVBpdm90Q29sdW1ucyhpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVQaXZvdENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIEVuYWJsZSB2YWx1ZSBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkVmFsdWVDb2x1bW5zKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuYWRkVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHZhbHVlIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVWYWx1ZUNvbHVtbnMoaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIFVwZGF0ZSBjb250ZXh0IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfSBrZXkgVGhlIGNvbnRleHQncyBrZXkgdG8gdXBkYXRlXG4gKiBAcGFyYW0ge1N0cmluZ30gdmFsdWUgIFRoZSBuZXcgY29udGV4dCdzIHZhbHVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfdXBkYXRlQ29udGV4dChpZCwga2V5LCB2YWx1ZSkge1xuXHRnd19nZXRHcmlkKGlkKVxuXHRcdC5vcHRpb25zXG5cdFx0LmNvbnRleHRba2V5XSA9IEpTT04ucGFyc2UodmFsdWUpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5leHBvcnQgKiBmcm9tICcuL2luaXQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW5zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcm93cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29scGFuZWwuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXNiYXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9qc3MuanMnOyIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyB9IGZyb20gXCIuL2NvbHVtbnNcIjtcbmltcG9ydCB7IGd3X25hdmlnYXRlVG9OZXh0Um93IH0gICAgICAgZnJvbSBcIi4vcm93c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0Q29udGV4dE1lbnUgfSAgICAgICAgICBmcm9tIFwiLi9tZW51c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0Q2hhcnRUb29sYmFySXRlbXMgfSAgICBmcm9tIFwiLi9jaGFydHNcIjtcbmltcG9ydCB7IGd3X2dldERvY3VtZW50LCBnd19hZGRHcmlkfSAgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBnd19vblJvd0RvdWJsZUNsaWNrZWQsXG4gIGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcbiAgZ3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWQsXG4gIGd3X29uQ2VsbENsaWNrRXZlbnQsXG4gIGd3X29uQ2VsbEVkaXRpbmdFdmVudCxcbiAgZ3dfb25Sb3dFZGl0aW5nRXZlbnQsXG4gIGd3X29uUmVhZHlFdmVudCxcbiAgZ3dfZGVib3VuY2Vcbn0gZnJvbSBcImV2ZW50c1wiO1xuXG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5jb25zdCB0ZW1wbGF0ZSAgICAgICAgICA9IHJlcXVpcmUoJ2xvZGFzaC90ZW1wbGF0ZScpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfaW5pdChvcHRpb25zLCBsaWNlbnNlICwgZGF0YSkge1xuICBcbiAgLy8gc2V0IHRoZSBsaWNlbnNlIGtleSBmb3IgZW50ZXJwcmlzZSB2ZXJzaW9uXG4gIGlmIChhZ0dyaWQuTGljZW5zZU1hbmFnZXIgJiYgbGljZW5zZSlcbiAgICBhZ0dyaWQuTGljZW5zZU1hbmFnZXIuc2V0TGljZW5zZUtleShsaWNlbnNlKTtcblxuICBjb25zdCBpZCAgICAgICAgICAgICAgPSBvcHRpb25zLmNvbnRleHQuaWQ7XG4gIGNvbnN0IGNvbnRhaW5lciAgICAgICA9IGd3X2dldERvY3VtZW50KCkuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICAvLyB3ZSBtYWtlIHRoZSBncmlkIG9wdGlvbnMgYXZhaWxhYmxlIGFzIHNvb24gYXMgcG9zc2libGUgXG4gIGNvbnN0IGdyaWQgICAgICAgICAgICA9IGd3X2FkZEdyaWQoaWQsIHtcbiAgICBjb250YWluZXIsXG4gICAgb3B0aW9uc1xuICB9KTtcblxuICAvLyBUT0RPOiB1c2UgYWcgZ3JpZCBkZXN0cm95XG4gIGNvbnRhaW5lci5pbm5lckhUTUwgICA9ICcnO1xuXG4gIGNvbnN0IHBhcnNlZE9wdGlvbnMgICA9IGd3X3BhcnNlT3B0aW9ucyhvcHRpb25zKTtcbiAgcGFyc2VkT3B0aW9ucy5yb3dEYXRhID0gZGF0YTtcblxuICBjb25zdCBpbnN0YW5jZSAgICAgICAgPSBuZXcgYWdHcmlkLkdyaWQoY29udGFpbmVyLCBwYXJzZWRPcHRpb25zKTtcbiAgZ3JpZC5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICBncmlkLm9wdGlvbnMgID0gcGFyc2VkT3B0aW9ucztcblxuICBjb25zb2xlLmxvZyhcbiAgICBgJWMgR3JpZCBbJHtpZH1dIHNldHRpbmdzIDogYFxuICAgICwgJ2JhY2tncm91bmQ6ICMyMjI7IGNvbG9yOiAjYmFkYTU1J1xuICAgICwgcGFyc2VkT3B0aW9uc1xuICApO1xufVxuXG4vKipcbiAqIFBhcnNlIE9wdGlvbnNcbiAqIFxuICogUGFyc2UgdGhlIGdyaWQgb3B0aW9ucyBhbmQgcmV0dXJuIFxuICogYW4gb2JqZWN0IHdoaWNoIGNhbiBiZSBwYXNzZWQgdG8gdGhlIGdyaWRcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgR3JpZCBvcHRpb25zIGFzIEpzb24gT2JqZWN0XG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gb3B0aW9ucyBvYmplY3RcbiAqL1xuZnVuY3Rpb24gZ3dfcGFyc2VPcHRpb25zKG9wdGlvbnMpIHtcbiAgY29uc3QgZGVlcFBhcnNlZE9wdGlvbnMgICAgID0gZGVlcFBhcnNlSnNvbihKU09OLnN0cmluZ2lmeShvcHRpb25zKSk7XG4gIGNvbnN0IGlkICAgICAgICAgICAgICAgICAgICA9IGRlZXBQYXJzZWRPcHRpb25zLmNvbnRleHQuaWQ7XG4gIGNvbnN0IGdldERhdGFQYXRoVGVtcGxhdGUgICA9IGRlZXBQYXJzZWRPcHRpb25zLmNvbnRleHQuZ2V0RGF0YVBhdGggfHwgXCJcIjtcbiAgLy8gVE9ETzogZG8gd2UgbmVlZCB0byBjb250cm9sIHRoaXMgc2V0dGluZyBmcm9tIEJCaiA/XG4gIGNvbnN0IGRlYm91bmNlRHVyYXRpb24gICAgICA9IDI1MDtcbiAgY29uc3QgZmluYWxPcHRpb25zID0ge1xuICAgIC4uLmRlZXBQYXJzZWRPcHRpb25zICxcbiAgICAuLi57XG4gICAgICBnZXREb2N1bWVudDogICAgICAgICAgICAoKSAgICAgPT4gICBnd19nZXREb2N1bWVudCgpLFxuICAgICAgb25DZWxsRWRpdGluZ1N0YXJ0ZWQ6ICAgZSAgICAgID0+IHsgZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbEVkaXRpbmdTdG9wcGVkOiAgIGUgICAgICA9PiB7IGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkNlbGxWYWx1ZUNoYW5nZWQ6ICAgICBlICAgICAgPT4geyBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25Sb3dFZGl0aW5nU3RhcnRlZDogICAgZSAgICAgID0+IHsgZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uUm93RWRpdGluZ1N0b3BwZWQ6ICAgIGUgICAgICA9PiB7IGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvblJvd1ZhbHVlQ2hhbmdlZDogICAgICBlICAgICAgPT4geyBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsQ2xpY2tlZDogICAgICAgICAgZSAgICAgID0+IHsgZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkgICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbERvdWJsZUNsaWNrZWQ6ICAgIGUgICAgICA9PiB7IGd3X29uQ2VsbENsaWNrRXZlbnQoaWQsIGUpICAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkdyaWRSZWFkeTogICAgICAgICAgICBlICAgICAgPT4geyBnd19vblJlYWR5RXZlbnQoaWQsIGUpICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgZ2V0Um93Tm9kZUlkOiAgICAgICAgICAgZGF0YSAgID0+ICAgZ3dfZ2V0Um93Tm9kZUlkKGlkLCBkYXRhKSAgICAgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIGdldENvbnRleHRNZW51SXRlbXM6ICAgIHBhcmFtcyA9PiAgIGd3X2dldENvbnRleHRNZW51KGlkLCBwYXJhbXMpICAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBcImdldENoYXJ0VG9vbGJhckl0ZW1zXCI6ICAgICAgICAgICAgIGd3X2dldENoYXJ0VG9vbGJhckl0ZW1zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBcInBvcHVwUGFyZW50XCI6ICAgICAgICAgICAgICAgICAgICAgIGd3X2dldERvY3VtZW50KCkuYm9keSxcbiAgICAgIFwib25Sb3dEb3VibGVDbGlja2VkXCI6ICAgICAgICAgICAgICAgZ3dfZGVib3VuY2UoZ3dfb25Sb3dEb3VibGVDbGlja2VkLCBkZWJvdW5jZUR1cmF0aW9uKSAgICAgICAgICxcbiAgICAgIFwib25TZWxlY3Rpb25DaGFuZ2VkXCI6ICAgICAgICAgICAgICAgZ3dfZGVib3VuY2UoZ3dfb25TZWxlY3Rpb25DaGFuZ2VkLCBkZWJvdW5jZUR1cmF0aW9uKSAgICAgICAgICxcbiAgICAgIFwib25SYW5nZVNlbGVjdGlvbkNoYW5nZWRcIjogICAgICAgICAgZ3dfZGVib3VuY2UoZ3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWQgLCBkZWJvdW5jZUR1cmF0aW9uKSAgLFxuICAgICAgXCJjb21wb25lbnRzXCI6IHtcbiAgICAgICAgXCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXJcIiAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNCb29sZWFuc1JlbmRlcmVyLFxuICAgICAgICBcIkJhc2ljQm9vbGVhbnNFZGl0b3JcIiAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0Jvb2xlYW5zRWRpdG9yICAsXG4gICAgICAgIFwiQmFzaWNCb29sZWFuc0ZpbHRlclwiICAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljQm9vbGVhbnNGaWx0ZXIgICxcbiAgICAgICAgXCJCYXNpY051bWJlcnNFZGl0b3JcIiAgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNOdW1iZXJzRWRpdG9yICAgLFxuICAgICAgICBcIkJhc2ljRGF0ZVRpbWVzRWRpdG9yXCIgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0RhdGVUaW1lc0VkaXRvciAsXG4gICAgICAgIFwiQmFzaWNEYXRlVGltZXNGaWx0ZXJcIiAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljRGF0ZVRpbWVzRmlsdGVyICxcbiAgICAgICAgXCJCYXNpY0ltYWdlc1JlbmRlcmVyXCIgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNJbWFnZXNSZW5kZXJlciAgLFxuICAgICAgICAvLyBsb2Rhc2ggdGVtcGxhdGUgcmVuZGVyXG4gICAgICAgIFwiR1dDdXN0b21IVE1MVGVtcGxhdGVSZW5kZXJlclwiOiBwYXJhbXMgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbXBpbGVkID0gdGVtcGxhdGUocGFyYW1zLl9fVEVNUExBVEVfXyk7XG4gICAgICAgICAgcmV0dXJuIGNvbXBpbGVkKHsgcGFyYW1zOiBwYXJhbXMgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgaWYgKFxuICAgIGZpbmFsT3B0aW9ucy5jb250ZXh0Lmhhc093blByb3BlcnR5KFwibmF2aWdhdGVUb05leHRDZWxsXCIpICYmXG4gICAgZmluYWxPcHRpb25zLmNvbnRleHQubmF2aWdhdGVUb05leHRDZWxsXG4gICkge1xuICAgIGZpbmFsT3B0aW9ucy5uYXZpZ2F0ZVRvTmV4dENlbGwgPSBwYXJhbXMgPT4geyByZXR1cm4gZ3dfbmF2aWdhdGVUb05leHRSb3coaWQsIHBhcmFtcykgfTtcbiAgfVxuXG4gIGlmIChnZXREYXRhUGF0aFRlbXBsYXRlICYmIGZpbmFsT3B0aW9ucy50cmVlRGF0YSkge1xuICAgIGNvbnN0IGdldERhdGFQYXRoVGVtcGxhdGVDb21wbGllZCA9IHRlbXBsYXRlKGdldERhdGFQYXRoVGVtcGxhdGUpO1xuICAgIGZpbmFsT3B0aW9ucy5nZXREYXRhUGF0aCA9IGRhdGEgPT4gZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkKHsgZGF0YTogZGF0YSB9KTtcbiAgfVxuXG4gIC8vIGV4dGVuZCB0aGUgY29sdW1uIGRlZmluaXRpb25zXG4gIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGZpbmFsT3B0aW9ucy5jb2x1bW5EZWZzKTtcblxuICByZXR1cm4gZmluYWxPcHRpb25zO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0ICdleHBvc2UtbG9hZGVyP2pzcyFqc3MvanNzLmpzJztcbmltcG9ydCB7Z3dfZ2V0RG9jdW1lbnR9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIEZvcm1hdGUgdGhlIGNzcyBzZWxlY3RvciBcbiAqIFxuICogQ2hlY2sgaWYgdGhlIGNzcyBzZWxlY3RvciBzdGFydHMgd2l0aCBkb3QgLCBpZiBub3QgYWRkIG9uZSBhbmQgcmV0dXJuIHRoZSBcbiAqIGZvcm1hdHRlZCBuYW1lIFxuICogXG4gKiBAcGFyYW0geyp9IHNlbGVjdG9yIFxuICovXG5mdW5jdGlvbiBmb3JtYXRTZWxlY3RvcihzZWxlY3Rvcil7XG4gIHJldHVybiBzZWxlY3Rvci5zdGFydHNXaXRoKFwiLlwiKSA/IHNlbGVjdG9yIDogYC4ke3NlbGVjdG9yfWA7XG59XG5cbi8qKlxuICogQWRkIG5ldyBzdHlsZSBcbiAqIFxuICogQWRkIG5ldyBzdHlsZSB0byB0aGUgZG9jdW1lbnQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBjc3Mgc2VsZWN0b3JcbiAqIEBwYXJhbSB7U3RyaW5nfSBydWxlcyBKc29uIHN0cmluZyBmb3IgYW4gYXJyYXkgb2YgcnVsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0eWxlKHNlbGVjdG9yLCBydWxlcykge1xuICBqc3MuZm9yRG9jdW1lbnQoZ3dfZ2V0RG9jdW1lbnQoKSkuc2V0KGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKSwgSlNPTi5wYXJzZShydWxlcykpO1xufVxuXG4vKipcbiAqIFJlbW92ZSBzdHlsZVxuICogXG4gKiBSZW1vdmUgYWRkZWQgc3R5bGUgZnJvbSB0aGVzIGRvY3VtZW50IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3IgY3NzIHNlbGVjdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVTdHlsZShzZWxlY3Rvcikge1xuICBqc3MuZm9yRG9jdW1lbnQoZ3dfZ2V0RG9jdW1lbnQoKSkucmVtb3ZlKGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKSk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIlxuaW1wb3J0IHtcbiAgZ3dfcGFyc2VOb2RlRnJvbUV2ZW50LFxuICBnd19zZW5kRXZlbnRcbn0gZnJvbSBcImV2ZW50cy91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldENvbnRleHRNZW51KGdyaWRJZCwgcGFyYW1zKSB7XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0TWVudUFjdGlvbiA9IChwYXJhbXMsIGlkKSA9PiB7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuXG4gICAgICBjb25zdCBub2RlID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KHBhcmFtcyk7XG4gICAgICBjb25zdCBjb2xJZCA9IHBhcmFtcy5jb2x1bW4uY29sSWQ7XG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgZ3dfc2VuZEV2ZW50KGd3X2dldEdyaWQoZ3JpZElkKS5vcHRpb25zLmNvbnRleHQsIHtcbiAgICAgICAgJ3R5cGUnOiAnZ3cuY29udGV4dG1lbnUnLFxuICAgICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoeyByOiBub2RlLCBjOiBjb2xJZCwgdjp2YWx1ZSwgaTppZCB9KVxuICAgICAgfSwgaWQpO1xuICAgIH07XG4gIH07XG5cbiAgY29uc3QgcGFyc2VNZW51ID0gKG1lbnUpID0+IHtcbiAgICBtZW51LmZvckVhY2goaXRlbSA9PiB7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHJldHVybjtcblxuICAgICAgaXRlbVsnYWN0aW9uJ10gPSBidWlsZENvbnRleHRNZW51QWN0aW9uKHBhcmFtcywgaXRlbS5pZCk7XG5cbiAgICAgIGlmIChpdGVtWydjc3NDbGFzc2VzJ10gJiYgIUFycmF5LmlzQXJyYXkoaXRlbVsnY3NzQ2xhc3NlcyddKSlcbiAgICAgICAgaXRlbVsnY3NzQ2xhc3NlcyddID0gaXRlbVsnY3NzQ2xhc3NlcyddLnNwbGl0KFwiIFwiKTtcblxuICAgICAgaWYgKGl0ZW1bJ3N1Yk1lbnUnXSkgaXRlbVsnc3ViTWVudSddID0gcGFyc2VNZW51KGl0ZW1bJ3N1Yk1lbnUnXSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVudTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VNZW51KGd3X2dldEdyaWQoZ3JpZElkKS5vcHRpb25zLmNvbnRleHQuY29udGV4dE1lbnUpO1xufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogU2hvdyBsb2FkaW5nIG92ZXJsYXlcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zaG93TG9hZGluZ092ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2hvd0xvYWRpbmdPdmVybGF5KCk7XG59XG5cbi8qKlxuICogU2hvdyAnbm8gcm93cycgb3ZlcmxheVxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3Nob3dOb1Jvd3NPdmVybGF5KGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNob3dOb1Jvd3NPdmVybGF5KCk7XG59XG5cbi8qKlxuICogQ2xlYXIgYWxsIG92ZXJsYXlzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaGlkZU92ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuaGlkZU92ZXJsYXkoKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfcGFyc2VOb2RlIH0gZnJvbSBcImV2ZW50cy91dGlsaXRpZXNcIjtcblxuY29uc3QgeyBkZWVwUGFyc2VKc29uIH0gPSByZXF1aXJlKFwiZGVlcC1wYXJzZS1qc29uXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0UXVpY2tGaWx0ZXIoaWQsIGZpbHRlcikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRRdWlja0ZpbHRlcihmaWx0ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZXhwYW5kQWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmV4cGFuZEFsbCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfY29sbGFwc2VBbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuY29sbGFwc2VBbGwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFZpc2libGVSb3coaWQsIGluZGV4LCBwb3NpdGlvbikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5lbnN1cmVJbmRleFZpc2libGUoaW5kZXgsIHBvc2l0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X25hdmlnYXRlVG9OZXh0Um93KGlkLCBwYXJhbXMpIHtcblxuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgbGV0IHByZXZpb3VzQ2VsbCA9IHBhcmFtcy5wcmV2aW91c0NlbGxQb3NpdGlvbjtcbiAgbGV0IHN1Z2dlc3RlZE5leHRDZWxsID0gcGFyYW1zLm5leHRDZWxsUG9zaXRpb247XG5cbiAgY29uc3QgS0VZX1VQID0gMzg7XG4gIGNvbnN0IEtFWV9ET1dOID0gNDA7XG4gIGNvbnN0IEtFWV9MRUZUID0gMzc7XG4gIGNvbnN0IEtFWV9SSUdIVCA9IDM5O1xuXG4gIHN3aXRjaCAocGFyYW1zLmtleSkge1xuICAgIGNhc2UgS0VZX0RPV046XG4gICAgICAvLyBzZXQgc2VsZWN0ZWQgY2VsbCBvbiBjdXJyZW50IGNlbGwgKyAxXG4gICAgICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZSgobm9kZSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDZWxsLnJvd0luZGV4ICsgMSA9PT0gbm9kZS5yb3dJbmRleCkge1xuICAgICAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1Z2dlc3RlZE5leHRDZWxsO1xuICAgIGNhc2UgS0VZX1VQOlxuICAgICAgLy8gc2V0IHNlbGVjdGVkIGNlbGwgb24gY3VycmVudCBjZWxsIC0gMVxuICAgICAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGUoKG5vZGUpID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ2VsbC5yb3dJbmRleCAtIDEgPT09IG5vZGUucm93SW5kZXgpIHtcbiAgICAgICAgICBub2RlLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWdnZXN0ZWROZXh0Q2VsbDtcbiAgICBjYXNlIEtFWV9MRUZUOlxuICAgIGNhc2UgS0VZX1JJR0hUOlxuICAgICAgcmV0dXJuIHN1Z2dlc3RlZE5leHRDZWxsO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgaGF2ZSBzdXBlciBzdHJhbmdlIGtleWJvYXJkXCIpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpIHtcbiAgcmV0dXJuIGRhdGFbZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LmdldFJvd05vZGVJZF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dzRGF0YShpZCwganNvbikge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5zZXRSb3dEYXRhKGpzb24pO1xuICBvcHRpb25zLnJvd0RhdGEgPSBqc29uO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93RGF0YShpZCwgcm93KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnVwZGF0ZVJvd0RhdGEoeyB1cGRhdGU6IFtyb3ddIH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfcmVtb3ZlUm93cyhpZCwgaW5kZXhlcykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgbGV0IGl0ZW1zID0gW107XG5cbiAgaW5kZXhlcy5mb3JFYWNoKGluZGV4ID0+IHtcbiAgICBpdGVtcy5wdXNoKG9wdGlvbnMuYXBpLmdldFJvd05vZGUoaW5kZXgpLmRhdGEpO1xuICB9KTtcblxuICBvcHRpb25zLmFwaS51cGRhdGVSb3dEYXRhKHsgcmVtb3ZlOiBpdGVtcyB9KTtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZFJvd3MoaWQsIGluZGV4LCByb3dzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnVwZGF0ZVJvd0RhdGEoeyBhZGQ6IHJvd3MsIGFkZEluZGV4OiBpbmRleCB9KTtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIGhlaWdodCBvZiBhbGwgcm93cyBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge051bWJlcn0gaGVpZ2h0IHRoZSByb3cgaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dzSGVpZ2h0KGlkLCBoZWlnaHQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGUocm93ID0+IHtcbiAgICByb3cuc2V0Um93SGVpZ2h0KGhlaWdodCk7XG4gIH0pO1xuICBvcHRpb25zLmFwaS5vblJvd0hlaWdodENoYW5nZWQoKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIGdpdmVuIHJvdyBoZWlnaHQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZCBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpbmRleCB0aGUgcm93IGluZGV4XG4gKiBAcGFyYW0ge051bWJlcn0gaGVpZ2h0IHRoZSBuZXcgaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dIZWlnaHQoaWQsIGluZGV4LCBoZWlnaHQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IHJvdyA9IG9wdGlvbnMuYXBpLmdldERpc3BsYXllZFJvd0F0SW5kZXgoaW5kZXgpO1xuXG4gIGlmIChyb3cpIHtcbiAgICByb3cuc2V0Um93SGVpZ2h0KGhlaWdodCk7XG4gICAgb3B0aW9ucy5hcGkub25Sb3dIZWlnaHRDaGFuZ2VkKCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gc2V0IGhlaWdodCBmb3Igcm93ICR7aW5kZXh9LiBSb3cgY2FuIG5vdCBiZSBmb3VuZGApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTZWxlY3RlZFJvd3MoaWQsIHJvd3MpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGVBZnRlckZpbHRlckFuZFNvcnQobm9kZSA9PiB7XG4gICAgaWYgKHJvd3MuaW5kZXhPZihub2RlLnJvd0luZGV4KSA+IC0xKSB7XG4gICAgICBub2RlLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgbm9kZS5leHBhbmRlZCA9IHRydWU7XG4gICAgfVxuICB9KTtcbiAgb3B0aW9ucy5hcGkub25Hcm91cEV4cGFuZGVkT3JDb2xsYXBzZWQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NlbGVjdEFsbChpZCwgZmlsdGVyZWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgaWYgKDEgPT09IGZpbHRlcmVkKSB7XG4gICAgb3B0aW9ucy5hcGkuc2VsZWN0QWxsRmlsdGVyZWQoKTtcbiAgfSBlbHNlIHtcbiAgICBvcHRpb25zLmFwaS5zZWxlY3RBbGwoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZGVzZWxlY3RBbGwoaWQsIGZpbHRlcmVkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIGlmICgxID09PSBmaWx0ZXJlZCkge1xuICAgIG9wdGlvbnMuYXBpLmRlc2VsZWN0QWxsRmlsdGVyZWQoKTtcbiAgfSBlbHNlIHtcbiAgICBvcHRpb25zLmFwaS5kZXNlbGVjdEFsbCgpO1xuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBjdXJyZW50IHNlbGVjdGVkIHJvd3NcbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJucyB7U3RyaW5nfSAgc2VsZWN0ZWQgcm93cyBhcyBKU09OXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRTZWxlY3RlZFJvd3MoaWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IG5vZGVzID0gb3B0aW9ucy5hcGkuZ2V0U2VsZWN0ZWROb2RlcygpO1xuICBsZXQgcGFyc2VkID0gW107XG5cbiAgbm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICBwYXJzZWQucHVzaChnd19wYXJzZU5vZGUobm9kZSwgb3B0aW9ucy5jb250ZXh0KSk7XG4gIH0pO1xuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShwYXJzZWQpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbGFzdCBzZWxlY3RlZCByb3dcbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBzZWxlY3RlZCByb3cgYXMgSlNPTlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0U2VsZWN0ZWRSb3coaWQpIHtcbiAgY29uc3Qgcm93cyA9IEpTT04ucGFyc2UoZ3dfZ2V0U2VsZWN0ZWRSb3dzKGlkKSk7XG5cbiAgaWYgKHJvd3MubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJvd3Nbcm93cy5sZW5ndGggLSAxXSk7XG4gIH1cblxuICByZXR1cm4gJyc7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTdGF0ZShpZCwgc3RhdGUpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgdHJ5IHtcbiAgICBvcHRpb25zLmNvbHVtbkFwaS5zZXRDb2x1bW5TdGF0ZShzdGF0ZS5jb2x1bW5zKTtcbiAgICBvcHRpb25zLmNvbHVtbkFwaS5zZXRDb2x1bW5Hcm91cFN0YXRlKHN0YXRlLmdyb3Vwcyk7XG4gICAgb3B0aW9ucy5hcGkuc2V0U29ydE1vZGVsKHN0YXRlLnNvcnQpO1xuICAgIG9wdGlvbnMuYXBpLnNldEZpbHRlck1vZGVsKHN0YXRlLmZpbHRlcnMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gcGFyc2UgZ3JpZCBzdGF0ZSBmcm9tIEpTT04nLCBlKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0U3RhdGUoaWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IGNvbHVtbnMgPSBvcHRpb25zLmNvbHVtbkFwaS5nZXRDb2x1bW5TdGF0ZSgpO1xuICBjb25zdCBncm91cHMgPSBvcHRpb25zLmNvbHVtbkFwaS5nZXRDb2x1bW5Hcm91cFN0YXRlKCk7XG4gIGNvbnN0IHNvcnQgPSBvcHRpb25zLmFwaS5nZXRTb3J0TW9kZWwoKTtcbiAgY29uc3QgZmlsdGVycyA9IG9wdGlvbnMuYXBpLmdldEZpbHRlck1vZGVsKCk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29sdW1ucyxcbiAgICAgIGdyb3VwcyxcbiAgICAgIHNvcnQsXG4gICAgICBmaWx0ZXJzXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBjb252ZXJ0IHRoZSBncmlkIHN0YXRlIHRvIGpzb24nLCBlKTtcbiAgfVxufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3RhdHVzYmFyQ29tcG9uZW50VmlzaWJpbGl0eShpZCwga2V5LCB2aXNpYmlsaXR5KSB7XG5cdGd3X2dldEdyaWQoaWQpXG5cdFx0Lm9wdGlvbnNcblx0XHQuYXBpXG5cdFx0LmdldFN0YXR1c1BhbmVsKGtleSlcblx0XHQuc2V0VmlzaWJsZShCb29sZWFuKHZpc2liaWxpdHkpKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFNpZGVCYXJWaXNpYmxlKGlkLCB2YWx1ZSkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRTaWRlQmFyVmlzaWJsZShCb29sZWFuKHZhbHVlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19vcGVuVG9vbHBhbmVsKGdyaWRJZCwgdG9vbHBhbmVsSWQpIHtcbiAgZ3dfZ2V0R3JpZChncmlkSWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLm9wZW5Ub29sUGFuZWwodG9vbHBhbmVsSWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfY2xvc2VUb29scGFuZWwoZ3JpZElkLCB0b29scGFuZWxJZCkge1xuICBnd19nZXRHcmlkKGdyaWRJZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuY2xvc2VUb29sUGFuZWwodG9vbHBhbmVsSWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0RnVuY3Rpb25zUmVhZE9ubHkoaWQsIHJlYWRvbmx5KSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldEZ1bmN0aW9uc1JlYWRPbmx5KEJvb2xlYW4ocmVhZG9ubHkpKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLyoqXG4gKiBHZXQgZG9jdW1lbnQgXG4gKiBcbiAqIEdldCB0aGUgZG9jdW1lbnQgaW5zdGFuY2UgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IEJCaiBlbnZcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBEb2N1bWVudCBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0RG9jdW1lbnQoKSB7XG4gIHJldHVybiB0eXBlb2YgJGRvYyAhPT0gJ3VuZGVmaW5lZCcgPyAkZG9jIDogZG9jdW1lbnQ7XG59XG5cbi8qKlxuICogR2V0IHdpbmRvdyBcbiAqIFxuICogR2V0IHRoZSB3aW5kb3cgaW5zdGFuY2UgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IEJCaiBlbnZcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBXaW5kb3cgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFdpbmRvdygpIHtcbiAgcmV0dXJuIHR5cGVvZiAkd2luICE9PSAndW5kZWZpbmVkJyA/ICR3aW4gOiB3aW5kb3c7XG59XG5cbi8qKlxuICogRXNjYXBlIFZhbHVlIFxuICogXG4gKiBDaGFuZ2UgbnVsbCBhbmQgdW5kZWZpbmVkIHRvIGVtcHR5IHN0cmluZyBcbiAqIFxuICogQHBhcmFtIHsqfSB2YWx1ZSBcbiAqIFxuICogQHJldHVybiB7U3RyaW5nfSBlc2NhcGVkIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19lc2NhcGUodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6ICcnO1xufVxuXG4vKipcbiAqIEdldCBHcmlkIFxuICogXG4gKiBSZXRyaWV2ZSB0aGUgZ3JpZCBpbnN0YW5jZSBmcm9tIGB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0YCBhcnJheSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fG51bGx9IFRoZSBncmlkJ3MgaW5zdGFuY2Ugb2ZyIG51bGxcbiAqIEB0aHJvd3MgVHlwZUVycm9yIHdoZW4gdGhlIGdyaWQgaW5zdGFuY2UgaXMgbm90IGZvdW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRHcmlkKGlkKSB7XG4gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgPSB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0IHx8IHt9O1xuICBjb25zdCBncmlkID0gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRbaWRdIHx8IG51bGw7XG5cbiAgaWYgKCFncmlkKSB7XG4gICAgY29uc3QgcmVnaXN0ZXJlZEdyaWRzID0gSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmtleXMod2luZG93LkJCakdyaWRFeFdpZGdldCkpO1xuICAgIC8vZ2V0RnVuY0FyZ3MoZnVuYykuZm9yRWFjaCgoa2V5LCBpKSA9PiBhcmdzT2JqW2tleV0gPSBhcmdzW2ldKTtcbiAgICBcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuYFxcblxcbltHcmlkIE5vdCBGb3VuZF0gVGhlIG1ldGhvZCBhc2tlZCBmb3Igbm9uLWV4aXN0ZW50IGdyaWQgaW5zdGFuY2UuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXF1aXJlZCBHcmlkIElkIDogJHtpZH0gICBcblJlZ2lzdGVyZWQgR3JpZHMgOiAke3JlZ2lzdGVyZWRHcmlkc31cbmApO1xuICB9XG4gIFxuICByZXR1cm4gZ3JpZDtcbn1cblxuLyoqXG4gKiBBZGQgR3JpZCBcbiAqIFxuICogU3RvcmUgYSBuZXcgZ3JpZCBpbnN0YW5jZSBieSBpbiB0aGUgYHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRgIGFycmF5IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgIFRoZSBncmlkJ3Mgb3B0aW9uc1xuICogXG4gKiBAcmV0dXJuIHtPYmplY3R9IFN0b3JlZCBncmlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRHcmlkKGlkLCBvcHRpb25zKSB7XG4gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgPSB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0IHx8IHt9O1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0W2lkXSA9IG9wdGlvbnM7XG4gIFxuICByZXR1cm4gZ3dfZ2V0R3JpZChpZCk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG4vLyBzZWxlY3Rpb24gY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0NMSUNLID0gNjk7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyA9IDUyO1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfQ0xJQ0sgPSA1MDAxO1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLID0gNTAwMjtcblxuLy8gZWRpdGluZyBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCA9IDUwMDM7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQgPSA1MDA0O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCA9IDUwMDU7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCAgPSA1MDA2O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUT1BQRUQgPSA1MDA3O1xuXG4vLyBzdGF0ZSBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRSA9IDUwMDg7XG5cbi8vIHJhbmdlIHNlbGVjdGlvblxuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEID0gNTAwOTsiLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X3NlbmRFdmVudCwgZ3dfcGFyc2VOb2RlRnJvbUV2ZW50IH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19lc2NhcGUsIGd3X2dldEdyaWQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuaW1wb3J0IHtcbiAgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUQVJURUQsXG4gIEdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVELFxuICBHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQsXG4gIEdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQsXG4gIEdXX0VWRU5UX1JPV19FRElUSU5HX1NUT1BQRURcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IENFTExfRURJVElOR19FVkVOVFNfTUFQID0ge1xuICAnY2VsbEVkaXRpbmdTdGFydGVkJyAgOiBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCxcbiAgJ2NlbGxFZGl0aW5nU3RvcHBlZCcgIDogR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQsXG4gICdjZWxsVmFsdWVDaGFuZ2VkJyAgOiBHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQsXG59O1xuXG5jb25zdCBST1dfRURJVElOR19FVkVOVFNfTUFQID0ge1xuICAncm93RWRpdGluZ1N0YXJ0ZWQnICA6IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQsXG4gICdyb3dFZGl0aW5nU3RvcHBlZCcgIDogR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCxcbn07XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYGNlbGxFZGl0aW5nU3RhcnRlZGAgLCBgY2VsbEVkaXRpbmdTdG9wcGVkYCBhbmQgXG4gKiBgY2VsbFZhbHVlQ2hhbmdlZGAgZXZlbnRzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxFZGl0aW5nU3RhcnRlZFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxFZGl0aW5nU3RvcHBlZFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxWYWx1ZUNoYW5nZWRcbiAqIFxuICogQGZpcmVzIGd3LmNlbGxFZGl0aW5nU3RhcnRlZFxuICogQGZpcmVzIGd3LmNlbGxFZGl0aW5nU3RvcHBlZFxuICogQGZpcmVzIGd3LmNlbGxWYWx1ZUNoYW5nZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkge1xuXG4gIGNvbnN0IHZhbHVlID0gZ3dfZXNjYXBlKGUubmV3VmFsdWUpIHx8IGd3X2VzY2FwZShlLnZhbHVlKTtcbiAgY29uc3Qgb2xkVmFsdWUgPSBnd19lc2NhcGUoZS5vbGRWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUubmV3VmFsdWUpIHx8IGd3X2VzY2FwZShlLnZhbHVlKTtcblxuICAvL2lmICh2YWx1ZSA9PT0gb2xkVmFsdWUpIHJldHVybjtcblxuICBjb25zdCBwYXJzZWQgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSk7XG4gIGNvbnN0IHR5cGUgPSBlLnR5cGU7XG4gIGNvbnN0IGNvbElkID0gZS5jb2x1bW4uY29sSWQ7XG5cbiAgaWYgKHBhcnNlZCkge1xuICAgIGd3X3NlbmRFdmVudChcbiAgICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCxcbiAgICAgIHtcbiAgICAgICAgJ3R5cGUnOiBgZ3cuJHt0eXBlfWAsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgcjogcGFyc2VkLCAvLyByb3dcbiAgICAgICAgICB2OiB2YWx1ZSwgLy8gbmV3IHZhbHVlXG4gICAgICAgICAgbzogb2xkVmFsdWUsIC8vIG9sZCB2YWx1ZVxuICAgICAgICAgIGM6IGNvbElkIC8vIGNvbHVtblxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIENFTExfRURJVElOR19FVkVOVFNfTUFQW3R5cGVdXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGhhbmRsZXIgZm9yIHRoZSBncmlkIGByb3dFZGl0aW5nU3RhcnRlZGAgLCBgcm93RWRpdGluZ1N0b3BwZWRgIGV2ZW50c1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yb3dFZGl0aW5nU3RhcnRlZFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0VkaXRpbmdTdG9wcGVkXG4gKiBcbiAqIEBmaXJlcyBndy5yb3dFZGl0aW5nU3RhcnRlZFxuICogQGZpcmVzIGd3LnJvd0VkaXRpbmdTdG9wcGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkge1xuICBjb25zdCBwYXJzZWQgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSk7XG5cbiAgaWYgKHBhcnNlZCkge1xuICAgIGNvbnN0IHR5cGUgPSBlLnR5cGU7XG4gICAgZ3dfc2VuZEV2ZW50KFxuICAgICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgICAge1xuICAgICAgICAndHlwZSc6IGBndy4ke2UudHlwZX1gLFxuICAgICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkocGFyc2VkKVxuICAgICAgfSxcbiAgICAgIFJPV19FRElUSU5HX0VWRU5UU19NQVBbdHlwZV1cbiAgICApO1xuICB9XG59XG5cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHtcblx0Z3dfb25Sb3dEb3VibGVDbGlja2VkLFxuXHRnd19vblNlbGVjdGlvbkNoYW5nZWQsXG5cdGd3X29uQ2VsbENsaWNrRXZlbnQsXG5cdGd3X29uUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkXG59IGZyb20gXCIuL3NlbGVjdGlvbnNcIjtcblxuaW1wb3J0IHtcblx0Z3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuXHRnd19vblJvd0VkaXRpbmdFdmVudFxufSBmcm9tIFwiLi9lZGl0aW5nXCI7XG5cbmltcG9ydCB7XG5cdGd3X29uUmVhZHlFdmVudFxufSBmcm9tIFwiLi9zdGF0ZVwiO1xuXG5pbXBvcnQge1xuXHRnd19kZWJvdW5jZVxufSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IHtcblx0Z3dfb25Sb3dEb3VibGVDbGlja2VkLFxuXHRnd19vblNlbGVjdGlvbkNoYW5nZWQsXG5cdGd3X29uUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLFxuXHRnd19vbkNlbGxDbGlja0V2ZW50LFxuXHRnd19vbkNlbGxFZGl0aW5nRXZlbnQsXG5cdGd3X29uUm93RWRpdGluZ0V2ZW50LFxuXHRnd19vblJlYWR5RXZlbnQsXG5cdGd3X2RlYm91bmNlXG59OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9ST1dfQ0xJQ0ssXG4gIEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLLFxuICBHV19FVkVOVF9SQU5HRV9TRUxFQ1RJT05fQ0hBTkdFRFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgQ0VMTF9DTElDS0lOR19FVkVOVFNfTUFQID0ge1xuICAnY2VsbENsaWNrZWQnOiBHV19FVkVOVF9DRUxMX0NMSUNLLFxuICAnY2VsbERvdWJsZUNsaWNrZWQnOiBHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyxcbn07XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYHJvd0RvdWJsZUNsaWNrZWRgIGV2ZW50XG4gKiBcbiAqIFRoZSBmdW5jdGlvbiB3aWxsIHNlbmQgYSBiYmogZXZlbnQgd2l0aCBgR1dfTk9ERWAgYXMgcGF5bG9hZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gZSBUaGUgZXZlbnQncyBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yb3dEb3VibGVDbGlja2VkXG4gKiBAZmlyZXMgZ3cucm93RG91YmxlQ2xpY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUm93RG91YmxlQ2xpY2tlZChlKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBlLmFwaS5ncmlkT3B0aW9uc1dyYXBwZXIuZ3JpZE9wdGlvbnMuY29udGV4dDtcbiAgZ3dfc2VuZEV2ZW50KGNvbnRleHQsIHtcbiAgICAndHlwZSc6ICdndy5yb3dEb3VibGVDbGljaycsXG4gICAgJ2RldGFpbCc6ICcnXG4gIH0sIEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0spO1xufVxuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgdGhlIGdyaWQgYHNlbGVjdGlvbkNoYW5nZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuc2VsZWN0aW9uQ2hhbmdlZFxuICogQGZpcmVzIGd3LnJvd1NlbGVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25TZWxlY3Rpb25DaGFuZ2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJvd1NlbGVjdCcsXG4gICAgJ2RldGFpbCc6ICcnXG4gIH0sIEdXX0VWRU5UX1JPV19DTElDSyk7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgcmFuZ2VTZWxlY3Rpb25DaGFuZ2VkYCBldmVudFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gZSBcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJhbmdlU2VsZWN0aW9uQ2hhbmdlZFxuICogQGZpcmVzIGd3LnJhbmdlU2VsZWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZChlKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBlLmFwaS5ncmlkT3B0aW9uc1dyYXBwZXIuZ3JpZE9wdGlvbnMuY29udGV4dDtcbiAgZ3dfc2VuZEV2ZW50KGNvbnRleHQsIHtcbiAgICAndHlwZSc6ICdndy5yYW5nZVNlbGVjdGlvbicsXG4gICAgJ2RldGFpbCc6ICcnXG4gIH0sIEdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEKTtcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBjZWxsQ2xpY2tFdmVudGAgJiBgY2VsbERvdWJsZUNsaWNrZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxDbGlja0V2ZW50XG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbERvdWJsZUNsaWNrZWRcbiAqIFxuICogQGZpcmVzIGd3LmNlbGxDbGlja2VkXG4gKiBAZmlyZXMgZ3cuY2VsbERvdWJsZUNsaWNrZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uQ2VsbENsaWNrRXZlbnQoaWQsIGUpIHtcbiAgY29uc3QgcGFyc2VkID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KGUpO1xuXG4gIGlmIChwYXJzZWQpIHtcbiAgICBjb25zdCB0eXBlID0gZS50eXBlO1xuICAgIGd3X3NlbmRFdmVudChnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsIHtcbiAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICByOiBwYXJzZWQsIC8vIHJvd1xuICAgICAgICB2OiBnd19lc2NhcGUoZS52YWx1ZSksICAvLyBuZXcgdmFsdWVcbiAgICAgICAgbzogZ3dfZXNjYXBlKGUudmFsdWUpLCAvLyBvZGwgdmFsdWVcbiAgICAgICAgYzogZS5jb2x1bW4uY29sSWQgLy8gY29sdW1uc1xuICAgICAgfSlcbiAgICB9LCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVBbdHlwZV0pO1xuICB9XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X3NlbmRFdmVudCwgZ3dfZGVib3VuY2UgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuaW1wb3J0IHtcbiAgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0Vcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogT24gUmVhZHkgRXZlbnQgXG4gKiBcbiAqIFRoZSBtZXRob2Qgd2lsbCBpZ25vcmUgZmlyc3QgcmVhZHkgZXZlbnQgYW5kIHRoZW4gcmVnaXN0ZXIgYSBkZWJvdW5jZWQgc3RhdGVcbiAqIGNhbGxiYWNrIHRvIHNlbmQgc3RhdGUgZXZlbnRzIHRvIEJCalxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJlYWR5RXZlbnQoaWQsIGUpIHtcblxuICAvLyByZWdpc3RlciBzdGF0ZSBkZWJvdW5jZSBtb25pdG9yIFxuICBjb25zdCBzdGF0ZURlYm91bmNlID0gZ3dfZGVib3VuY2UoY2hhbmdlRXZlbnQgPT4ge1xuXG4gICAgLy8gV2Ugc2tpcCB0aGUgZmlyc3QgcmVuZGVyIHN0YXRlIGNoYW5nZXNcbiAgICAvLyBpZiAoIWd3X2dldEdyaWQoaWQpLmhhc093blByb3BlcnR5KCdpc0ZpcnN0UmVuZGVyJykpIHtcbiAgICAvLyBcdGd3X2dldEdyaWQoaWQpLmlzRmlyc3RSZW5kZXIgPSB0cnVlO1xuICAgIC8vIFx0cmV0dXJuO1xuICAgIC8vIH1cblxuICAgIGd3X29uU3RhdGVDaGFuZ2VkKGlkLCBjaGFuZ2VFdmVudCk7XG4gIH0sIDUwMCk7XG5cbiAgW1xuICAgICdzb3J0Q2hhbmdlZCcsXG4gICAgJ2ZpbHRlckNoYW5nZWQnLFxuICAgICdjb2x1bW5WaXNpYmxlJyxcbiAgICAnY29sdW1uUGlubmVkJyxcbiAgICAnY29sdW1uUmVzaXplZCcsXG4gICAgJ2NvbHVtbk1vdmVkJyxcbiAgICAnbmV3Q29sdW1uc0xvYWRlZCcsXG4gICAgJ2dyaWRDb2x1bW5zQ2hhbmdlZCcsXG4gICAgJ2Rpc3BsYXllZENvbHVtbnNDaGFuZ2VkJyxcbiAgICAndmlydHVhbENvbHVtbnNDaGFuZ2VkJyxcbiAgICAnY29sdW1uRXZlcnl0aGluZ0NoYW5nZWQnLFxuICAgIC8vJ2dyaWRTaXplQ2hhbmdlZCcsXG4gICAgJ2V4cGFuZE9yQ29sbGFwc2VBbGwnLFxuICAgIC8vJ3Rvb2xQYW5lbFZpc2libGVDaGFuZ2VkJ1xuICBdLmZvckVhY2goZXZlbnQgPT4ge1xuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIHN0YXRlRGVib3VuY2UpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc3RhdGVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuc3RhdGVDaGFuZ2VkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnN0YXRlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25TdGF0ZUNoYW5nZWQoaWQsIGUpIHtcbiAgZ3dfc2VuZEV2ZW50KFxuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCxcbiAgICB7XG4gICAgICAndHlwZSc6ICdndy5zdGF0ZUNoYW5nZWQnLFxuICAgICAgJ2RldGFpbCc6IFtdXG4gICAgfSxcbiAgICBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRVxuICApO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuXG4vKiogaHR0cHM6Ly9kYXZpZHdhbHNoLm5hbWUvamF2YXNjcmlwdC1kZWJvdW5jZS1mdW5jdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2RlYm91bmNlKGZ1bmMsIHdhaXQsIGltbWVkaWF0ZSkge1xuICB2YXIgdGltZW91dDtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgdmFyIGxhdGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICB9O1xuICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0O1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCk7XG4gICAgaWYgKGNhbGxOb3cpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gIH07XG59XG5cbi8qKlxuICogU2VuZCBhbiBldmVudCB0byBCQmogc2lkZSBcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgdHJpZ2dlciBhIGN1c3RvbSBjbGljayBldmVudCBvbiB0aGUgYGV2ZW50LWJyaWRnZS0ke2lkfWAgZGl2XG4gKiB0aGVuIHRoZSBkaXYgd2lsbCB1c2UgYmFzaXNEaXNwYXRjaEN1c3RvbUV2ZW50IHRvIGRpc3BhdGNoIHRoZSBldmVudCB0byBCQmpcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gY29udGV4dCB0aGUgZ3JpZCdzIGNvbnRleHRcbiAqIEBwYXJhbSB7Kn0gcGF5bG9hZCB0aGUgZXZlbnQgcGF5bG9hZFxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50SWQgdGhlIGV2ZW50J3MgaWQgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZW5kRXZlbnQoY29udGV4dCwgcGF5bG9hZCA9IHt9LCBldmVudElkID0gW10pIHtcbiAgY29uc3QgcmVnaXN0ZXJlZEludGVyZXN0cyA9IGNvbnRleHQuaW50ZXJlc3RzIHx8IFtdO1xuXG4gIGlmIChyZWdpc3RlcmVkSW50ZXJlc3RzLmluY2x1ZGVzKGV2ZW50SWQpKSB7XG4gICAgY29uc3QgZGl2ID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChgZXZlbnQtYnJpZGdlLSR7Y29udGV4dC5pZH1gKTtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY2xpY2snKTtcblxuICAgIGV2ZW50LnBheWxvYWQgPSBwYXlsb2FkO1xuICAgIGRpdi5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWQgXG4gKiBAcHJvcGVydHkge251bWJlcn0gaW5kZXggXG4gKiBAcHJvcGVydHkge251bWJlcn0gcGFyZW50S2V5IFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNoaWxkSW5kZXggXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHNlbGVjdGVkIFxuICovXG5cbi8qKlxuICogUGFyc2UgYSBub2RlIGFzIEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcGFyYW0ge09iamVjdH0gbm9kZSBhZyBncmlkIG5vZGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb250ZXh0ICBhZyBncmlkIGNvbnRleHRcbiAqIFxuICogQHJldHVybnMge0JCakdyaWRFeFdpZGdldFJvd3xCb29sZWFufSBvYmplY3QgZm9ybWF0dGVkIGFzIEJCakdyaWRFeFdpZGdldFJvdy5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgaWYgdGhlIG5vZGUgaXMgZm9yIGdyb3VwIG5vZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlTm9kZShub2RlLCBjb250ZXh0KSB7XG5cbiAgaWYgKHRydWUgPT09IG5vZGUuZ3JvdXApIHJldHVybiBmYWxzZTsgLy8gd2UgZG8gbm90IG1hbmFnZSBncm91cHNcblxuICBjb25zdCByb3dOb2RlSWQgPSBjb250ZXh0Lmhhc093blByb3BlcnR5KCdnZXRSb3dOb2RlSWQnKSAmJiBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdID9cbiAgICBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdIDogJyc7XG5cbiAgcmV0dXJuIHtcbiAgICBpOiByb3dOb2RlSWQgPyByb3dOb2RlSWQgOiBub2RlLmlkLCAvLyBpZFxuICAgIHg6IHJvd05vZGVJZCwgLy8gaW5kZXhcbiAgICBwOiBub2RlLmhhc093blByb3BlcnR5KCdwYXJlbnQnKSAmJiBub2RlLnBhcmVudC5oYXNPd25Qcm9wZXJ0eSgna2V5JykgP1xuICAgICAgbm9kZS5wYXJlbnQua2V5IDogJycsIC8vIHBhcmVudCBrZXlcbiAgICBjOiBub2RlLmNoaWxkSW5kZXgsIC8vY2hpbGRJbmRleFxuICAgIHM6IEJvb2xlYW4obm9kZS5zZWxlY3RlZCksIC8vIHNlbGVjdGVkIFxuICB9O1xufVxuXG4vKipcbiAqIFBhcnNlIG5vZGUgZnJvbSBldmVudCBcbiAqIFxuICogUGFyc2Ugbm9kZSBpbiB0aGUgcGFTc2VkIGV2ZW50IGFzIEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcGFyYW0ge09iamVjdH0gZVxuICogXG4gKiBAcmV0dXJucyB7QkJqR3JpZEV4V2lkZ2V0Um93fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KGUpIHtcbiAgcmV0dXJuIGd3X3BhcnNlTm9kZShlLm5vZGUsIGUuY29udGV4dCk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCAnZXhwb3NlLWxvYWRlcj9CYXNpcy5BZ0dyaWRDb21wb25lbnRzIWFnLWdyaWQtY29tcG9uZW50cy9kaXN0L2FnYy1iYXNpYy5idW5kbGUuanMnO1xuXG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy1ncmlkLmNzcycpO1xuXG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1ib290c3RyYXAuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1ibHVlLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWZyZXNoLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtbWF0ZXJpYWwuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3MnKTtcblxucmVxdWlyZSgnLi9zdHlsZS9jbGFzc2VzLmNzcycpO1xuXG5leHBvcnQgKiBmcm9tICcuL3BvbHlmaWxscy5qcyc7XG5leHBvcnQgKiBmcm9tIFwiLi9hcGlcIjtcbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLyoqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9DdXN0b21FdmVudC9DdXN0b21FdmVudCAgKi9cbihmdW5jdGlvbiAoKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBmYWxzZTsgLy9JZiBub3QgSUVcblxuICBmdW5jdGlvbiBDdXN0b21FdmVudChldmVudCwgcGFyYW1zKSB7XG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHsgYnViYmxlczogZmFsc2UsIGNhbmNlbGFibGU6IGZhbHNlLCBkZXRhaWw6IHVuZGVmaW5lZCB9O1xuICAgIHZhciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQ3VzdG9tRXZlbnQnKTtcbiAgICBldnQuaW5pdEN1c3RvbUV2ZW50KGV2ZW50LCBwYXJhbXMuYnViYmxlcywgcGFyYW1zLmNhbmNlbGFibGUsIHBhcmFtcy5kZXRhaWwpO1xuICAgIHJldHVybiBldnQ7XG4gIH1cblxuICBDdXN0b21FdmVudC5wcm90b3R5cGUgPSB3aW5kb3cuRXZlbnQucHJvdG90eXBlO1xuXG4gIHdpbmRvdy5DdXN0b21FdmVudCA9IEN1c3RvbUV2ZW50O1xufSkoKTtcbiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9jbGFzc2VzLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9jbGFzc2VzLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2NsYXNzZXMuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ== \ 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 c2b4b88a..2366ebd2 100644 --- a/client/dist/bbj-grid-widget.min.js +++ b/client/dist/bbj-grid-widget.min.js @@ -592,11 +592,11 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!**************************!*\ !*** ./src/api/cells.js ***! \**************************/ -/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_startEditingCell=function(e,n,a,r,o){var g=(0,t.gw_getGrid)(e).options;g.api.setFocusedCell(Number(n),a),g.api.startEditingCell({rowIndex:Number(n),colKey:a,keyPress:Number(r),charPress:o})},n.gw_stopEditing=function(e,n){(0,t.gw_getGrid)(e).options.api.stopEditing(n)},n.gw_editNextCell=function(e){(0,t.gw_getGrid)(e).options.api.tabToNextCell()},n.gw_editPreviousCell=function(e){(0,t.gw_getGrid)(e).options.api.tabToPreviousCell()},n.gw_setFocusedCell=function(e,n,a){var r=(0,t.gw_getGrid)(e).options,o=n?Number.isInteger(+n)?+n:r.api.getRowNode(n).rowIndex:0,g=a||r.columnApi.getAllGridColumns()[0].colId;(0,t.gw_getGrid)(e).options.api.setFocusedCell(o,g)},n.gw_getRangeSelections=function(e){var n=(0,t.gw_getGrid)(e).options,a=n.context,r=n.api,o=r.getCellRanges(),g=r.getModel(),l=[];return o.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),o=[],i=t;i<=r;i++){var d=g.getRow(i);if(d){var p=gw_parseNode(d,a);p&&o.push(p)}}o.length&&n.length&&l.push({r:o,c:n})}),JSON.stringify(l)},n.gw_parseAddCellRange=r,n.gw_addCellRange=function(e,n){options.api.addCellRange(r(e,n))},n.gw_clearRangeSelection=function(e){(0,t.gw_getGrid)(e).options.api.clearRangeSelection()};var t=a(/*! ./utilities */"./src/api/utilities.js");function r(e,n){var a=(0,t.gw_getGrid)(e).options,r=deepParseJson(JSON.stringify(n)),o=r.start?Number.isInteger(+r.start)?+r.start:a.api.getRowNode(r.start).rowIndex:0,g=r.end?Number.isInteger(+r.end)?+r.end:a.api.getRowNode(r.end).rowIndex:a.rowData.length-1;return{rowStartIndex:Math.abs(o),rowEndIndex:Math.abs(g),columns:r.columns}}},"./src/api/charts.js": +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_startEditingCell=function(e,n,a,r,o){var g=(0,t.gw_getGrid)(e).options;g.api.setFocusedCell(Number(n),a),g.api.startEditingCell({rowIndex:Number(n),colKey:a,keyPress:Number(r),charPress:o})},n.gw_stopEditing=function(e,n){(0,t.gw_getGrid)(e).options.api.stopEditing(n)},n.gw_editNextCell=function(e){(0,t.gw_getGrid)(e).options.api.tabToNextCell()},n.gw_editPreviousCell=function(e){(0,t.gw_getGrid)(e).options.api.tabToPreviousCell()},n.gw_setFocusedCell=function(e,n,a){var r=(0,t.gw_getGrid)(e).options,o=n?Number.isInteger(+n)?+n:r.api.getRowNode(n).rowIndex:0,g=a||r.columnApi.getAllGridColumns()[0].colId;(0,t.gw_getGrid)(e).options.api.setFocusedCell(o,g)},n.gw_getRangeSelections=function(e){var n=(0,t.gw_getGrid)(e).options,a=n.context,o=n.api,g=o.getCellRanges(),l=o.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),o=Math.max(e.startRow.rowIndex,e.endRow.rowIndex),g=[],d=t;d<=o;d++){var p=l.getRow(d);if(p){var c=(0,r.gw_parseNode)(p,a);c&&g.push(c)}}g.length&&n.length&&i.push({r:g,c:n})}),JSON.stringify(i)},n.gw_parseAddCellRange=g,n.gw_addCellRange=function(e,n){var a=(0,t.gw_getGrid)(e).options;a.api.addCellRange(g(a,n))},n.gw_clearRangeSelection=function(e){(0,t.gw_getGrid)(e).options.api.clearRangeSelection()};var t=a(/*! ./utilities */"./src/api/utilities.js"),r=a(/*! events/utilities */"./src/events/utilities.js"),o=a(/*! deep-parse-json */"./node_modules/deep-parse-json/index.js").deepParseJson;function g(e,n){var a=o(JSON.stringify(n)),t=a.start?Number.isInteger(+a.start)?+a.start:e.api.getRowNode(a.start).rowIndex:0,r=a.end?Number.isInteger(+a.end)?+a.end:e.api.getRowNode(a.end).rowIndex:e.rowData.length-1;return{rowStartIndex:Math.abs(t),rowEndIndex:Math.abs(r),columns:a.columns}}},"./src/api/charts.js": /*!***************************!*\ !*** ./src/api/charts.js ***! \***************************/ -/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_getChartToolbarItems=function(e){return e.api.gridOptionsWrapper.gridOptions.context.chartToolbarItems||[]},n.gw_addChartRange=function(e,n){var a=gw_getGrid(e).options,t=deepParseJson(JSON.stringify(cellRange)),r=t.start?Number.isInteger(+t.start)?+t.start:a.api.getRowNode(t.start).rowIndex:0,o=t.end?Number.isInteger(+t.end)?+t.end:a.api.getRowNode(t.end).rowIndex:a.rowData.length-1;a.api.addCellRange({rowStartIndex:Math.abs(r),rowEndIndex:Math.abs(o),columns:t.columns})}},"./src/api/columns.js": +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_getChartToolbarItems=function(e){return e.api.gridOptionsWrapper.gridOptions.context.chartToolbarItems||[]}},"./src/api/columns.js": /*!****************************!*\ !*** ./src/api/columns.js ***! \****************************/ diff --git a/client/dist/report.html b/client/dist/report.html index b2504355..3b179b65 100644 --- a/client/dist/report.html +++ b/client/dist/report.html @@ -56,7 +56,7 @@
diff --git a/client/src/api/cells.js b/client/src/api/cells.js index 4c9822bd..835b22c3 100644 --- a/client/src/api/cells.js +++ b/client/src/api/cells.js @@ -7,6 +7,7 @@ */ import { gw_getGrid } from "./utilities"; +import { gw_parseNode } from "events/utilities"; const { deepParseJson } = require("deep-parse-json"); @@ -129,24 +130,34 @@ export function gw_getRangeSelections(id) { } /** - * Add new cell range + * Parse the cells range in a format the grid can understand when it is passed + * to `api.addCellRange` * - * @param {Number} id grid's id + * @param {Object} options The grid's options * @param {Object} range bounded or unbounded range model */ -export function gw_addCellRange(id, range) { - const options = gw_getGrid(id).options; +export function gw_parseAddCellRange(options , range) { const pr = deepParseJson(JSON.stringify(range)); const start = !(pr.start || null) ? 0 : (Number.isInteger(+pr.start) ? +pr.start : options.api.getRowNode(pr.start).rowIndex); const end = !(pr.end || null) ? (options.rowData.length - 1) : (Number.isInteger(+pr.end) ? +pr.end : options.api.getRowNode(pr.end).rowIndex); - options.api.addCellRange({ + return { rowStartIndex: Math.abs(start), rowEndIndex: Math.abs(end), columns: pr.columns - }); + }; +} +/** + * Add new cell range + * + * @param {Number} id grid's id + * @param {Object} range bounded or unbounded range model + */ +export function gw_addCellRange(id, range) { + const options = gw_getGrid(id).options; + options.api.addCellRange(gw_parseAddCellRange(options, range)); } /**